VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

CentOS Stream9でApache、PHPを設定する際の注意点

CentOS Stream9でApache、PHPを設定する際の注意点についてまとめまています。

※目次をクリックすると目次の下部にコンテンツが表示されます。

Apache(v2.4)のファイル構成
1)設定ファイルの種類、配置
 
①/etc/httpd/conf/httpd.conf
・主要設定ファイル。
 
②/etc/httpd/conf.d/
・主要設定ファイル内に含まれている設定ファイル用の補助ディレクトリー。
 
③/etc/httpd/conf.modules.d/
・RHELにパッケージ化されたインストール済みの動的モジュールを読み込む設定ファイルの補助ディレクトリー。
・デフォルト設定では、この設定ファイルが最初に処理される。
 
●設定内容のチェックコマンド
# apachectl configtest
 
2)コンテンツの配置
 
●デフォルトのコンテンツ配置ディレクトリ
・/var/www/html/
 
●ディレクトリ、ファイルの所有者
・httpdを実行するユーザーが、デフォルトでファイルとディレクトリーを読み取れるようにする必要がある。
・コンテンツの所有者は、 root、rootグループ、または管理者別のユーザーまたはグループのいずれかになる。
・コンテンツの所有者が rootおよび rootグループの場合には、他のユーザーがファイルを読み取れるようにする必要がある。
SELinux利用時のApacheの設定
1)SELinux コンテキストのタイプ
 
・httpd_sys_content_t である必要がある。
・デフォルトで /var/www ディレクトリー内の全コンテンツに適用される。
 
※SELinux コンテキストの確認例
# semanage fcontext -l | grep www
/var/www(/.*)? all files system_u:object_r:httpd_sys_content_t:s0
  :
  
2)SELinuxの設定例
 
①/var/test_www/html/ディレクトリにコンテンツを配置する場合
 
SELinux タイプを、デフォルトの /var/ ディレクトリーのタイプに変更
# semanage fcontext -a -e /var/www /var/test_www
再帰的に、/var ディレクトリーのラベルを再設定
# restorecon -Rv /var/
 
②/srv/example.com/ディレクトリにコンテンツを配置する場合
 
# semanage fcontext -a -t httpd_sys_content_t “/srv/example.com(/.*)?”
# restorecon -Rv /srv/example.com/
 
※restorecon コマンドを実行する場合は、policycoreutils-python-utils パッケージをインストールする必要がある。
 
③TCPのポート 3131 をリッスンする場合
 
Ⅰ)ポート80のSELinuxコンテキストタイプを確認
# semanage port -l | grep http
http_cache_port_t tcp 8080, 8118, 8123, 10001-10010
http_cache_port_t udp 3130
http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t tcp 5988
pegasus_https_port_t tcp 5989
 
Ⅱ)ポート80のSELinuxコンテキストタイプが”http_port_t”なので、3131ポートも同様に指定
# semanage port -a -t http_port_t -p tcp 3131
PHPをApacheで使用する場合の注意点
1)PHPを処理するApaheモジュール
 
・mod_php モジュールは削除され、RHEL 8 以降、PHPスクリプトはデフォルトで FastCGI Process Manager(FPM) が使用されている。
 
2)php-fpmサービスの起動
 
・デフォルトでhttpdと一緒に起動するように設定されている。
 
3)PHPの設定ファイル
 
〇/etc/httpd/conf.d/php.conf
・httpd の PHP 固有の設定
 
〇/usr/lib/systemd/system/httpd.service.d/php-fpm.conf
・デフォルトでは、php-fpm サービスは httpd と一緒に起動する。
 
〇/etc/php-fpm.conf
・FPM の主な設定
 
〇/etc/php-fpm.d/www.conf
・デフォルトの www プール設定
モバイルバージョンを終了