최근에 Ubuntu 14.04를 설치 한 다음 lamp-server
웹 페이지를 설치 하고 /var/www
디렉토리에 배치 했지만 브라우저에서 localhost를 열면 아무것도 없었습니다. 젠드가 아파치를 업데이트했기 때문에 그런 일이 일어난 것 같습니다.
이유가 무엇이든간에 브라우저에서 PHP 파일에 액세스 할 수 있도록 PHP 파일을 보관할 위치를 알고 싶습니다.
최근에 Ubuntu 14.04를 설치 한 다음 lamp-server
웹 페이지를 설치 하고 /var/www
디렉토리에 배치 했지만 브라우저에서 localhost를 열면 아무것도 없었습니다. 젠드가 아파치를 업데이트했기 때문에 그런 일이 일어난 것 같습니다.
이유가 무엇이든간에 브라우저에서 PHP 파일에 액세스 할 수 있도록 PHP 파일을 보관할 위치를 알고 싶습니다.
답변:
Ubuntu 14.04 릴리스가 출시되었을 때 게시 된 apache2 버전은 2.4.7이며이 버전부터 보안상의 이유로 서버의 새 루트 디렉토리는 다음과 같습니다.
/var/www/html
이제부터는 로컬 웹 사이트의 파일을 저장해야합니다. 향후 업데이트에서이 문제가 다시 발생하지 않아야합니다.
어쨌든이 디렉토리를 다른 디렉토리로 변경하려면 /etc/apache2/sites-available/000-default.conf
파일 ( sudo nano /etc/apache2/sites-available/000-default.conf
) 에서 다음 줄을 루트로 수정해야합니다 .
DocumentRoot /var/www/html
에
DocumentRoot /path/to/another/directory
그런 다음 새로운 변경 사항을 적용하려면 다음 명령을 사용하여 아파치 서버를 다시 시작해야합니다.
sudo service apache2 restart
/var/www/html
합니다. 해당 디렉토리 (또는 그 하위 디렉토리) 이외의 위치에 사이트를 넣으면 403 오류가 발생합니다. 당신은 추가해야 <Directory /path/to/your/site>
지시어를 으로 가상 호스트 CONFIGS에 require
지침 이있다.
/etc/apache2/sites-available/000-default.conf
이전 버전으로 다시 수정하는 대신 기본 패키지 파일을 수정하지 않는 것이 좋습니다.
그 이유는 다음 업그레이드 중에 다시 중단되지 않아 000-default.conf
파일 이 재설정 될 수 있기 때문입니다 .
게다가 데비안 의이 버그 리포트가 설명 하듯이, 그러한 수정은 단지 우리를 성가 시게하는 것이 아니라, 좋은 이유 때문에 수정되었습니다 .
웹 서버 [sic]는 기본 문서 루트를 / var / www로 설정 한 반면 사이트 로컬 관리자는 /var/www/example.com을 사용하는 경향이 있습니다. 방문자가 example.com의 / supposed / document 루트를 무시하고 기본 문서 루트에 액세스하는 경우 보안에 영향을 미칩니다. 민감한 데이터가 예상되는 문서 루트 외부에 있으면 문제가됩니다 (예 : 가상의 /var/www/example-com-db.conf 구성 파일 고려).
더 나은 솔루션은 사이트 파일을에서 /var/www
로 이동하는 것 /var/www/html/
입니다.
# 1. move all files excluding the `html` directory
sudo mv /var/www/[!html]* /var/www/html
# 2. Move the hidden files as well which are skipped in previous command
sudo mv /var/www/.[!.]?* /var/www/html/
또한 다른 가능한 해결책은 다른 가상 호스트를 작성하고 명령을 사용하여 기본 가상 호스트를 비활성화하는 것입니다. sudo a2dissite 000-default