내 index.html 페이지 대신 Apache2 Ubuntu 기본 페이지를 얻는 이유는 무엇입니까?


8

로컬 웹 사이트 테스트에 사용되는 Ubuntu 14.10 컴퓨터가 있는데 인터넷에 제공되지 않습니다. 그것에 7 개의 웹 사이트가 설정되어 있습니다. 그러나 7 개 중 2 개에 액세스하면 Apache2 Ubuntu Default Page내 색인 페이지 대신에 해당 정보가 표시됩니다.

내가 알 수있는 한 정확히 동일한 프로세스를 사용하여 7 개를 모두 설정 했으므로이 두 가지가 무엇인지 알 수 없습니다. 또한, 내 아파치 로그 디렉토리에, 나는 두 개의 로그 파일이, error그리고 access두 개의 오작동 각각의 사이트에 있지만, 그들 모두는 비어 있습니다. apache2서비스를 다시 시작할 때 오류가 없습니다. 단계를 여러 번 되돌 렸으며 작업 사이트와 작업하지 않는 사이트 간의 차이를 볼 수 없습니다.

이 문제를 진단하기 위해 어떤 옵션이 있습니까? 어떻게 든 더 자세한 오류 로그를 강제로 만들 수 있습니까? 내가 참조 할 수있는 다른 로그가 있습니까?

다음은 .conf작동하지 않는 사이트 중 하나에 대한 파일 예입니다 .

<VirtualHost *:80>
   ServerName www.local_example.com
   ServerAlias local_example.com
   ServerAdmin address@example.com

   DocumentRoot /var/www/Websites/example.com
   <Directory /var/www/Websites/example.com/>
       Options Indexes FollowSymLinks MultiViews
       # pcw AllowOverride None
       AllowOverride All
       Order allow,deny
       allow from all
       # This directive allows us to have apache2's default start page
       # in /apache2-default/, but still have / go to the right place
       # Commented out for Ubuntu
       #RedirectMatch ^/$ /apache2-default/
   </Directory>

   ErrorLog /home/example/Apache_Logs/local_example.com_error.log

   # Possible values include: debug, info, notice, warn, error, crit,
   # alert, emerg.
   LogLevel warn

   CustomLog /home/example/Apache_Logs/local_example.com_access.log combined
   ServerSignature On

</VirtualHost>

2
가상 호스트는 어떻게 만들었습니까? 파일을 추가하여 생성 했습니까 /etc/apache2/sites-available? 그렇다면이를 사용하여 활성화 했 sudo a2ensite <your_site_name>습니까? 기본 아파치 오류 로그 파일에 파일이 있습니까? 가상 호스트 파일에 ServerAlias ​​또는 ServerName이 구성되어 있습니까? 기본 사이트를 비활성화하면 sudo a2dissite 000-default(로 다시 활성화 할 수 있음 sudo a2ensite 000-default) 작동합니까? 또한 아파치를 다시 시작하는 것을 잊었을 수 있습니까?
Dan

@ Dan, 응답 주셔서 감사합니다. 에 사이트를 추가하여 사이트를 만들었습니다 sites-available. 기본 오류 로그에는 아무것도 없습니다. ServerAlias호스트 파일에서 정의 했습니다. 000-default사이트를 비활성화 했지만 아무런 변화가 없었습니다. 아파치를 다시 시작하고 여러 번 다시로드했습니다.
Questioner

기본 사이트를 비활성화하고 아파치를 다시 시작했을 때 여전히 기본 index.html 페이지가 표시되거나 다른 가상 호스트에서 표시 되었습니까? 오작동하는 호스트 파일 중 하나의 내용을 게시 할 수 있습니까? 이것은 우리가 훨씬 쉽게 도울 수 있도록 해줄 것입니다.
Dan

@ Dan, respondng 주셔서 감사합니다. 내가 언급 한 것처럼 제안한 변경 사항을 변경했을 때 아무것도 변경되지 않았습니다. 즉, 동일한 기본 색인 페이지가 표시되었음을 의미합니다. .conf내 질문에 파일을 추가했습니다 .
Questioner

답변:


8

다음을 시도하십시오

자세한 로그 사용

sudo nano /etc/apache2/apache2.conf

LogLevel 변수를 찾아 기본 경고에서 정보 또는 디버그로 업데이트하십시오. 디버그는 많은 양의 출력을 생성합니다.

# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
# 
LogLevel debug

아파치 다시 시작

sudo service apache2 restart

아파치에는 멋진 구문 검사 도구가 포함되어 있습니다

apache2ctl -t

가상 호스트 정의 확인

apache2ctl -S

이 제안에 감사드립니다. 로그 수준을 디버그로 설정했지만 여전히 오류 로그 파일에 항목이 전혀 없습니다. 사이트를 열 때마다 액세스 로그가 표시되지만 다른 것은 표시되지 않습니다.
Questioner

6

저에게 @Dan의 제안 중 하나가 해결했습니다.

sudo a2dissite 000-default.conf
service apache2 reload

기본 사이트 구성이 내 vhost 구성을 재정의 한 것 같습니다.


다른 서버에서는 다르게 작동했으며 index.html 대신 index.php를 읽었습니다. 매우 교활한 상황
거스 팔라

2

설치 후 index.html의 우선 순위가 더 높아서 기본 우분투 페이지가 여전히 표시되는 이유 var / www / html /이 폴더를 확인하거나이 페이지를 간단하게 제거하십시오.


1

문제는 권한이었다.

/var/wwwsymlink 외부의 디렉토리에 웹 사이트를 저장하는 경우 소스 디렉토리 및 상위 디렉토리 에 대한 권한이 있어야합니다 755.

알려지지 않은 이유로 인해 두 가지 오작동 사이트에 서로 다른 권한이 chmod -R 755있으며 웹 사이트 디렉토리와 해당 상위 디렉토리에서 실행되어 문제가 해결되었습니다.


chmod -R 755거기에있는 모든 파일이 "실행 가능"으로 표시되기 때문에 디렉토리에서 실행해서는 안됩니다 ...
Alexis Wilke

@AlexisWilke, 올바른 권한을 설정하는 더 좋은 명령은 무엇입니까?
Questioner

표준이 아닌 모든 디렉토리의 권한을 변경하는 쉬운 방법은 없습니다 ... find그래도 사용할 수 있습니다 . 이와 같은 것 : find top-dir-name -type d -exec chmod 755 {} \;.
Alexis Wilke 16:27에
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.