Apache2エラー集

/usr/sbin/apache2ctl: 87: ulimit: error setting limit (Operation not permitted)

/usr/sbin/apache2ctl: 87: ulimit: error setting limit (Operation not permitted)
というのが出て何か変。特に何もしていないんだけど、再起動したらエラーが出るようになった。こういう場合は、ctlのconfigテストをやればいいみたい。
(英語だけど出典
# apache2ctl configtest
/usr/sbin/apache2ctl: 87: ulimit: error setting limit (Operation not permitted)
Syntax OK

この時点で、Apache2をリスタートできるようになります。
# service apache2 restart

(98)Address already in use: make_sock: could not bind to address 0.0.0.0: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
...fail!

という理由で、Apacheを起動できない時がある。ポートの問題とかもあるらしいけど(こちら:http://blog.livedoor.jp/leaf_hiro/archives/51105888.html)、私の場合プロセスが重複して生きていたのでポート80使ってるプロセス殺したら再起動できました。たぶん、サーバー自体をリブートした際にSSLで設定した証明書にパスフレーズが付いていたので、起動できないで詰まっていたのかも。で80だけ立ち上がって、443が立ち上がっていない状態なのかな。
# ps aux ¦ grep apache2
root 981 0.0 0.0 4400 776 ? S 03:23 0:00 /bin/sh /etc/rc2.d/S91apache2 start
root 990 0.0 0.0 4400 612 ? S 03:23 0:00 /bin/sh /usr/sbin/apache2ctl start
root 994 0.0 0.3 107740 6576 ? S 03:23 0:00 /usr/sbin/apache2 -k start
root 995 0.0 0.0 17864 1460 ? S 03:23 0:00 /bin/bash /usr/share/apache2/ask-for-passphrase example.com:443 RSA
root 1686 0.0 0.0 8104 924 pts/0 S+ 03:54 0:00 grep --color=auto apache2

とこんな感じだったので、
kill -9 981
とひとつひとつ切ってやって、最後にApache2を再起動でOK。
パスワードなしの証明書じゃないと駄目ですね。

httpd: apr_sockaddr_info_get() failed for server_name

Apache立ち上げ時にこういうエラーが発生することがあります。エラーでもないんですが。
httpd: apr_sockaddr_info_get() failed for [HOSTNAME]
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

ホストが見つからないというエラーです。httpd: apr_sockaddr_info_get() failed for [HOSTNAME]は、/etc/sysconfig/networkに書いてあるHOSTNAMEが/etc/hostsに書かれていないといっております。ので、hostsファイルのlocalhostに続けてnetworkに書かれているホスト名を追加するだけでOKです。
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerNameは、/etc/httpd/conf/httpd.conf内のServerNameがないと言っております。指定のドメインを設定してあげるかhostsファイルのホスト名を設定してみてください。

_default_ VirtualHost overlap on port 80, the first has precedence

バーチャルホストの設定しているのに、#NameVirtualHost *:80のコメントアウトが外れていないです。990行目辺りを
#NameVirtualHost *:80
とする。