Mengapa host virtual Apache di Ubuntu 14.04 tidak berfungsi?


23

Saya menginstal Apache 2.4 pada Ubuntu 14.04 dan berfungsi dengan baik berdasarkan http://localhost/alamat. Tetapi ketika saya mencoba menambahkan host virtual baru, misalnya http://bow.locdan me-restart apache, alamat baru tidak tersedia http://bow.locdan tersedia di http://localhost.

Konfigurasi saya adalah:

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

Bagaimana saya bisa mendapatkan situs saya http://bow.loc?



Lihat jawaban saya di sini . Mendapat masalah serupa dan ternyata menjadi masalah dengan konfigurasi DNS sistem.
jmarceli

Jawaban:


29

Sejak Apache 2.4, setiap file host virtual harus memiliki ekstensi .conf.

Anda dapat mengganti nama setiap file host virtual untuk menyertakan ekstensi .conf:

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

Gunakan perintah a2ensite untuk menambahkan virtual host:

a2ensite example.com.conf

Dan memuat ulang Apache:

service apache2 reload

Terima kasih! Dan setelah tindakan ini saya tidak perlu memodifikasi /etc/hostsfile secara manual dan menambahkan host ke dalamnya? Apakah apache akan menulis host baru secara otomatis?
Victor Bocharsky

Apache tidak menulis host baru secara otomatis, Anda harus menulisnya secara manual. CMIIW
Ari Pratomo

Jadi, konfigurasi saya benar, dan masalah agar saya lupa menambahkan host di/etc/hosts
Victor Bocharsky

cara lain adalah memodifikasi apache2.conf dan menghapus ekstensi ".conf" dari direktif "IncludeOptional-enabled / *". Saya menggunakan domain situs web sebagai nama file, jadi saya tidak menyukai persyaratan ".conf" tambahan.
lepe

17

Saya lupa menambahkan host di /etc/hosts:

127.0.0.1   localhost
127.0.0.1   bow.loc

Saya pikir apache melakukannya secara otomatis.


Saya tidak harus melakukan itu sebelumnya di server. Saya melakukannya dari klien untuk tujuan pengujian sepanjang waktu. Bisakah Anda mengklarifikasi apa yang Anda katakan di sini?
flickerfly

@ flickerfly Apa maksudmu? Saya membuat poin virtualhosts ke mesin lokal saya untuk menanganinya dengan Apacheserver yang diinstal
Victor Bocharsky

Saya lupa menambahkan ini juga! : P
Rishi Kulshreshtha

Sial, aku menyia-nyiakan satu ini untuk kita di Debian 8 VM! Terima kasih!!!
lucaferrario

@ lucaferrario haha, saya juga. Bug sederhana sulit diungkapkan;) Terima kasih!
Victor Bocharsky

3

Yah, saya telah mencoba semua solusi yang ditawarkan .. tapi sayangnya tidak ada yang berhasil! Sayangnya saya diedit

    /etc/hosts

untuk membuat entri

    127.0.1.1 example.com test.com

dan itu berhasil !!

(Maaf jika saya tidak banyak bicara secara teknis!)


1

Saya menulis skrip python yang akan mengotomatiskan langkah-langkah pembuatan virtual host apache ... video ini menjelaskan caranya, unduh / kode pada GitHub


-3
Options FollowSymLinks MultiViews

Perlu char '+': + FollowSymLinks + Multiviews

Order allow,deny
Allow from all

Sekarang = Wajibkan semua diberikan


Tolong jelaskan, di mana harus meletakkan ini dan apa fungsinya. Jangan hanya memposting perintah atau artefak konfigurasi. Lihat Bagaimana cara menulis jawaban yang baik?
David Foerster

1
Anda hanya perlu meletakkan tanda + atau - sebelum berbagai Opsi jika Anda menggunakan a - untuk mengecualikannya. Kalau tidak, mereka baik untuk pergi. Wajib semua diberikan untuk Apache 2.4. Baris Orde, Bolehkan adalah sintaks 2.2.
flickerfly
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.