仮想サイトのディレクトリを直接削除したり、間違ったApache設定ファイルhttpd.confの変更などでApacheが急に停止、再起動が出来なくなってしまう場合がございます。
他のサーバサービスが正常に作動しているにも関わらず、ウェブサーバだけが停止した場合は、まずhttpdのエラーログファイルをチェックすることが重要となります。
httpdのログファイルは/var/log/httpd/error_logにあります。
例えば、よく見られるエラーメッセージには以下のようなものがあります:
caught SIGTERM, shutting down
fopen: No such file or
directory
httpd: could not open error log file
/home/USERID/MYDOMAIN/error_log.
USERIDは設定されたユーザのID、MYDOMAINは仮想サイトのドメイン名を意味します。
仮想サイトMYDOMAINを削除しようとして、直接File
ManagerもしくはFTP上で直接/homeにあるUSERIDディレクトリを削除した場合がこのようなエラーが見られます。
エラーがでる原因は、Apacheの設定ファイルhttpd.confにはまだ該当仮想サイトに関する設定が残っているためです。
httpd.confにある仮想サイトに関する定義は以下のように書かれます:
<VirtualHost xxx.xxx.xxx.xxx>
<Directory
/home/USERID/SITEDOMAIN/html/>
Options Indexes FollowSymLinks
Includes
AllowOverride All
</Directory>
ServerName
SITEDOMAIN
DocumentRoot /home/USERID/SITEDOMAIN/html/
User USERID
Group
USERID
ScriptAlias /cgi-bin/ /home/USERID/SITEDOMAIN/cgi-bin/
AddType
text/html .shtml
AddHandler server-parsed .shtml
CustomLog
/home/USERID/SITEDOMAIN/access_log common
ErrorLog
/home/USERID/SITEDOMAIN/error_log
</VirtualHost>
Apacheサーバが再起動するときに、/home/USERID/SITEDOMAIN/error_logにあるエラーログファイルを開くことができないために、再起動できなくなります。
このような操作をしてしまうと、すぐにウェブサーバがダウンしません。毎日ログローテーションのためにApacheが自動的に再起動しますので、再起動の際に、この問題によって再起動できないことがございます。
この場合は、削除したディレクトリ、ファイルを元通りに戻せば、コントロールパネルの「System」→「Services」→「httpd」を再起動することで、ウェブサーバを再起動できます。削除したディレクトリ、ファイルが見つからない場合は、ユーザUSERIDを作り、「/home」の下に「USERID」、「SITEDOMAIN」のディレクトリを作るだけでいいです。ただし、「USERID」、「SITEDOMAIN」のプロパティで「Owner」、「Group」はとも「USERID」に設定することに注意ください。終わりましたら、コントロールパネルから再起動できます。
エラーログに表示されない場合もございますが、よく見られるケースは、FTPでhttpd.confをアップロードした際に、バイナリーモードで転送したため、行末に「^M」がついてしまう現象です。このようなキャラクターがついてしまうと、httpd.confが正常に機能しません。FTPからもう一度アスキーモードでアップロードすればこの問題が解決されます。アスキーモードは通常「A」で、バイナリーモードは通常「B」とFTPソフトに表示されます。
Apacheの設定ファイルhttpd.confを編集する際に一番注意すべき点は、バックアップファイルを取ることです。万が一設定内容に間違いがあり、ウェブサーバの再起動ができない場合は、バックアップファイルを利用して一つ前の状態に戻せば、ウェブサーバが再起動されます。
以上で紹介したのは多く見られるウェブサーバダンの原因です。どれでも状況に当てはまらない場合は、弊社サポート まで問い合わせ下さい。