2.4.7 버전의 apache2로 시작하는 로컬 웹 사이트를 어디에 둘 수 있습니까?


50

최근에 Ubuntu 14.04를 설치 한 다음 lamp-server웹 페이지를 설치 하고 /var/www디렉토리에 배치 했지만 브라우저에서 localhost를 열면 아무것도 없었습니다. 젠드가 아파치를 업데이트했기 때문에 그런 일이 일어난 것 같습니다.

이유가 무엇이든간에 브라우저에서 PHP 파일에 액세스 할 수 있도록 PHP 파일을 보관할 위치를 알고 싶습니다.


OP의 질문에 대한 답변은 아니지만 다음 답변은 관련 문제를 해결하는 동안이 질문에 걸려 넘어지는 일부 방문자에게 도움이 될 수 있습니다. askubuntu.com/a/525120/1183
augustin

답변:


76

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

10
흥미롭게도, 나는이 움직임의 이유를 찾기 위해 노력했습니다. 누군가 관심이 있다면 Debian 에서이 버그 보고서 를 발견 했습니다.
Dan

4
이 변경 후 오류가 발생했습니다.
Darshana

1
@Darshana apache2.4의 기본 구성은 아파치가 외부의 어떤 것에도 액세스 할 수 없도록 /var/www/html합니다. 해당 디렉토리 (또는 그 하위 디렉토리) 이외의 위치에 사이트를 넣으면 403 오류가 발생합니다. 당신은 추가해야 <Directory /path/to/your/site>지시어를 으로 가상 호스트 CONFIGS에 require지침 이있다.
Dan

이것은 나를 위해 작동하지 않았습니다.
user124384

여기에 동일합니다. 이제 오류 403이 표시되지 않습니다! 어떻게 해결해야합니까 (더 간결한 방법으로 작성하십시오)
abhishah901

27

/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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.