わかりましたので、新しいubuntuサーバー11.10を起動し、vhostを追加しましたが、すべて問題ありません。Apacheも再起動しましたが、ブラウザーにアクセスすると 空白ページ が表示されます
サーバーのIPは http://23.21.197.126/ ですが、ログをテールすると
tail -f /var/log/Apache2/error.log
[Wed Feb 01 02:19:20 2012] [error] [client 208.104.53.51] File does not exist: /etc/Apache2/htdocs
[Wed Feb 01 02:19:24 2012] [error] [client 208.104.53.51] File does not exist: /etc/Apache2/htdocs
しかし、サイト対応の私の唯一のファイルはこれです
<VirtualHost 23.21.197.126:80>
ServerAdmin [email protected]
ServerName logicxl.com
# ServerAlias
DocumentRoot /srv/crm/current/public
ErrorLog /srv/crm/logs/error.log
<Directory "/srv/crm/current/public">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
不足しているものはありますか.....ドキュメントルートは/srv/crm/current/public
ではなく/etc/Apache2/htdocs
エラーが示唆するように
これを修正する方法についてのアイデア
更新
Sudo Apache2ctl -S
VirtualHost configuration:
23.21.197.126:80 is a NameVirtualHost
default server logicxl.com (/etc/Apache2/sites-enabled/crm:1)
port 80 namevhost logicxl.com (/etc/Apache2/sites-enabled/crm:1)
Syntax OK
更新
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName logicxl.com
DocumentRoot /srv/crm/current/public
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /srv/crm/current/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</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>
これは、Apacheがサイト対応ディレクトリを見つけていないようです。
Apache2.confファイル(etc/Apache2/Apache2.conf)で次のような行を探します。
Include sites-enabled/
次のような絶対パスに変更します。
Include /etc/Apache2/sites-enabled/
これでうまくいくはずです。
これはおそらく原因です:
<VirtualHost 23.21.197.126:80>
http://localhost
は、最初のvhost定義を逃した可能性があります。
次に、それを(正しく)変更しました。
<VirtualHost *:80>
特定の理由がない限り、常に*:80
これはlistenをオンにするアドレスを定義するためです。 ServerName
は、応答する名前を定義します。例えば:
NameVirtualHost *:80
<VirtualHost *:80>
...
</VirtualHost>
私も同じ問題を抱えていました。しかし、私の場合、それは単に次の理由によるものです。
Apache2.confで私は持っています:
Include sites-enabled/
そして私のサイトが有効/デフォルト:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</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
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
システムのアップグレード後もまったく同じエラーが発生しました。 UserDir
/etc/Apache2/mods-enabled/userdir.conf
を変更しました。元の:
Userdir public_html
新着:
Userdir /home/*/public_html
今すぐうまくいきます:)
新しいサイトをApacheに追加するのを忘れました:
$ Sudo a2ensite (your project name)
クエリを行うインターフェイスIPにVirtualHost
ディレクティブがあることを確認します。このエラーは、上記でも説明したように、Apacheがクエリに応答するサーバー構成を見つけられない場合に発生しますが、ports.confでそれをリッスンしています。