いつも勉強させて頂いております。
ただいま「SSLによるSecureWWWサーバの構築」を参考にApache+SSLの設定をしています。
環境は Fedora Core 2 + Apache2.0.52 です。
自動起動させるため起動スクリプトを置きました。
GUIな環境ですので「サービスの設定」にてhttpdを起動すると下記のようなエラーが出ます(エラーは出ますが、おそらく問題なく動いてはいるようです)
-------------------------------------------------------------------
httpd failed. The error was: Starting httpd: grep: /etc/httpd/conf/
httpd.conf: No such file or directory
[ OK ]
(98)Address already in use: make_sock: could not bind to
address [::]:80
no listening sockets available, shutting down
Unable to open logs
[FAILED]
-------------------------------------------------------------------
スクリプトの下記行をコメントアウトしSSLを使わないようにするとこのエラーは出ません。
daemon $httpd -D SSL $OPTIONS
原因がわからないのですが、参考になるご意見を頂ければ幸いです。
よろしくお願い致します。
> ただいま「SSLによるSecureWWWサーバの構築」を参考にApache+SSLの設定をしています。
> 環境は Fedora Core 2 + Apache2.0.52 です。
>
> 自動起動させるため起動スクリプトを置きました。
この文章・バージョンからすると、FC2でソースから入れたということですよね。
> GUIな環境ですので「サービスの設定」にてhttpdを起動すると下記のようなエラーが出ます(エラーは出ますが、おそらく問題なく動いてはいるようです)
この起動スクリプトは、どういった素性のものですか? 自分でソースにあるものを設定したもののように見えますが?何で動いていると判断しましたか?
> -------------------------------------------------------------------
> httpd failed. The error was: Starting httpd: grep: /etc/httpd/conf/
> httpd.conf: No such file or directory
> [ OK ]
> (98)Address already in use: make_sock: could not bind to
> address [::]:80
> no listening sockets available, shutting down
> Unable to open logs
> [FAILED]
> -------------------------------------------------------------------
上記は、肝心なhttpd.confが/etc/httpd/conf/に存在しないと言ってますが、そもそもソースからデフォルトで入れたらここに存在するわけもなく、おやじのHPにもあるように当然、スクリプトの変更が必要です。
また、既に80番が使われていると思われるメッセージも出ているので、2重起動になっているように見えます。FC2のApacheが動いてませんか?
更に、logsファイルがオープンできないといってますので、confの位置と合わせて、起動スクリプトと実態がミスマッチしているまま、起動しようとしていますね。
> スクリプトの下記行をコメントアウトしSSLを使わないようにするとこのエラーは出ません。
> daemon $httpd -D SSL $OPTIONS
これがApacheを起動するコマンドそのものですから、これをコメントアウトしたら、Apacheは起動しませんからエラーが出るわけがありません。さらに、-D SSLを書いて起動する前には、証明書が準備できていなければ、HPに書いてあるとおりこれまたエラーになります。
このままでは、ソースから動かすのは無理がありそうですね。素直にFC2のRPMで動かしたほうがいいですし、FC2なら最新のものにすぐに対応しますので、ソースから入れる意味もないと思います。
お返事ありがとうございました。
> > スクリプトの下記行をコメントアウトしSSLを使わないようにするとこのエラーは出ません。
> > daemon $httpd -D SSL $OPTIONS
>
> これがApacheを起動するコマンドそのものですから、これをコメントアウトしたら、Apacheは起動しませんからエラーが出るわけがありません。さらに、-D SSLを書いて起動する前には、証明書が準備できていなければ、HPに書いてあるとおりこれまたエラーになります。
このお言葉を読んで、分かりました。私の単純なミスでした。
SSLを導入したときに、すぐに戻せるように「daemon $httpd $OPTIONS」の行を残したのですが、コメントアウトするのを忘れていたため下記のように二重に起動することになっていたのです。
daemon $httpd -D SSL $OPTIONS
daemon $httpd $OPTIONS
お恥ずかしい限りです。お騒がせ致しました。
ありがとうございました。