2013-11-22 25 views
6

Jakoś moje wirtualne pliki gospodarza nie działają prosto nie mogę powiedzieć dlaczego - Założę się, że to tylko mailfunction moim dobrym porannym mózgu: pApache Virtual Host nie działa prawo

Teraz mam dwa miejsca włączona poprzez dowiązania symbolicznego do miejsc dostępnych w/etc/apache2/katalog takich jak:

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

moich vhostów plików wyglądać następująco:

DEFAULT

<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> 

Jakoś gdy idę na „example.de” mogę dostać się do domyślnego katalogu zamiast w katalogu witryn. Nawet plików dziennika:

site-error.log 
site-access.log 

pozostać na 0 bajtów ... Co robię źle? Założę się, że to coś głupiego i łatwego ...

+0

gdzie znajdują się pliki vhost.conf? co widzisz, kiedy wchodzisz na swoją stronę? A co z twoim plikiem httpd.conf? – Keerthivasan

+0

Moja vhosta Pliki znajdują się w: /etc/apache2/miejsca dostępnego i dostają połączone w /etc/apache2/sites-enabled mój apache2.conf znajduje się w /etc/apache2/ Kiedy wejdź na www.example.de Dostaję index.php od /var/www/default/ zamiast /var/www/site/ – Kris

Odpowiedz

7

Używasz domyślnego portu 80 dla obu wpisów hosta wirtualnego. Mam nadzieję, że używasz NameVirtualHost *: 80 jako konfiguracji.

w konfiguracji, którą udostępniłeś VirtualHost, są nakładane na port 80, więc pierwsze ma pierwszeństwo.

+0

Nie mogę więcej słuchać jak na VHost na porcie 80? – Kris

+0

Mam do czynienia z tym samym. Czy mogę odpowiedzieć na pytanie? –

+0

@y_nk Zgaduję, że napotykasz problem podczas używania tej samej kombinacji IP + PORT z dwoma lub więcej VirtualHost jak wyżej (*: 80) gdzie * jest dla wszystkich adresów IP (może się różnić dla określonego IP jak 209.207.228.12:80) . Jeśli tak, musisz powiedzieć Apache, że *: 80 jest używany przez dwie różne dyrektywy VirtualHost. Dlatego przed dodaniem tych dwóch dyrektyw należy dodać NameVirtualHost *: 80 (powyższy przypadek). Po tym ServerAlias ​​wybierze odpowiednią konfigurację. Mam nadzieję, że rozwiąże twój problem. –