Apache tidak akan memulai dengan 2 atau lebih VirtualHosts

2

Saya memiliki OpenVZ VPS yang menjalankan Ubuntu 10.04, dan instalasi standar Apache2, PHP, seperti biasa. Saya mencoba menyiapkan beberapa VHost berbasis nama host untuk memungkinkan semua pengguna saya memiliki akses ke beberapa ruang web, tetapi ketika saya mendefinisikan lebih dari 1 entri VirtualHost di httpd.conf saya, Apache tidak akan memulai. Menggunakan 'service apache2 start' melaporkan kegagalan, dan 'apache2ctl start' berjalan dengan baik, tetapi apache tidak berjalan setelah selesai.

Saat ini, saya hanya mencoba agar 2 VHost berfungsi, nama domain asli, dan subdomain No-IP serupa. Ini httpd.conf saya:

NameVirtualHost *:80
Listen 80

<VirtualHost *:80>
  ServerName domainname.com
  ServerAlias *.domainname.com
  DocumentRoot /home/user1/www-pub
  LogFormat "%h %l %u %t \"%r\" %>s %b" common
  CustomLog /home/user1/logs/access.log common
  ErrorLog /home/user1/logs/error.log
</VirtualHost>

<VirtualHost domain.servegame.com:80>
  ServerName domain.servegame.com
  DocumentRoot /home/user2/www-pub
  LogFormat "%h %l %u %t \"%r\" %>s %b" common
  CustomLog /home/user2/logs/access.log common
  ErrorLog /home/user2/logs/error.log
</VirtualHost>

Apakah saya melewatkan sesuatu di sini? Saya telah melihat dalam dokumentasi, dan sejauh yang saya tahu, semuanya harus bekerja dengan baik.

James
sumber
LOG KESALAHAN LOG KESALAHAN LOG KESALAHAN
Ignacio Vazquez-Abrams
Di mana saya dapat menemukan log kesalahan ini? Satu-satunya log yang dapat saya temukan adalah akses dan log kesalahan untuk permintaan http.
James

Jawaban:

1

apache2ctl configtest akan menunjukkan kepada Anda mengapa itu tidak berfungsi.

Dugaan saya adalah bahwa Anda tidak dapat menyelesaikan domain.servegame.com, atau menyelesaikan ke IP yang tidak terikat dengan nic di komputer Anda, tetapi itu hanya tebakan, Posting output dari configtest dan kita harus bisa lebih baik Tolong...

Jika Anda hanya melakukan hosting virtual berbasis nama maka ubah

<VirtualHost domain.servegame.com:80>

untuk

<VirtualHost *:80>

yang akan memberitahu apache untuk mendengarkan semua ips.

Anda juga harus memeriksa log kesalahan, yang ada di / var / log / apache2 / secara default. Buka dan cari apa pun yang terkait dengan host virtual Anda.

Doon
sumber
Ini tidak terjadi, configtest melewati. Juga, mengubah itu tidak memperbaiki apa pun. : / Terlepas, inilah hasilnya: 'james @ vps2: ~ $ sudo apache2ctl configtest apache2: Tidak dapat dipercaya menentukan nama domain server yang sepenuhnya memenuhi syarat, menggunakan 208.53.130.173 untuk ServerName Syntax OK' Dan ya, saya tahu tidak ada apa-apa di IP , Saya akan menambahkan arahan ulang segera setelah saya memperbaiki masalah VHost
James
1
baik jika configtest lewat, apache harus dimulai. Lihat di errorlog (errorlog yang sama dengan permintaan http) dan harus memiliki baris yang mengatakan mengapa itu tidak dimulai.
Doon
Yah, aku menemukannya. Direktori log untuk VHost kedua tidak pernah dibuat. Terima kasih atas bantuan Anda, Doon!
James