Neden Apache Ubuntu 14.04'teki sanal konaklar çalışmıyor?


23

Apache 2.4'ü Ubuntu 14.04'e yükledim ve http://localhost/adrese göre iyi çalışıyordu . Ancak, örneğin yeni bir sanal ana bilgisayar eklemeye çalıştığımda http://bow.locve apache'yi yeniden başlattığımda, yeni adres açık http://bow.locve açık değildi http://localhost.

Yapılandırmam:

<VirtualHost *:80>
    ServerName www.bow.loc
    ServerAlias bow.loc
    DocumentRoot /var/www/html/bow/web

    <Directory /var/www/html/bow>
        AllowOverride All
        Options FollowSymLinks MultiViews
        Order allow,deny
        Allow from all
        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ /app.php [QSA,L]
        </IfModule>
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Sitemi nasıl alabilirim http://bow.loc?



Cevabımı burada kontrol edin . Benzer bir sorunla karşılaştım ve sistem DNS yapılandırmasında sorun olduğu ortaya çıktı.
— jmarceli

Yanıtlar:


29

Apache 2.4'ten bu yana, her sanal ana dosya .conf uzantısına sahip olmalıdır.

Her bir ana bilgisayar dosyasını .conf uzantısını içerecek şekilde yeniden adlandırabilirsiniz:

mv /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com.conf

Sanal ana bilgisayarı eklemek için a2ensite komutunu kullanın:

a2ensite example.com.conf

Ve Apache'yi yeniden yükleyin:

service apache2 reload

Teşekkürler! Ve bu işlemlerden sonra /etc/hostsdosyayı el ile değiştirmem ve ana bilgisayar eklemem gerekmez mi? Apache otomatik olarak yeni ana bilgisayarlar yazacak mı?
— Victor Bocharsky

Apache otomatik olarak yeni ana bilgisayarlar yazmaz, manuel olarak yazmalısınız. CMIIW
— Ari Pratomo

Yani, benim config haklı ve sorun ana bilgisayar eklemeyi unuttum sırada/etc/hosts
— Victor Bocharsky

Diğer bir yol apache2.conf dosyasını değiştirip ".conf" uzantısını "IncludeOptional sites etkin / *" direktifinden kaldırmaktır. Web sitesi alan adlarını dosya adları olarak kullanıyorum, bu yüzden fazladan ".conf" şartını beğenmedim.
— lepe

17

Ana bilgisayar eklemeyi unuttum /etc/hosts:

127.0.0.1   localhost
127.0.0.1   bow.loc

Apache'nin otomatik olarak yaptığını sanıyordum.


Bunu daha önce bir sunucuda yapmak zorunda kalmamıştım. Yine de istemciden test amaçlı olarak yapıyorum. Burada ne dediğini açıklayabilir misin?
— flickerfly

@ flickerfly Ne demek istiyorsun? Apache
— Sanal sunucuma

Bunu da eklemeyi unuttum! : P
— Rishi Kulshreshtha

Kahretsin, bir tane daha Debian 8 VM'de harcadık! Teşekkürler!!!
— lucaferrario

Lucaferrario Haha, ben de. Basit hatalar ortaya çıkarmak zor;) Bir şey değil!
— Victor Bocharsky

3

Şey, sunulan tüm bu çözümleri denedim ... ama ne yazık ki hiçbir şey işe yaramadı! Ne yazık ki düzenledi

    /etc/hosts

giriş yapmak

    127.0.1.1 example.com test.com

ve çalıştı!

(Teknik olarak pek konuşmuyorsam özür dilerim!)



-3
Options FollowSymLinks MultiViews

Char + + 'ya ihtiyacınız var: + FollowSymLinks + Çoklu Görüntü

Order allow,deny
Allow from all

Şimdi = Tüm verilenleri iste


Lütfen bunu nereye koyacağınızı ve ne yaptığını açıklayın. Sadece komutları veya yapılandırma eserlerini göndermeyin. Bkz Ben iyi cevap yazmak nasıl?
— David Foerster

1
Biri hariç tutmak için - kullanıyorsanız, çeşitli Seçenekler'den önce + veya - koymanız gerekir. Aksi takdirde, gitmek iyidir. Gerekli tüm verilen Apache 2.4 içindir. Sipariş, İzin Ver satırları 2.2 sözdizimidir.
— flickerfly
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.