다시 한 번 아파치 가상 호스트 구성에 문제가 있습니다. (기본 구성은 특정 구성 대신 사용됩니다).
문제는 실제로 잘못된 구성이 아니라 해결 방법입니다.
누구든지 이런 종류의 문제를 빨리 해결할 수있는 좋은 조언이 있습니까?
더 많은 정보.
기본 conf 파일은 다음과 같습니다.
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
적용되지 않는 가상 호스트 구성은 다음과 같습니다.
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://ip.ip.ip.ip:8088/
ProxyPassReverse / http://ip.ip.ip.ip:8088/
ServerName wiki.mydomain.com
</VirtualHost>
답변
구문 검사
구문 오류에 대한 구성 파일을 확인하려면 다음을 수행하십시오.
# Red Hat-based (Fedora, CentOS) and OSX
httpd -t
# Debian-based (Ubuntu)
apache2ctl -t
# MacOS
apachectl -t
가상 호스트 나열
모든 가상 호스트 및 해당 위치를 나열하려면
# Red Hat-based (Fedora, CentOS) and OSX
httpd -S
# Debian-based (Ubuntu)
apache2ctl -S
# MacOS
apachectl -S
답변
도움이 될 수 있다고 생각되는 명령은 다음과 같습니다.
apachectl -t -D DUMP_VHOSTS
모든 가상 호스트 목록을 얻을 수 있습니다. 어떤 가상 호스트가 기본 호스트인지 알고 구문이 올바른지 확인하십시오 (yojimbo87이 제안한 apachectl configtest와 동일).
또한 각 호스트가 선언 된 위치를 알 수 있습니다. 구성 파일이 엉망인 경우 편리 할 수 있습니다. 😉
답변
가상 호스트 구성을 디버그하려는 경우 Apache -S 명령 행 스위치가 유용 할 수 있습니다. 즉, 다음 명령을 입력하십시오.
httpd -S
이 명령은 Apache가 구성 파일을 구문 분석하는 방법에 대한 설명을 덤프합니다. IP 주소와 서버 이름을주의 깊게 검사하면 구성 실수를 발견하는 데 도움이 될 수 있습니다. ( 다른 명령 행 옵션 에 대해서는 httpd 프로그램 문서를 참조하십시오 ).
답변
답변
apachectl -S
명령을 사용할 때 표시되지 않은 새로운 VirtualHost 구성 파일이 있습니다. 머리를 많이 긁은 후 파일에 접미사 “.conf”가 없음을 깨달았습니다. 해당 접미사로 파일 이름을 바꾸면 내 Vhost가 표시되고 작동하기 시작했습니다!
답변
최근에 VirtualHost에 문제가있었습니다. a2ensite
호스트를 활성화하는 데 사용 되었지만 재시작을 실행하기 전에 (실패한 서버를 죽일 수 있음)
apache2ctl -S
어떤 가상 호스트에 무슨 일이 일어나고 있는지에 대한 정보를 제공합니다. 완벽하지는 않지만 도움이됩니다.
답변
내 실수를 발견하고 로그 파일 이름을 추가하지 않았습니다 : ErrorLog / var / log / apache2
그리고이 경로 : “/ usr / share / doc /”디렉토리 웹 사이트 소스를 포함하지 않았습니다.
이 두 가지를 바꾼 후에는 모두 효과가있었습니다. 흥미롭게도, 아파치는 오류를 발생시키지 않았으며, Mac OS Sierra에서 자동으로 웹 사이트를 열지 않았습니다.