web-dev-qa-db-ja.com

ApacheVirtualHostのセットアップ…502Bad Gateway

Ubuntu 12.04ltsでApache仮想ホストをセットアップしようとしています。私はここでこのガイドに従いました http://www.debian-administration.org/articles/412 /home/wwwではなく/ var/wwwを使用したことを除いて。ドキュメントのルートフォルダを755のアクセス許可に設定しました。家が不足しているサーバーなので、ルーターに問題があるのではないかと思います。プロキシを使用していません。vhostsを実行するためにポート転送を設定する必要がある特定の方法はありますか? (はい、vhostsの前は正常に機能しました。502応答エラー(ゲートウェイの不良)が発生します。これが2つの有効なサイトです。

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName www.functioncreate.com
    ServerAlias functioncreate.com

    # Indexes + Directory Root.
    DirectoryIndex index.html
    DocumentRoot /var/www/functioncreate/htdocs/

    # CGI Directory
    ScriptAlias /cgi-bin/ /var/www/functioncreate/cgi-bin/
    <Location /cgi-bin>
            Options +ExecCGI
    </Location>

    # Logfiles
    ErrorLog  /var/www/fucntioncreate/logs/error.log
    CustomLog /var/www/functioncreate/logs/access.log combined
</VirtualHost>

そして2番目のもの:

#
#  Example.com (/etc/Apache2/sites-available/www.example.com)
#
<VirtualHost *:80>
    ServerName www.labelleviemodesto.com
    ServerAlias labelleviemodesto.com

    # Indexes + Directory Root.
    DirectoryIndex index.html
    DocumentRoot /var/www/labellevie/htdocs/

    # CGI Directory
    ScriptAlias /cgi-bin/ /var/www/labellevie/cgi-bin/
    <Location /cgi-bin>
            Options +ExecCGI
    </Location>


    # Logfiles
    ErrorLog  /var/www/labellevie/logs/error.log
    CustomLog /var/www/labellevie/logs/access.log combined
</VirtualHost>

私のhttpd.confには何も含まれていません。 「デフォルト」サイトを有効または無効にしてみました。私が触れたApacheの唯一のものは、サイトで作成した新しいサイトです-利用可能であり、サイトにシンボリックリンクされています-a2ensiteを介して有効にされ(Apacheのリロードが続きます)、conf.dにvirtual.confを作成します。

#
#  We're running multiple virtual hosts.
#
  NameVirtualHost *

これが私のerror.logです

Warning: DocumentRoot [/var/www/functioncreate] does not exist
Warning: DocumentRoot [/var/www/labellevie] does not exist
Apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Wed Feb 12 23:40:40 2014] [warn] NameVirtualHost *:80 has no VirtualHosts
[Wed Feb 12 23:40:40 2014] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.9 with Suhosin-Patch configured -- resuming normal operations
[Wed Feb 12 23:44:55 2014] [notice] Graceful restart requested, doing restart
Warning: DocumentRoot [/var/www/functioncreate] does not exist
Warning: DocumentRoot [/var/www/labellevie] does not exist
Apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Wed Feb 12 23:44:55 2014] [warn] NameVirtualHost *:80 has no VirtualHosts
[Wed Feb 12 23:44:55 2014] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.9 with Suhosin-Patch configured -- resuming normal operations
[Wed Feb 12 23:46:06 2014] [notice] Graceful restart requested, doing restart
Warning: DocumentRoot [/var/www/labellevie] does not exist
Apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Wed Feb 12 23:46:06 2014] [warn] NameVirtualHost *:80 has no VirtualHosts
[Wed Feb 12 23:46:06 2014] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.9 with Suhosin-Patch configured -- resuming normal operations
[Wed Feb 12 23:46:29 2014] [error] [client 10.0.0.14] File does not exist: /var/www/functionCreate/favicon.ico
[Thu Feb 13 00:22:45 2014] [notice] Graceful restart requested, doing restart
Warning: DocumentRoot [/var/www/labellevie] does not exist
Apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Thu Feb 13 00:22:45 2014] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
[Thu Feb 13 00:22:45 2014] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
[Thu Feb 13 00:22:45 2014] [warn] NameVirtualHost *:80 has no VirtualHosts
[Thu Feb 13 00:22:45 2014] [warn] NameVirtualHost *:80 has no VirtualHosts
(2)No such file or directory: Apache2: could not open error log file /var/www/fucntionCreate/logs/error.log.
Unable to open logs
[Thu Feb 13 12:03:37 2014] [warn] pid file /var/run/Apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Thu Feb 13 12:03:37 2014] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.9 with Suhosin-Patch configured -- resuming normal operations
[Thu Feb 13 12:03:57 2014] [notice] caught SIGTERM, shutting down
[Thu Feb 13 12:03:58 2014] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.9 with Suhosin-Patch configured -- resuming normal operations
[Thu Feb 13 12:04:23 2014] [error] [client 166.137.191.15] File does not exist: /var/www/favicon.ico
[Thu Feb 13 12:04:57 2014] [error] [client 166.137.191.15] File does not exist: /var/www/favicon.ico
[Thu Feb 13 12:05:40 2014] [error] [client 186.251.208.20] script not found or unable to stat: /usr/lib/cgi-bin/php
[Thu Feb 13 12:05:40 2014] [error] [client 186.251.208.20] script not found or unable to stat: /usr/lib/cgi-bin/php5
[Thu Feb 13 12:05:40 2014] [error] [client 186.251.208.20] script not found or unable to stat: /usr/lib/cgi-bin/php-cgi

[Thu Feb 13 12:05:40 2014] [error] [client 186.251.208.20] script not found or unable to stat: /usr/lib/cgi-bin/php5
[Thu Feb 13 12:05:40 2014] [error] [client 186.251.208.20] script not found or unable to stat: /usr/lib/cgi-bin/php-cgi
[Thu Feb 13 12:05:41 2014] [error] [client 186.251.208.20] script not found or unable to stat: /usr/lib/cgi-bin/php.cgi
[Thu Feb 13 12:05:41 2014] [error] [client 186.251.208.20] script not found or unable to stat: /usr/lib/cgi-bin/php4
[Thu Feb 13 12:09:18 2014] [notice] Graceful restart requested, doing restart
Apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Thu Feb 13 12:09:19 2014] [warn] NameVirtualHost *:80 has no VirtualHosts
(2)No such file or directory: Apache2: could not open error log file /var/www/fucntionCreate/logs/error.log.
Unable to open logs
1
cbalos

私はいくつかのヒントがあります:

ルータの両側で動作に違いがあるかどうかを確認してください。サーバーの内部IPが192.168.0.10であるとしましょう。テストマシンでhostsファイルを編集します(Macでは/ etc/hosts、Windowsではc:\ windows\system32\driver\etc\hosts-MacではSudoを使用するか、Windowsでは「管理者として実行」することを忘れないでください。ファイルを編集できます)、次の行を追加します(192.168.0.10を実際の内部/ホームネットワークサーバーIPに置き換えます):

192.168.0.10    www.labelleviemodesto.com labelleviemodesto.com
192.168.0.10    www.functioncreate.com functioncreate.com

これらすべてのドメイン名にpingを実行して、正しいIPにアクセスしていることを確認します。 nslookupはDNSにクエリを実行するだけなので、機能しません。これにより、サーバーに適切な(外部)IPが提供され、hostsファイルのオーバーライドが無視されます。 ping、および他のすべてのプログラムは、hostsファイルのオーバーライドを尊重します。明らかに、これはプライベート(ホーム)ネットワークの内部、たとえばWi-Fiで行う必要があります。 pingが4つのドメインすべての内部IP(192.168.0.10)をターゲットにしている場合(たとえば、functioncreate.comがwww.functioncreate.comにリダイレクトする可能性があるため、これは重要です。そのため、関係なく確認する必要があります。何、あなたは真ん中にルーターなしで、内部IPと直接話しているのです)。

とにかく、結論:それでも502エラーが発生するかどうかを確認してください。もしそうなら、それはおそらくApacheから来ており、設定ファイルに何か問題があります。プライベートIP経由で問題なく動作するが、外部からルーター経由でこのサーバーにアクセスすると、502エラーが発生する場合、問題はルーター構成にあります。

私の推測:それはルーターです。 Apache構成にリバースプロキシに似たものがないようです。

最後の注意:すべての.confファイルにNameVirtualHost行が1つしかないことを確認してください。複数ある場合、またはVirtualHostパラメーターがNameVirtualHostパラメーターに正確に対応していない場合、奇妙な予期しない結果が発生します。たとえば、すでにすべての仮想ホストが次のように定義されているため、次のようになります。

VirtualHost *:80

すべてのApache構成ファイルの唯一のNameVirtualHost行が次のようになっていることを確認してください。

NameVirtualHost *:80

ログにこのような行が表示されないようにする必要があります。

[Wed Feb 12 23:46:06 2014] [warn] NameVirtualHost *:80 has no VirtualHosts

確かに、これは正解ではありませんが、答えに近づくことを願っています。 :)

1
Rouben