원하는 행동
403 Forbidden 메시지를 받지 않고 브라우저에서 localhost에 액세스할 수 있습니다.
현재 행동
브라우저에서 localhost로 이동하면 다음이 반환됩니다.
Forbidden
You don't have permission to access / on this server.
Apache/2.4.7 (Ubuntu) Server at localhost Port 80
재현 단계
Linux Mint 17 Cinnamon
다음 단계를 사용하여 로컬 서버를 설정했습니다.
$ sudo apt-get install apache2 php5
$ sudo apt-get install php5-dev php5-cli
$ sudo apt-get install php-pear
$ pear version
// PEAR Version: 1.9.4
// PHP Version: 5.5.9-1ubuntu4.5
// Zend Engine Version: 2.5.0
// Running on: Linux my-computer 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64
$ pecl version ## as above
$ sudo pecl install mongo ## this installs the mongo driver
이때 [no]를 포함하라는 메시지가 표시되어 Enter를 눌렀습니다.
$ cd /etc/php5/apache2
$ sudo vi php.ini
파일 끝에 다음을 추가했습니다. extension=mongo.so
$ sudo /etc/init.d/apache2 restart
어제 이 과정을 마치고 성공적으로 localhost에 접속할 수 있었습니다.
오늘 localhost로 이동할 때 403 오류가 발생했습니다.
문제 해결
아파치 상태
me@my-computer ~ $ /etc/init.d/apache2 status
* apache2 is running
권한
/var
drwxr-xr-x 12 root root 4096 Nov 23 08:58 var
/var/www
drwxr-xr-x 3 root root 4096 Nov 23 08:58 www
/var/www/html
drwx------ 8 me me 4096 Nov 22 01:07 html
/var/www/html/index.html
-rw-r--r-- 1 root root 11510 Nov 23 08:59 index.html
답변1
보기 권한은 /var/www/html
사용자에게만 root
읽기, 쓰기 및 실행 권한이 있음을 나타냅니다. 저는 표준 사용자로 브라우저를 사용하고 있고 액세스 권한이 없기 때문에 "기타"에 일부 권한이 필요하다고 생각하여 다음과 같이 했습니다.
sudo chmod 755 html -R
이제 새로운 권한은 다음과 같습니다.
drwxr-xr-x 2 me me 4096 Nov 23 22:59 html
이제 브라우저에서 localhost에 액세스할 수 있습니다.
"Users, Groups and Permissions in Linux"
이 비디오가 매우 유용하다고 생각합니다 .
답변2
Apache에 실행/읽기 액세스 권한을 부여해야 합니다. @user1063287님이 말씀하신 방식은 좋지만 다른 사람이 접근하도록 허용하는 보안 문제가 있을 수 있습니다. 나는 이 방법이 더 낫다고 생각한다:
1) 아파치를 사이트 루트 디렉터리의 소유자로 만듭니다.
chown -R www-data:www-data ROOT_OF_SITE
2) 전체 액세스 권한을 부여합니다.
chmod -R 700 ROOT_OF_SITE