Verbringen Sie Stunden im Kreis nach jeder Anleitung, die ich im Internet finden kann.So führen Sie mehrere Websites auf einer Apache-Instanz aus
Ich mag zwei Seiten auf einer einzigen Apache-Instanz ausgeführt haben, so etwas wie diese - 192.168.2.8/site1 und 192.168.2.8/site2
Ich habe in Kreisen Runde gegangen, aber bei der Moment, ich habe zwei conf Dateien in 'sites-available (Symlink zu sites-enabled)', die this-
<VirtualHost *:2000>
ServerAdmin [email protected]
ServerName site1
ServerAlias site1
# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /home/user/site1/
# CGI Directory
ScriptAlias /cgi-bin/ /home/user/site1/cgi-bin/
Options +ExecCGI
# Logfiles
ErrorLog /home/user/site1/logs/error.log
CustomLog /home/user/site1/logs/access.log combined
</VirtualHost>
und
<VirtualHost *:3000>
ServerAdmin [email protected]
ServerName site2
ServerAlias site2
# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /home/user/site2/
# CGI Directory
ScriptAlias /cgi-bin/ /home/user/site2/cgi-bin/
Options +ExecCGI
# Logfiles
ErrorLog /home/user/site2/logs/error.log
CustomLog /home/user/site2/logs/access.log combined
</VirtualHost>
aussehen
http.conf sieht aus wie this-
NameVirtualHost *:2000
NameVirtualHost *:3000
Im Moment bin ich immer diese fehler-
[error] VirtualHost *:80 — mixing * ports and non-* ports with a NameVirtualHostaddress is not supported, proceeding with undefined results
ports.conf sieht wie folgt aus - (obwohl noch keine Führungen keine Notwendigkeit erwähnt zu bearbeiten dies)
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
Kann jemand einige einfache Anweisungen geben, um das zu laufen? Jeder Guide, den ich gefunden habe, sagt es anders und jeder führt zu anderen Fehlern. Ich mache offensichtlich etwas falsch, habe aber keine klare Erklärung gefunden, was das sein könnte.
Ich will nur eine Seite auf Port 2000 und die andere auf Port 3000 (oder was auch immer, nur diese Ports zum Testen ausgewählt).
Ich bin mit Ubuntu Server 12.04 ...
=============
EDIT
ein weiterer Leitfaden 'Gefolgt ...
ich habe jetzt diese bis in sites-set erhältlich:
<VirtualHost *:80>
DocumentRoot "/home/user/site1/"
ServerName 192.168.2.10/site1
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/home/user/site2/"
ServerName 192.168.2.10/site2
</VirtualHost>
gesetzt haben dies in apache2.conf:
ServerName site1
ServerName site2
Lassen Sie sich diese zu ports.conf hinzugefügt:
Listen 192.168.2.10:80
==============
EDIT
Es funktioniert jetzt, ich legte dies in eine Conf-Datei in Site-aktiviert:
<VirtualHost *:81>
DocumentRoot "/home/user/site1/"
ServerName site1
</VirtualHost>
<VirtualHost *:82>
DocumentRoot "/home/user/site2/"
ServerName site2
</VirtualHost>
Ich habe dies in ports.conf:
Listen *:80
Listen *:81
Listen *:82
Ich habe dies in Apache2.conf:
ServerName site1
ServerName site2
ich dies nicht in irgendwelchen Führern fand ich gerade habe es durch einen ganzen Tag lang von Versuch und Irrtum arbeiten, damit ich weiß nicht, ob dies eine gute Lösung ist. Aber es funktioniert zumindest so, wie ich es jetzt will.
Es scheint mir, dass Sie virtuelle Hostnamen in NameVirtualHost angeben müssen. –
Prost, ich habe viele Dinge in dieser Richtung ausprobiert. Kannst du genauer sagen, was ich versuchen sollte? – Exbi
Nachdem ich einen ganzen Tag versucht habe, das zu funktionieren, bin ich endlich über die Antwort gestolpert lol. Ich fühle mich geistig ausgelaugt, ich gehe ins Bett. Ich bezweifle, dass meine zweifelhafte Apache Hack-Lösung für jeden von Interesse sein würde, aber ich werde es am Ende meiner Frage bearbeiten. – Exbi