• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

virtual hosts "aktiv" setzen

schnoupf

Newbie
hi leute

habe folgendes problem: habe einen webserver mit apache, mysql, php unter suse 10 eingerichtet. das ganze funktioniert wunderbar, habe drei verschiedene Homepages draufliegen, dies hab ich mit virtuellen hosts realisiert.

nun wollte ich das ganze ins netz bringen. da ich ne dynamische ip habe wird ein dyndns-account von meinem router mit der aktuellen ip versorgt. wenn ich nun die dyndns adresse eingebe kommt allerdings nur die seite:

Es klappt! Der Apache-Webserver ist auf dieser Website installiert!

es wird kein virtueller host zur aktiven gemacht.
habe ich eine möglichkeit zumindest mal einen virtuellen host "aktiv" zu setzen. und ist es möglich alle drei unter der dyndns-adresse zu bekommen???

danke schonmal

mfg schnoupf
 
OP
S

schnoupf

Newbie
also in der httpd.conf sage ich das er alle *conf-Dateien in /etc/apache2/vhosts.d/ laden soll mit:
Code:
Include /etc/apache2/vhosts.d/*.conf

jetzt habe ich für jeden Host eine eigene .conf-datei angelegt (in/etc/apache2/vhosts.d/). Jede Datei hat folgenden Inhalt(IP-adressen und Pfadangaben natürlich entsprechend angepasst:
Code:
<VirtualHost 192.168.1.201>  //die anderen Hosts 192.168.1.202 und 192.168.1.203

  ServerAdmin webmaster@bensen.de
  ServerName www.bensen.de

  ErrorLog /home/webuser/websites/www.bensen.de/log/error.log
  CustomLog /home/webuser/websites/www.bensen.de/log/access.log combined

  DocumentRoot /home/webuser/websites/www.bensen.de/content/
  ScriptAlias /cgi-bin/ /home/webuser/websites/www.bensen.de/cgi-bin/

  <Directory /home/webuser/websites/www.bensen.de/content/>
  AllowOverride All
  Order allow,deny
  Allowfrom all
  </Directory>

  <Directory /home/webuser/websites/www.bensen.de/cgi-bin/>
  AllowOverride None
  Options ExecCGI
  Order allow,deny
  Allow from all
  </Directory>

</VirtualHost>

mfg
 

nbkr

Guru
Ein Vhost reagiert nur auf Anfragen wenn die Anfrage des Browsers die Domain die in ServerAlias oder ServerName definiert ist enthalten ist.

Hast Du mehrere vhosts hinter einer DynDNS Adresse musst Du folgendermaßen vorgehen.

Angenommen Du hast die Domain bla.dyndns.org.

1. Aktiviere bei DynDNS (geht über deren Webinterface) die Wildcard Domain, so dass alles *.bla.dyndns.org an deine IP geleitet wird.

2. Füge den vhosts folgende Zeile zu
Code:
ServerAlias vhost1.bla.dyndns.org
Das vhost1 musst du durch was sinnvolles ersetzen. Sinnvoll bedeutet, dass es a) bei jedem vhost unterschiedlich ist und b) irgendein Name ist der einprägbar ist. Für den von dir genannten vhost wäre z.B. sinnvoll.
ServerAlias bensen.bla.dyndns.org

3. Starte den Apache neu.

4. Surfe zu http://bensen.bla.dyndns.org .[/b]
 
OP
S

schnoupf

Newbie
danke jetzt funzt die ganze sache. eine anmerkung vllt noch:

in den *.conf-dateien darf bei
Code:
<VirtualHost 192.168.1.201>
keine ip-adresse stehn sondern ein *.

ist das so zu verstehen das er wenn die ip drin steht den ServerName bzw ServerAlias ignoriert und nur auf die ip anspricht?

in der httpd.conf steht außerdem bei der virtualhost konfiguration noch der eintrag:
Code:
NameVirtualHost *

hat der noch etwas damit zu tun.

mfg schnoupf
 
Oben