はじめに
CentOS7.5.1804にApache httpd 2.4.33(最新版)の導入CentOS7.5.1804にPHP 7.2.6(最新版)の導入
の方法でApache及びPHPを導入していることを前提といたします。
・・・・が、正直あまり気にする必要はないと思います。
エラーの解決
Apache起動時のエラーを確認します。
[systemctl stop httpd.service]Apacheを停止します。[rm -Rf /var/log/httpd/error_log]エラーログを消します。(※運用前のみ)
[systemctl start httpd.service]Apacheを起動します。
[cat /var/log/httpd/error_log]エラーログを確認します。
上から簡単に
[suEXEC mechanism enabled]
※エラーではありませんが、私は使わないのでsuEXECは無効にします。
[Could not reliably determine the server's fully qualified domain name]
※サーバー名をちゃんと書きましょう。
[The mpm module (prefork.c) is not supported by mod_http2]
※MPMモジュールはmod_http2に非対応です。
[mod_ssl does not seem to be enabled]
※mod_sslが有効になっていません。
[No slotmem from mod_heartmonitor]
※エラーではありませんが、私は使わないモジュールが原因ですので無効にします。
となっています。
[mod_ssl does not seem to be enabled]の対応
[yum -y install httpd24u-mod_ssl]httpd24u-mod_sslをインストールします。[The mpm module (prefork.c) is not supported by mod_http2]の対応
[vi /etc/httpd/conf.modules.d/00-mpm.conf]で使用するモジュールを変更します。※デフォルトの[prefork]以外に[worker]と[event]があります。
※[worker]と[event]であればエラーはでません。
※今回は[worker]を利用しますが[event]に変える日が来るような気もしています。
[suEXEC mechanism enabled]の対応
[vi /etc/httpd/conf.d/suEXEC.conf]を作成します。※/etc/httpd/conf/httpd.confに記載してもOKですが、後々のバージョンアップ時に別ファイルのほうが便利かと思い別ファイルとしています。
[No slotmem from mod_heartmonitor]の対応
[vi /etc/httpd/conf/httpd.conf]から[Include conf.modules.d/*.conf]をコメントアウトして[00-proxy.conf]以外のモジュール用コンフィグファイルを読み込みます。[Could not reliably determine the server's fully qualified domain name]の対応
[vi /etc/httpd/conf/httpd.conf]から[ServerName]の設定をする。ついでに[ServerAdmin]の設定もする。
[ServerName]はコメントアウトされているサンプルの通り、Apacheを使う際のメインFQDNを記載します。
FQDNが無い場合はIPアドレスでも構いません。
[ServerAdmin]は連絡の取れるメールアドレスを記載します。
私は[no-reply@所有ドメイン]として[/dev/null]で受信しています。(悪い例)
再度、Apache起動時のエラーを確認します。
[systemctl stop httpd.service]Apacheを停止します。[rm -Rf /var/log/httpd/error_log]エラーログを消します。(※運用前のみ)
[systemctl start httpd.service]Apacheを起動します。
[cat /var/log/httpd/error_log]エラーログを確認します。
エラーが無くなったことを確認できます。
WebブラウザにPHP情報を出力します。(追記:2018/12/03)
- vi /var/www/html/info.php
・・表示されません・・
【/etc/httpd/conf.modules.d/15-php.conf】でモジュールが読み込まれていない為です。
- vi /var/www/html/info.php
systemctl stop httpd.service
systemctl start httpd.service
正常にApache上でPHPが動作していることを確認できます。
0 件のコメント :
コメントを投稿