web-dev-qa-db-ja.com

DebianでのApacheのデバッグ、エラーログはどこにありますか?

私は、Apache、mod_wsgi、および多数の仮想ホストが正常に実行されているDebianサーバーを使用しています。

フォーラムアプリ(DjangoのOSQA)をインストールし、 OSQAの指示 に従って、ServerNameを新しいサブドメインとして指定するApache構成ファイルを作成しました。また、アプリの.wsgiファイルを作成し、WSGIScriptAliasを指定しました。その後、Apacheを再起動しました。

しかし、新しいサブドメインに移動すると、404エラーメッセージが表示されます。

上記のステップが欠けていますか?または、sites-availableに新しいApache構成ファイルを作成するだけで、Apacheに新しいサブドメインを通知するのに十分ですか?

他に問題がある場合、どうすればデバッグできますか?設定ファイルで指定されたErrorLogCustomLogは両方とも空白です。 Apache2.confは、Apache全体の構成だと思いますが、ErrorLog /var/log/Apache2/error.logを指定していますが、これはさらに別の空のファイルです。

7
AP257

最初の投稿は、Debianのすべてのケースに当てはまるわけではありません。 apt経由か、ソースからのコンパイルによるかは、パッケージのインストール方法によって異なります。

ログの場所を見つけるには、Apacheがログを生成するように指示されていると言っているように、次のコマンドを実行します。

/usr/sbin/apachectl -V

linuxの一部のディストリビューションは、/ usr/sbin/apacheVERctlと呼ばれるシンボリックリンクを作成します。VERは2または1.3などです。 Debianは実際のファイルを/ usr/sbin /に配置するため、上記のコマンドを実行すると、次のようになります。

/usr/sbin/apachectl -V
Server version: Apache/2.2.3

<removed for brevity>

 -D DEFAULT_PIDLOG="run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/Apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log" <<=== default log files stored in "logs/" which is relative to /usr/local/Apache<VER>/logs on this server==>
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

ご覧のとおり、私のログは/ usr/local/Apache2/error_logにあります。サーバーのコンパイル方法によっては、-prefixフラグが別の場所を指している場合があります。あなたの最善の策は、そのコマンドを実行し、findを使用してerror_logを探すことです。

find / -iname name_of_error_log_file_that_apachectl_spit_out

バイナリの場所を見つけるには、find/-iname apachectlまたはそのさまざまな置換を行う必要がある場合があります。/usr/sbin/httpdと呼ばれることもあります。ただ、findコマンドを知っていることを確認してください。

Google検索では常に正しい答えが得られるとは限らないため、サービスのドキュメントを読むことが重要です。

また、ドキュメントを確認した後、ドキュメント全体を調べた場合、/ nimdaパスのログはすでに構成されているため、nimdaのログは次の場所にあります。

    <cut above config lines>

        CustomLog /var/log/httpd/OSQA/access_log common
        ErrorLog /var/log/httpd/OSQA/error_log
    </VirtualHost>

SSLの場合、ログは同じ場所に送られているように見えます。

(オプション)https ServerAdmin [email protected] DocumentRoot/path/to/osqa-siteの下で管理インターフェースを実行しますServerName example.com SSLEngine on SSLCertificateFile /path/to/ssl-certificate/server.crt SSLCertificateKeyFile/path/to/ssl- certificate/server.key WSGIScriptAlias//path/to/osqa-site/osqa.wsgi CustomLog/var/log/httpd/OSQA/access_log common ErrorLog/var/log/httpd/OSQA/error_log DirectoryIndex index.html

チェックしてください

/usr/local/Apache<VER>/logs 

サーバー上でも

/usr/local/httpd/*, /var/log/httpd or /var/log/Apache<ver>. 

Linuxディストリビューションによって、ログの保存場所が異なります。

ログは常に/ var/log/Apache/*または/ var/log/httpdにあるとは限りません

/ var/log/httpd /にある場合もあれば、ソースからApacheをコンパイルする場合もあり、Apache変数DEFAULT_ERRORLOGの設定が異なるため、access_logが別の場所にあるときにエラーログが1か所にあります。場合によっては、ファイルの名前も異なることがあります。多くのドメインがあり、重要な情報が公開される可能性があるため、他のドメインのログを他のドメインのログに表示したくないため、別の仮想ホストを構成してログを別の場所に保存する場合があります。最初の投稿がすべてのケースで機能するわけではありません。

Googleはすべての質問に答えることができず、誰かに「グーグルイット」と言って非常に多くの言葉で伝えることは、常に最良の答えであるとは限りません。

Redhat分散RPMからインストールした場合、ログを別の場所に配置するRedhatを使用する可能性があります。

6
Jarrod Wageman

Apacheには多くのオンラインリソースがあります。自分で答えを見つけるためにGoogleを検索してみましたか?

数か月前にGoogleを検索したところ、次の情報が見つかりました。

ErrorLog     /var/log/Apache2/error.log
AccessLog    /var/log/Apache2/access.log

start/stop   /etc/init.d/Apache2 (start|stop|restart|reload|force-reload|start-htcacheclean|stop-htcacheclean) 
6
Tom