Apache 2.2 VirtualHosts URL nicht gefunden
Ich hoffe, Sie können helfen. Ich habe eine bestehende Apache 2.2 server, das Ihnen eine website, die ich pflegen. Ich bin versucht, fügen Sie zusätzliche websites für eine Kollegin. Dass so getan, bekomme ich Folgendes, wenn ich Versuch auf die URL:
Nicht Gefunden Der angeforderte URL /wurde nicht auf diesem server.
Hier ist eine Zusammenfassung meiner httpd-vhosts.conf-Datei. Ich habe drei neue, in etwa identisch, hosts, die nicht arbeiten. Nur NDV und die Standard-arbeiten.
NameVirtualHost *:80
<VirtualHost anycast.ns.cs.boeing.com:80>
ServerName anycast.ns.cs.boeing.com
ServerAdmin [email protected]
DocumentRoot "/opt/www/anycast"
ScriptAlias /cgi-bin "/opt/www/anycast/cgi-bin/"
ErrorLog "logs/grant_error_log"
CustomLog "logs/grant_access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/opt/httpd/manual"
ServerAlias ntpm-application-01.ns.cs.boeing.com
ErrorLog "logs/error_log"
CustomLog "logs/access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/opt/www/ndv/html"
ServerName ndv.web.boeing.com
ScriptAlias /cgi-bin/"/opt/www/ndv/cgi-bin/"
ErrorLog "logs/error_log"
CustomLog "logs/access_log" common
</VirtualHost>
<Directory "/opt/www/ndv/html/" >
Options Indexes FollowSymLinks Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Order allow,deny
Allow from all
</Directory>
<Directory "/opt/www/anycast/html/" >
Options Indexes FollowSymLinks Includes
Order allow,deny
Allow from all
</Directory>
Basierend auf die obige Konfiguration, das ist das, was der server zu sehen ist.
$ sudo bin/apachectl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server ntpm-application-01.ns.cs.boeing.com (/opt/httpd/conf/extra/httpd-vhosts.conf:30)
port 80 namevhost ntpm-application-01.ns.cs.boeing.com (/opt/httpd/conf/extra/httpd-vhosts.conf:30)
port 80 namevhost ndv.web.boeing.com (/opt/httpd/conf/extra/httpd-vhosts.conf:39)
port 80 namevhost anycast.ns.cs.boeing.com (/opt/httpd/conf/extra/httpd-vhosts.conf:48)
port 80 namevhost ntpget.ns.cs.boeing.com (/opt/httpd/conf/extra/httpd-vhosts.conf:60)
port 80 namevhost dnsdig.ns.cs.boeing.com (/opt/httpd/conf/extra/httpd-vhosts.conf:70)
Syntax OK
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie scheinen sich zu mischen Konfiguration Ansätze:
Dies ist das Beispiel aus der Apache-Docs über name based VHosts.
Ich sehe in deiner config VirtualHost ohne die * -> anycast.ns.cs.boeing.com:80
sowie VHosts ohne einen server Namen wie ServerAlias ntpm-application-01.ns.cs.boeing.com
das ist ein alias, aber keine Namen.
Würde ich anfangen, um auch die Konfigurationen, wie im Beispiel, und dann versuchen, wenn der apache ist mehr glücklich.
Kurz: Stellen Sie sicher, dass jeder von Ihnen-Einträge *:80 und einem server-Namen.
Edit: Diese Konfiguration ist nicht getestet, aber könnte für Sie arbeiten
Mein Rat ist, zu öffnen und Lesen Sie alle Protokolle, die der apache erzeugt. Das wird Ihnen eine Ahnung, wo das problem liegt. Ich lese das Protokoll zu
"/private/var/log/apache2/error_log"
in einer mac-und fand meine Ahnung:DocumentRoot [/path/to/rootdir] does not exist.
Öffnete ich die vhost-Datei und fand heraus, dass statt der Kapselung der root-Verzeichnis in doppelte Anführungszeichen, die ich benutzt hatte andere Zeichen, die schien wie Anführungszeichen. Ich ersetzte Sie durch echte doppelte Anführungszeichen, apache neu gestartet und dann war der Fehler Weg.