PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache2: Probleme mit Virtual Hosts



Spooky80
14.02.2006, 12:45
Hallo Zusammen,

ich bin Apache-Einsteiger und habe ein Problem mit Virtual Hosts. Ich mach jetzt schon einige Tage dran rum und komme nicht weiter. Langsam aber sicher nähere ich mich dem Punkt der Verzweiflung :( Ich hoffe Ihr könnt mir vielleicht helfen...

Ich habe einen Webserver bei Strato, der DNS-Eintrag "meinedomain.de" zeigt auf meine IP-Adresse, sagen wir mal 192.168.0.1. Auf dem Server ist ein SSL-Zertifikat installiert, das läuft auch so weit.

Ich möchte nun folgendes machen:

http://www.meinedomain.de -> Umleitung auf https://www.meinedomain.de #Umleiten auf HTTPS
https://www.meinedomain.de -> Standartseite anzeigen
http://kunde1.meinedomain.de -> Umleitung auf https://www.meinedomain/irgendwelche-unterverzeichnisse/kunde1
http://kunde2.meinedomain.de -> Umleitung auf https://www.meinedomain/irgendwelche-unterverzeichnisse/kunde2
# Die Umleitug ist hauptsächlich deswegen, da das SSL-Zertifikat nur für www.meinedomain.de funktioniert, aber nicht für eine Subdomain
# die Subdomain's sind einfach deswegen das der Kunde eine "schönere" URL bekommt

Ich benutzte Apache2 auf Debian, das Verzeichnis sites-enabled ist leer. In der httpd.conf steht folgendes:

httpd.conf
---------------------------------------------------------------
NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
ServerName www.meinedomain.de
ServerAdmin webmaster@meinedomain.de
Redirect / https://www.meinedomain.de
...
</VirtualHost>

<VirtualHost *:80>
ServerName kunde1.meinedomain.de
ServerAdmin webmaster@meinedomain.de
Redirect / https://www.meinedomain.de/unterverzeichnis1/unter2/kunde1/index.php5
...
</VirtualHost>

<VirtualHost *:443>
ServerName www.meinedomain.de
ServerAdmin webmaster@meinedomain.de

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

#SSL
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/meinedomain.crt
SSLCertificateKeyFile /etc/apache2/ssl/meinedomain.key

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined
ServerSignature On
</VirtualHost>

Das Problem:
http://www.meinedomain.de -> Funktioniert, manchmal geht er aber auch zu: https://www.meinedomain/unterverzeichnis1/unter2/kunde1. Ich kann nicht richtig nachvollziehen wieso.

http://kunde1.meinedomain.de -> funktioniert, geht aber nicht ins richtige Verzeichnis. Ähnlich wie oben: angegeben habe ich https://www.meinedomain/unterverzeichnis1/unter2/kunde1/index.php5, er geht aber ins Verzeichnis https://www.meinedomain/unterverzeichnis1/unter2/

https://www.meinedomain.de -> Standartseite wird angezeigt, OK

Kann mir jemand sagen wo der Fehler liegt? Ich hätte immer gedacht der Apache2 sucht sich den zutreffenden Virtual Host heraus...

Ich hoffe ihr könnt mir helfen,

Danke schonmal & Gruß Christian

eLKane
28.07.2006, 22:14
Hast du ServerAlias benutzt? ich sehe nichts davon...

ich kann dir mal ein beispiel aus meiner vhost config zeigen:


# Standard ServerDomain
<VirtualHost 62.75.170.239:80>
ServerAdmin eLKaneSoft@eMail.de
DocumentRoot /opt/lampp/htdocs
ServerName vs170239.vserver.de
ServerAlias vs170239.vserver.de *.vs170239.vserver.de
</VirtualHost>

## Subdomain sales.eLKaneSoft.com
<VirtualHost 62.75.170.239:80>
DocumentRoot /opt/lampp/htdocs/customer/user001/htdocs
ServerName sales.eLKaneSoft.com
ServerAlias sales.eLKaneSoft.com
</VirtualHost>
<VirtualHost 62.75.170.239:80>
DocumentRoot /opt/lampp/htdocs/customer/user000/htdocs/wbblite
ServerName forum.eLKaneSoft.com
ServerAlias forum.eLKaneSoft.com board.eLKaneSoft.com teamspeak.eLKaneSoft.com
</VirtualHost>
<VirtualHost 62.75.170.239:80>
DocumentRoot /opt/lampp/htdocs/_users/_customer/teamww
ServerName TeamWWForum
ServerAlias teamww.eLKaneSoft.com
</VirtualHost>

# HauptDomains:
<VirtualHost 62.75.170.239:80>
DocumentRoot /opt/lampp/htdocs/customer/user000/htdocs
ServerName server01
ServerAlias eLKaneSoft.com *.eLKaneSoft.com
ServerAlias eLKaneSoft.de *.eLKaneSoft.de
ServerAlias eLKane.de *.eLKane.de
ServerAlias l-kane.com *.l-kane.com
php_admin_value upload_tmp_dir /opt/lampp/htdocs/customer/user000/phptmp
</VirtualHost>

# Domains for Sale
<VirtualHost 62.75.170.239:80>
DocumentRoot /opt/lampp/htdocs/customer/user001/htdocs
ServerName sales.eLKaneSoft.com
ServerAlias sales.eLKaneSoft.com
ServerAlias lime-design.org *.lime-design.org
ServerAlias limedesign.de *.limedesign.de
ServerAlias my-pinboard.com *.my-pinboard.com
ServerAlias my-pinboard.de *.my-pinboard.de
ServerAlias my-pinboard.net *.my-pinboard.net
</VirtualHost>

(*Diese ist nicht die aktuelle, sondern ein bsp aus einem alten Backup)

ServerName ist glaub ich für die VHost Bezeichnung...

Die Direktive ServerAlias bestimmt die alternativen Namen eines Hosts zur Verwendung mit namensbasierten virtuellen Hosts.

weitere Infos zu den Direktiven findest du auch hier: http://httpd.apache.org/docs/2.0/de/mod/core.html

ich hoffe, du wirst draus schlau..gruß eLKane