確認
取り敢えず動作しているように見えるが、Xen という異なった環境からの移行だから正しく移行されたか確認していく。ここでは遭遇したいくつかの例を挙げる。なお、おそらくほとんどが pc.casey.jp » [Linux] Xen イメージをVMware イメージに変換する で操作ミスがあったものと思われる。すべからく変換は正しく行われたと言える。
スポンサードリンク
Linux の起動に失敗する
ファイルシステムが違うなどのエラー表示があった場合、 /boot/grub/menu.lst を修正する。
ネットワークに接続できない
VMware のネットワークアダプタ設定が正しくなかったので、構成を修正した。
Apache が起動しない
httpd を停止中: [失敗]
httpd を起動中:
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs
上記のようなエラーが出ている場合は、正しくApache が終了していなかったことが原因だ。以下のコマンドを使って、正しく終了できなかったApache を探す。
# /usr/sbin/lsof -i | grep http
httpd 2891 root 3u IPv6 8322 TCP *:http (LISTEN)
httpd 2891 root 5u IPv6 8327 TCP *:https (LISTEN)
httpd 2944 apache 3u IPv6 8322 TCP *:http (LISTEN)
httpd 2944 apache 5u IPv6 8327 TCP *:https (LISTEN)
httpd 2945 apache 3u IPv6 8322 TCP *:http (LISTEN)
httpd 2945 apache 5u IPv6 8327 TCP *:https (LISTEN)
httpd 2946 apache 3u IPv6 8322 TCP *:http (LISTEN)
httpd 2946 apache 5u IPv6 8327 TCP *:https (LISTEN)
httpd 2947 apache 3u IPv6 8322 TCP *:http (LISTEN)
httpd 2947 apache 5u IPv6 8327 TCP *:https (LISTEN)
httpd 2948 apache 3u IPv6 8322 TCP *:http (LISTEN)
httpd 2948 apache 5u IPv6 8327 TCP *:https (LISTEN)
httpd 2949 apache 3u IPv6 8322 TCP *:http (LISTEN)
httpd 2949 apache 5u IPv6 8327 TCP *:https (LISTEN)
httpd 2950 apache 3u IPv6 8322 TCP *:http (LISTEN)
httpd 2950 apache 5u IPv6 8327 TCP *:https (LISTEN)
httpd 2951 apache 3u IPv6 8322 TCP *:http (LISTEN)
httpd 2951 apache 5u IPv6 8327 TCP *:https (LISTEN)
今回の場合、上記が正しく終了していなかった。以下のコマンドを使って終了させる。
# kill 2944 2945 2946 2950 2951 2891
Apache に再起動コマンドを送り、正しく起動できるか確かめる。
# service httpd restart
httpd を停止中: [失敗]
httpd を起動中: [ OK ]
起動に成功したら期待通りのアクセスが出来るか確かめる。まだ問題が残っているかもしれないから pc.casey.jp » Firefox hosts切替アドオン-SwitchHosts などを使うと便利。
やっぱりオカシイ
何度か再起動するなどしていると、shutdownする際にhttpd が正しく終了できずにFAILED になっている。上記と同じくプロセスをkill すれば起動できる。調べてみると終了が正しくできないようだ。なぜだろう。
confファイルに問題がないか調べる。
# apachectl configtest
Syntax OK
logファイルに手がかりがないか調べる。
# tail /etc/httpd/logs/error_log
[Tue Jan 04 20:43:52 2011] [notice] caught SIGTERM, shutting down
[Tue Jan 04 20:44:58 2011] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Jan 04 20:44:59 2011] [notice] Digest: generating secret for digest authentication …
[Tue Jan 04 20:44:59 2011] [notice] Digest: done
[Tue Jan 04 20:44:59 2011] [notice] Apache/2.2.3 (CentOS) configured — resuming normal operations
その他の方法で調べてみる。
# /usr/sbin/httpd
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
様々な情報があったが、意外なところに答えはあった。httpd.conf でpid が何故か 「PidFile run/apache2.pid」 になっていた。これを正しく httpd.pid に修正し、kill し、 service httpd restart を行うと正しく動作した。これはハマった。が、変更した覚えもない。そもそも自分が触る部分でもない。誰が悪さをしたのだろうか。まさかVMware Server2 じゃないだろうな…。
proftpd が起動しない
コンソール起動画面を見ているとproftpd もFAILD となっている。確かめてみる。
# service proftpd restart
proftpd を停止中: [失敗]
proftpd を起動中: [失敗]
他の方法で確かめる。
# /usr/sbin/proftpd
– warning: handling possibly truncated configuration data at line 154 of ‘/etc/proftpd.conf’
*****.jp – fatal: Socket operation on non-socket
エラーの内容が表示された。1行目と2行目の2つのエラーがあるようだ。
改行コードのエラーを直す
1行目はWindowsでファイルを編集したことに選る改行コードのエラーということらしいのでviで適当に保存しなおす。
# /usr/sbin/proftpd
****.jp – fatal: Socket operation on non-socket
改善されたようだ。もうひとつの問題に対処する。
起動方式の間違いを正す
このproftpd は常時待機しておらず、接続があったときに起動するよう設定されている。そのような設定になっているときに /usr/sbin/proftpd としてはいけないそうだ。当然といえば当然だが、そうすると、boot の際にService として起動していないか確かめると、起動するよう設定されていたのでoff にする。
# chkconfig proftpd off
念のためシステムを再起動する。起動画面のService に表示されず、OKなのかFAILD なのか不明だがクライアントからFTP接続すると接続できた。つまり、接続要求に応じて起動する(設定通りの)動作をしていることになる。これで問題は解 決した。ただ、これらはFAILD になっていても動作してしまうから、以前から存在していたのかもしれない。コンソールなどほとんど見ることはないから…。
不用品の削除
この状態で yum update を行うと Xen 関連のアップデートも行われてしまう。Xen 関連を削除する。
# yum remove kernel-xen kernel-xen-headers
参考文献
- apacheの再起動でエラー (98)Address already in use: make_sock: could not bind to address [::]:80 – ギーク芸人を目指すデジタルケイタのブログ
- Parellels FAQ – Apacheが起動しない:”(98)Address already in use: make_sock: could not bind to address”
- proftpdが起動できない
- No.2197 proftpd謎のエラー
- №1891 service httpd stopに失敗する – Web Patio – CentOSで自宅サーバー構築
- CentOSでIPv6を無効化 LAMP Tips
- ProFTPD memo
- No.3507 ProFTPdのRPM
- Configuring ProFTPD – FAQ
コメント