• 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 funktionieren nicht

prowler

Newbie
Hi, ich habe lange im Netz geforscht und vieles ausprobiert, aber leider ohne Erfolg. Daher dieser Thread.

Ich hab OpenSuse 11 laufen und möchte virtuelle Hosts einrichten. Eine Adresse soll z.B. local.magento.de sein.
Das Verzeichnis soll sich in /srv/www/vhosts befinden.

In meiner /etc/apache2/listen.conf habe ich folgendes stehen:
Code:
Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
      ServerName local.magento.de
      ServerAlias local.magento.de local.magento.de
      DocumentRoot /srv/www/vhosts/local.magento.de
</VirtualHost>

In meiner /etc/apache2/vhosts.d/local.magento.de.conf hab ich das stehen:
Code:
<VirtualHost *:80>
    ServerAdmin admin@magento.de
    ServerName local.magento.de

    DocumentRoot /srv/www/vhosts/local.magento.de

    ErrorLog /var/log/apache2/local.magento.de-error_log
    CustomLog /var/log/apache2/local.magento.de-access_log combined

    HostnameLookups Off

    UseCanonicalName Off

    ServerSignature On
    
    Include /etc/apache2/conf.d/*.conf

    ScriptAlias /cgi-bin/ "/srv/www/vhosts/local.magento.de/cgi-bin/"

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

    <IfModule mod_userdir.c>
	UserDir public_html
	Include /etc/apache2/mod_userdir.conf
    </IfModule>
    <Directory "/srv/www/vhosts/local.magento.de">
	Options Indexes FollowSymLinks
	AllowOverride None
	Order allow,deny
	Allow from all
    </Directory>
</VirtualHost>

Als Fehler erhalte ich immer einen 404-Error: The requested URL /local/ was not found on this server.

Könnt ihr mir sagen wo ich ansetzen kann damit das ganze funktioniert?
Ich steig da langsam nicht mehr durch aufgrund der vielen Konfigurationsmöglichkeiten. :(
 
OP
P

prowler

Newbie
Also der Apache läuft. Wenn ich im Browser http://localhost eingebe erscheint die Anzeige "It works".

D.h. es liegt an der Namensauflösung? Wenn ja, wie kann ich das korrigieren?
 

syslord

Newbie
Entschuldigung, aber wieviel Erfahrung hast Du mit Apache und Bind?

Lokal müsste "local.magento.de" aufgelöst werden...
Ggf., genauso "localhost/~local.magento.de".

Welche Domains laufen auf dem Apache?
Bist Du involviert in magento.de?


Rgds.
 
OP
P

prowler

Newbie
Was Linux angeht bin ich Anfänger. Apache kenn ich bisher nur unter Windows und XAMPP.

Es ist doch möglich, dass ich bei richtiger Konfiguration des Apache im Browser http://local.magento.de eingeben kann, oder ist das schon mein Denkfehler?

Mit Magento hab ich nichts zu tun, sondern möchte einfach nur eine Magento-Test-Installation auf meinem Rechner durchführen.

Könnt ihr vielleicht bei der Gelegenheit ein vernünftiges Tutorial empfehlen zu diesem Thema (also vhosts, nicht Magento)?
 

marce

Guru
was spricht dagegen, das einfach als IP/Port-Bases vHost über localhost zu machen?

Spiel nicht mit DNS rum - das geht nur schief, wenn man nicht weiß, was man tut.

Infos dazu findest Du in der Apache-Doku - da ist alles erklärt. Rundum-Hilfe hier im Forum ist schwer - konkrete Probleme kann man aber gerne beheben helfen...
 
OP
P

prowler

Newbie
Okay, dann verzichte ich auf die Rundumhilfe, aber mein erster Post stellt ja ein konkretes Problem dar. Ihr könnt sicherlich sagen was bei obiger Konfiguration nicht stimmt.

Die ganzen Tutorials sehen immer so einfach aus, aber funktionieren tut es nie :(
 

marce

Guru
Du greifst auf eine Domain zu, die per DNS nicht auf die von Dir gewünschte IP aufgelöst wird.

Du solltest existierende Domains nicht für Tests verwenden sondern besser localhost oder einfach die lokale IP.
 

syslord

Newbie
Würde zum Beispiel heissen: "magento.local".
Haben wir aber wieder das Prob, dass du deinem Rechner mitteilen musst, wo diese liegt...
:D

Machste am besten, einfachsten über die lokale "hosts-Datei".

Rgds.
 

syslord

Newbie
Stimmt eigentlich, kann er ja z.B. ab 81 portmässig hochzählen...

;)

Wäre also 127.0.0.1:80 standard Server.
127.0.0.1:81 VHost1 usw. ...
 
Oben