PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VHosts einrichten



Link
06.02.06, 17:11
Ich habe einen Apache2(prefork) als Testserver installiert und versuche nun neben der eigentlichen Serverseite 2 VHost einzurichten.
die Vhost heißen test1 und test2, nun habe ich beide soweit identisch konfiguriert, habe aber nun folgendes "Problem":

[warn] VirtualHost test1:80 overlaps with VirtualHost test2:80, the first has precedence, perhaps you need a NameVirtualHost directive
Syntax OK

Wie richte ich die "NameVirtualHost directive" ein?

Zweite Frage, wie müssen die einträge im bind aussehen? Die Eiträge in der Forward und Reverse Zone?

Wenn ich in der Forward-Zone "IN A" oder "IN CNAME" setze lande ich immer wieder auf dem eigentlichen Server, nicht bei den VHosts.

Tomek
06.02.06, 17:17
Poste doch mal deine Konfiguration.

Ansonsten schaue bitte hier:
http://www.linuxserverforum.de/vb/showthread.php?t=389

Link
06.02.06, 20:24
Ich habe in /etc/apache2/vhost.d/ jeweils eine test1.conf und die test2.conf.
Ich tippe jetzt mal das das falsch ist?! So wie von dir und bei Apache beschrieben ist es ja nur eine .conf wo das drin stehen soll, oder?

Link
06.02.06, 21:16
In /etc/apache2/httpd.conf steht:
Include /etc/apache2/vhosts.d/*.conf
Darauf hin habe ich test1.conf und test2.conf unter diesem Pfad angelegt:


<VirtualHost *:80>
ServerAdmin webmaster@test1
ServerName test1
DocumentRoot /srv/www/vhosts/test1

ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/"

<Directory "/srv/www/cgi-bin">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>

<Directory "/srv/www/vhosts/test1/">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

</VirtualHost>
Die 2te .conf sieht dann eigentlich gleich aus, natürlich wurde die 1 durch eine 2 ersetzt.

marce
07.02.06, 08:34
naja, 2 Hosts auf dem gleichen Port - das kann ja nicht gut gehen...

... und die Lösung wird ja auch schon verraten, mehr dazu liefert die Doku:

http://httpd.apache.org/docs/2.0/vhosts/name-based.html
http://httpd.apache.org/docs/2.0/vhosts/ip-based.html

bla!zilla
07.02.06, 10:24
Zwei Hosts auf einem Port geht, keine Frage. Bei NameBased Vhosts ist das problemlos möglich. Für den Default-Webserver musst du einen eigenen Vhost anlegen (default.conf). Grep mal in den Konfigs nach "NameVirtualHost". Ich habe auch Vhosts am laufen. Bei mir sieht das so aus:

NameVirtualHost *:80
NameVirtualHost *:443

Link
07.02.06, 11:29
Danke für den Hinweis "default.conf"
In der Doku steht immer httpd.conf. Ich hatte nicht verstanden wieso ich da was von: NameVirtualHost eintragen sollte. Wo doch der Hauptserver und die VHosts über extra .conf Datein gehändelt werden.

Jetzt läufts auf alle Fälle :D

bla!zilla
07.02.06, 11:33
Hast du es denn nun verstanden, oder nit?

Ich betreibe bei mir auch Vhosts, allerdings haben die eine andere Document-Root. Der Default Vhost nimmt seine Daten quasi aus /srv/www/htdocs, und die anderen aus anderen Verzeichnissen. Du musst in den Konfigurationsdateien der Vhosts auch die Servernamen angeben. Da der Default Vhost ja auch eine Art virtueller Host ist, brauchst du auch dafür eine Konfigurationsdatei wie für die anderen Vhosts. In dieser muss dann auch wieder der Servername stehen auf dem er lauschen soll. Sonst startet er einfach mehrere Vhosts, und der erste wird der Default-Host.

Link
08.02.06, 00:02
Also soll der Hauptserver auch unter /etc/apache2/vhosts.d/*.conf angelegt werden???
Was ist denn mit der default.conf bleibt die unangetastet dann?
Ich dachte der Hauptserver wird in der default.conf konfiguriert und die vhosts in der vhosts.d/*.conf.

Zum Thema Document-Root: Die VHosts haben ja jeweils nen eigenen Dokument-Root.
/srv/www/vhost/* und der Hauptserver liegt unter /srv/www/htdocs

Flex6
08.02.06, 00:08
das kann man in der httpd des apache2 angeben wie und wo der vhost konfiguriert extra in einer vhost.conf oder httpd.conf geht auch..ich habs so z.b..das alles auf einen port läuft ist namenbasierend kein problem...

Link
08.02.06, 00:19
Stimmt, geht beides.
Ich hab es jetzt einfach gemacht. Ich habe den Eintrag für den Standard-Server in der httpd.conf auskommentiert und eine vhost.conf angelegt in der nun alle VHosts und der Standard-Server liegt. Das geht auch, ist aber eher nur Ratsam wenn man nur wenige Server drin hat!
Besser ist wohl wenn jeder Server seine eigene .conf hat.

Nur wie gesagt. Zum testen mit nur wenigen Servern ist es mit einer Datei einfacher.

bla!zilla
08.02.06, 07:50
Genau, für den Default-Webserver wird eine eigene .conf angelegt.