Docker #17:CentOS+Apache+PHP環境 (3)

前回からの続き…
PHPが動作しないのはOS(CentOS8)が原因と分かった。
CentOS8環境でApache+PHPが動作するように、いきなりDockerfileを作らず1つずつ手順を確認する。

1) まず、前回作成したイメージ(phpとcentos:7)は削除する。
"docker rmi php"
"docker rmi centos:7"

2) 以前ダウンロードしたcentos:latestのイメージは残っているので実行
"docker run -it -p 80:80 centos:latest bash"

3) CentOSのバージョンを確認しておく
"cat /etc/redhat-release"
[root@b68af919376a /]# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)
→ 8.2.2004

4) パッケージをアップデートする
"yum"は廃止となる、らしいので代替の"dnf"コマンドで実施
"dnf update -y"

5) Apacheインストール
"dnf install httpd -y"
→ 色々入りました
Installed:
apr-1.6.3-9.el8.x86_64                                      apr-util-1.6.1-6.el8.x86_64
apr-util-bdb-1.6.1-6.el8.x86_64                             apr-util-openssl-1.6.1-6.el8.x86_64
brotli-1.0.6-1.el8.x86_64                                   centos-logos-httpd-80.5-2.el8.noarch
httpd-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64          httpd-filesystem-2.4.37-21.module_el8.2.0+382+15b0afa8.noarch
httpd-tools-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64    mailcap-2.1.48-3.el8.noarch
mod_http2-1.11.3-3.module_el8.2.0+307+4d18d695.x86_64

6) PHPインストール
"dnf install php -y"
Installed:
libedit-3.1-23.20170329cvs.el8.x86_64                     nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch
php-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64           php-cli-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64
php-common-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64    php-fpm-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64

7) Apache起動
"/usr/sbin/httpd"

7) 動作確認
ブラウザで http://192.168.99.102 を表示
→ APACHE HTTP SERVERのテストページが表示される → 動作OK

/var/www/html/index.php ファイルを作成
ファイルの内容は phpinfo() とする

ブラウザで http://192.168.99.102 を表示
→ "Service Unavailable" エラーとなる

エラーログ確認してみる。
"vi /var/log/httpd/error_log"
[Sun Jul 26 22:39:13.905309 2020] [suexec:notice] [pid 145:tid 139713873054016] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Sun Jul 26 22:39:14.000160 2020] [lbmethod_heartbeat:notice] [pid 146:tid 139713873054016] AH02282: No slotmem from mod_heartmonitor
[Sun Jul 26 22:39:14.002903 2020] [http2:warn] [pid 146:tid 139713873054016] AH02951: mod_ssl does not seem to be enabled
[Sun Jul 26 22:39:14.021581 2020] [mpm_event:notice] [pid 146:tid 139713873054016] AH00489: Apache/2.4.37 (centos) configured -- resuming normal operations
[Sun Jul 26 22:39:14.021713 2020] [core:notice] [pid 146:tid 139713873054016] AH00094: Command line: '/usr/sbin/httpd'
[Sun Jul 26 22:39:18.204715 2020] [autoindex:error] [pid 149:tid 139713180583680] [client 192.168.99.1:56373] AH01276: Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.html,index.php) found, and server-generated directory index forbidden by Options directive
[Sun Jul 26 22:39:53.365834 2020] [proxy:error] [pid 150:tid 139713197369088] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php-fpm/www.sock (*) failed
[Sun Jul 26 22:39:53.366144 2020] [proxy_fcgi:error] [pid 150:tid 139713197369088] [client 192.168.99.1:56374] AH01079: failed to make connection to backend: httpd-UDS
きっと下から2番目のログ(proxy:error)が原因なんだろう。

続く

0 件のコメント:

その他の記事