2014-05-21 27 views
5

Ubuntu 14.04 makinemde Apache 2.4.7 var ve bazı sanal sistemlerim de benimle aynı fikirde değil. Çalıştırmaya çalıştığım 5 sanal ana bilgisayar var; 3 tanesi çalışıyor, 2 değil. çalışmayan iki .conf dosyalardır:Ubuntu 14.04: Apache 2.4.7 virtualhost çalışmıyor/yeniden yönlendiriyor

002-tmpnet.conf

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html/tmpnet 
    ServerName tmpnet 
    <Directory /> 
     Options FollowSymLinks 
     AllowOverride All 
    </Directory> 
    <Directory /var/www/html/tmpnet/> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride All 
     #Order allow,deny 
     #allow from all 
     Require all granted 
    </Directory> 

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

003-tmpcom.conf

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html/tmpcom 
    ServerName tmpcom 
    <Directory /> 
     Options FollowSymLinks 
     AllowOverride All 
    </Directory> 
    <Directory /var/www/html/tmpcom> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride All 
     #Order allow,deny 
     #allow from all 
     Require all granted 
    </Directory> 

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

Bunların her ikisi de

dönmek
500 Internal server errors 

whe n onları ziyaret etmeye çalışıyor. Onları localhost (yani localhost/html/tmpnet) aracılığıyla ziyaret edersem, sanal konaklamayı kullanmaya çalışırken değil, gayet iyi çalışır.

127.0.0.1 localhost 
127.0.1.1 Eagle 
127.0.1.1 tmpcom 
127.0.1.1 tmpbiz 
127.0.1.1 tmporg 
127.0.1.1 tmpnet 
127.0.1.1 thatsmybrick 

# The following lines are desirable for IPv6 capable hosts 
::1  ip6-localhost ip6-loopback 
fe00::0 ip6-localnet 
ff00::0 ip6-mcastprefix 
ff02::1 ip6-allnodes 
ff02::2 ip6-allrouters 

ve benim apache2.conf geçerli::

Benim hosts dosyası olduğunu ben uzun şimdi ise bir bu sıkışmış edilmiştir

Mutex file:${APACHE_LOCK_DIR} default 
PidFile ${APACHE_PID_FILE} 
Timeout 300 
KeepAlive On 
MaxKeepAliveRequests 100 
KeepAliveTimeout 5 

# These need to be set in /etc/apache2/envvars 
User ${APACHE_RUN_USER} 
Group ${APACHE_RUN_GROUP} 

HostnameLookups on 
ErrorLog ${APACHE_LOG_DIR}/error.log 
LogLevel warn 
IncludeOptional mods-enabled/*.load 
IncludeOptional mods-enabled/*.conf 
Include ports.conf 

<Directory /> 
    Options FollowSymLinks 
    AllowOverride All 
    Require all denied 
</Directory> 

<Directory /usr/share> 
    AllowOverride All 
    Require all granted 
</Directory> 

<Directory /var/www/> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    Require all granted 
</Directory> 

AccessFileName .htaccess 

<FilesMatch "^\.ht"> 
    Require all denied 
</FilesMatch> 

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined 
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined 
LogFormat "%h %l %u %t \"%r\" %>s %O" common 
LogFormat "%{Referer}i -> %U" referer 
LogFormat "%{User-agent}i" agent 

IncludeOptional conf-enabled/*.conf 

IncludeOptional sites-enabled/*.conf 

ve Gerçekten isterdim yardım için minnettarım. Doğru yöne işaret eden her şey harika olurdu.

Teşekkür ederiz

cevap

1

Hala sorunla karşı karşıya mısınız?

/var/log/apache2/error.log adresinde bulunan hata günlüğüne baktınız mı? Hata günlüğü kendiliğinden açıklayıcıdır ve soruna iyi bir yol gösterecektir.

benim makinede hata bu

.htaccess (hata ifadesinin ikinci bölümü) gösterdi: sunucu yapılandırmasında bulunmayan bir modül tarafından tanımlanan geçersiz komut 'RewriteEngine' belki yanlış yazılmış veya

Benim durumumda Apache modülü yeniden yazma özelliği etkinleştirilmedi. Modülü etkinleştirdim ve sanal konak ayarları canlı geldi.

Ayrıca, yeniden yazma modülünü kullanmaya çalıştığınızı gösteren 'AllowOverride All' ifadesini kullandığınızı görüyorum. Henüz değilse, modülü sudo a2enmod rewrite komutunu kullanarak yeniden yazın ve yeniden başlatın.

7

Bu biraz gecikme olabilir, bir çözüm bulup bulmadığınızdan emin değilsiniz, ama yaptığım şey budur. Yapılandırma dosyalarımı değiştirerek ve vhost'umu değiştirerek saatlerimi harcadıktan sonra, 000 tane a2dissite ... varsayılan siteye ve yeniden yüklenen apache'ye karar verdim. Bunu yaptıktan sonra yönlendirme epeksected olarak çalışıyordu. Bir sunucuda birden fazla siteye sahip olduğunuzda, ilk yüklenen vhost'lar için varsayılan ya da ... Apache'nin varsayılan bir ana makineye sahip olması gerektiği izlenimi altındayken nasıl ortaya çıkacağını bilmiyorum. bu konuda yanlış ol.

+0

Teşekkür ederiz !!! Ben a2dissite 000-default.conf' koştu ve mevcut dosyalarıma '.conf 'ekledim ve işe yaradı! – Skovy

4

Bu sorunla karşı karşıya kaldım ve varsayılan sanal ana bilgisayarı devre dışı bırakmak zorunda kaldığım ortaya çıktı.

sudo a2dissite 000-default.conf 
-1

Eh, nokta şudur: o olacak sadece dosya adının sonunda .conf ile sanal bilgisayarlar dosyaları içerir demektir

IncludeOptional sites-enabled/*.conf

.

Yeniden adlandırın veya yönergeyi değiştirin.

Ciao, Gelma

+0

Soruyu okuduğunuzu düşünmüyorum. Onun dosyaları **, '.conf' olarak adlandırılmış ve hala yüklenmiyor. Yeniden yükleme sırasında – Machavity

0

Eğer, o zaman daha önce bu yapılandırma var, sanal konak yapılandırma dosyasında örneğin

için .conf uzantısı eklemek gerekir (12.04) kesin yükseltme yapıyorsanız

/etc/apache2/sites-available/project 

o zaman, ona

.conf uzantısı eklemek gerekir
/etc/apache2/sites-available/project.conf 

ve tabii ki siteler etkin klasörde yeni sembolik oluşturmak zorunda, cd site özellikli klasöre ve

sudo ln -s ../sites-available/project.conf 

yeniden başlatma apache ve bitirdiniz.

5

Sadece ben varsayılan devre dışı bırakmak zorunda yoktu:

sudo a2dissite 000-default.conf 

ama ben de sudo gibi apache yeniden zorunda - sudo olmadan ben test ediyorum düzgün

sudo service apache2 reload 
+1

SUDO işini yaptı! teşekkür ederim :) –