..png)
vhost.conf , befindet sich in etc/httpd/vhost.d/
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName localhost
ServerAlias localhost.example.com
DocumentRoot /var/www/html/example.com/public_html/
ErrorLog /var/www/html/example.com/logs/error.log
CustomLog /var/www/html/example.com/logs/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.org
ServerAlias www.example.org
DocumentRoot /var/www/html/example.org/public_html/
ErrorLog /var/www/html/example.org/logs/error.log
CustomLog /var/www/html/example.org/logs/access.log combined
</VirtualHost>
httpd.conf, Einstellungen auf Standard, am Ende hinzugefügt:
Include /etc/httpd/vhosts.d/*.conf
Stammverzeichnisse:
DocumentRoot "/var/www/html"
Entsprechende Verzeichnisse für die virtuellen Hosts im obigen Ordner erstellt. Die Berechtigungen sehen alle korrekt aus. Index.php-Datei in jedem public_html
Verzeichnis. Wenn ich jetzt jedoch localhost eingebe, gelange ich nur zur Standardseite von Apache 2. Sollte ich die Zeile „ Include /etc/httpd/vhosts.d/*.conf
Webserver funktioniert wie erforderlich aus dem Standardverzeichnis und stellt die Indexdatei bereit, die ich dort abgelegt habe“ entfernen?
Antwort1
Basierend auf dem, was Sie eingegeben haben, klingt es nicht so, als ob Sie Syntaxfehler hätten. Führen Sie also Folgendes in der Datei /etc/hosts aus (wenn Sie es direkt vom Server aus tun):
127.0.0.1 example.org
127.0.0.1 example.com
Oder in der Hostdatei Ihres PCs:
YOURSERVERIP example.org
YOURSERVERIP example.com
Und navigieren Sie zu dieser Domäne statt zu localhost.
Der Grund, warum Sie nur die Apache-Webseite sehen, liegt darin, dass Apache wissen muss, wohin es gehen soll. Da Sie noch kein DNS eingerichtet haben, wird mit dem betreffenden Hostnamen nichts an Apache gesendet, sodass standardmäßig das Dokumentstammverzeichnis verwendet wird.
Antwort2
Da die Include-Zeile nach Ihren VirtualHosts steht, würde ich vermuten, dass einer dieser eingeschlossenen virtuellen Hosts Ihre neuen überschreibt. Was sagt „httpd -S“? (Es muss nicht „httpd“ sein, sondern „apache2“ oder etwas anderes). Das Flag -S zeigt Ihnen alle virtuellen Hosts, die Sie konfiguriert haben, und hilft beim Debuggen.
Sie könnten versuchen, die Include-Zeile zu entfernen und zu sehen, ob Ihre neuen Blöcke dadurch funktionieren. Sie können auch Ihr Fehlerprotokoll überprüfen, um zu sehen, ob es Warnungen zu Ihrer Konfigurationsdatei gibt.