2013-11-22 5 views
6

Irgendwie meine virtuellen Host-Dateien sind nicht gerade arbeiten kann ich nicht sagen, warum - ich wette, es ist nur ein mailfunction in meinem guten Morgen Gehirn: pApache Virtual Host funktioniert nicht richtig

Gerade jetzt habe ich zwei Standorte über einen symbolischen Link auf Websites, in/etc/apache2/Verzeichnis wie verfügbar aktiviert:

0 Nov 21 12:24 000-default -> ../sites-available/default 
0 Nov 21 14:52 001-site -> ../sites-available/site 

meine VHosts Dateien wie folgt aussehen:

STANDARD

<VirtualHost *:80> 
     ServerAdmin [email protected] 
     ServerName (the IP Address from my Server) 
     ServerAlias (the 2nd IP Address from my Server) 
     DocumentRoot /var/www/default 
     <Directory /> 
       Options FollowSymLinks 
       AllowOverride None 
     </Directory> 
     <Directory /var/www/default> 
       Options 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 ${APACHE_LOG_DIR}/error.log 
     LogLevel warn 

     CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

SITE

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/site/ 
    ServerName jobbörse-köln.de 
    ServerAlias www.example.de ww.example.de w.example.de 

    <Directory /> 
      Options FollowSymLinks 
      AllowOverride None 
    </Directory> 
    <Directory /var/www/site> 
      Options 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 ${APACHE_LOG_DIR}/site-error.log 
    LogLevel warn 
    CustomLog ${APACHE_LOG_DIR}/site-access.log combined 
</VirtualHost> 

Irgendwie, wenn ich auf „example.de“ gehe ich bekommen, um das Standardverzeichnis statt des Website-Verzeichnis. Auch die Protokolldateien:

site-error.log 
site-access.log 

Aufenthalt auf 0 Bytes ... was mache ich falsch? Ich wette, es ist etwas dumm und einfach ...

+0

Wo befinden sich Ihre vhost.conf-Dateien? Was sehen Sie, wenn Sie auf Ihre Site zugreifen? Was ist mit Ihrer httpd.conf? – Keerthivasan

+0

My Vhost Dateien befinden sich im Bereich: /etc/apache2/sites-available und sie verlinkt wird in /etc/apache2/sites-enabled meine apache2.conf in befindet/etc/apache2/ Wenn ich gehe auf www.example.de Ich bekomme die index.php von /var/www/default/ anstelle von /var/www/site/ – Kris

Antwort

7

Sie verwenden den Standardport 80 für beide virtuellen Host-Eintrag. Also hoffe ich, dass Sie NameVirtualHost *: 80 als Konfiguration verwenden.

in der Konfiguration, die Sie VirtualHost geteilt haben, werden auf Port 80 überlagert, so dass der erste Vorrang hat.

+0

kann ich nicht mehr hören wie auf VHost auf Port 80? – Kris

+0

Ich bin gleich gegenüber. könnte @mandip antworten? –

+0

@y_nk Ich vermute, dass Sie mit dem Problem konfrontiert sind, während Sie die gleiche IP + PORT-Kombination mit zwei oder mehr VirtualHost wie oben verwenden (*: 80) wobei * für alle IPs ist (kann für bestimmte IP wie 209.207.228.12:80 variieren) . Wenn ja, dann müssen Sie dem Apache mitteilen, dass *: 80 von zwei verschiedenen VirtualHost-Direktiven verwendet wird. Daher müssen Sie NameVirtualHost *: 80 (für obigen Fall) hinzufügen, bevor Sie diese beiden Anweisungen hinzufügen. Danach wird ServerAlias ​​Ihre Konfiguration entsprechend auswählen. Hoffe es wird dein Problem lösen. –