Saya punya beberapa situs yang dikonfigurasi sebagai VirtualHost menggunakan Apache yang telah berfungsi dengan baik untuk sementara waktu. Saya baru-baru ini mengubah nama host server menjadi salah satu nama domain yang sedang dilayani, dan juga menambahkannya ke / etc / hosts yang menunjuk ke alamat IP eksternal server.
Sejak saya melakukan itu, mengakses domain dari laptop saya membawa saya ke default Apache "Berhasil!" halaman. Jika saya menghapus 000-default dari / etc / apache2 / sites-enabled /, ini akan menampilkan situs yang benar. Mencoba mengakses situs dengan 'www.' awalan membawa saya ke situs yang benar apakah 000-default di situs-diaktifkan.
Berdasarkan semua itu, saya menduga konfigurasi default melayani halaman default karena cara saya mengkonfigurasi nama host atau / etc / hosts (atau keduanya), tapi saya tidak tahu cara menonaktifkannya sementara membiarkan pengaturan itu apa adanya. Ada saran!
Sunting - Konfigurasi VirtualHost saya saat ini terlihat seperti ini:
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
ServerAdmin me@domain.com
DocumentRoot /srv/www/domain
ErrorLog /srv/www/domain/logs/error.log
CustomLog /srv/www/domain/logs/access.log combined
</VirtualHost>
Untuk meringkas: Saya memiliki beberapa VirtualHost diatur, dan ini adalah satu-satunya yang tidak berfungsi dengan baik. Saya dapat mengakses http://www.domain.com , tapi http://domain.com membawa saya ke default Apache "Berhasil!" halaman. Jika saya menonaktifkan konfigurasi 000-default itu menunjukkan halaman yang tepat. Ini hanya mulai terjadi setelah saya menetapkan nama host server ke domain.com dan menambahkan baris ke / etc / hosts menunjuk domain.com ke alamat IP eksternal server. Saya ingin membiarkan mereka seperti itu jika memungkinkan.
Sunting: Saya berlari apache2ctl -S
sejak /usr/sbin/apache2 -S
memberi saya "apache2: nama pengguna yang buruk $ {APACHE_RUN_USER}". Inilah hasilnya:
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server domain.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost domain.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost other.com (/etc/apache2/sites-enabled/other:1)
port 80 namevhost another.com (/etc/apache2/sites-enabled/another:1)
port 80 namevhost domain.com (/etc/apache2/sites-enabled/domain:1)
Syntax OK