LEMP環境の構築[ MySQL・PHPをインストールする]
動的コンテンツを表示するためのコードを処理するPHPとMySQLドロップインの代替品であるMariaDBをインストールします。 LEMP(Linux,Nginx,Mysql(MariaDB),php)スタックの「M」と「P」にあたるパーツです。Wordpressを運用するなら必須ですね。
前回:
ステップ7 - MySQLをインストールする(MariaDB)
MySQLドロップインの代替品であるMariaDBをインストールします。MariaDBは、コミュニティが開発したMySQLリレーショナルデータベース管理システムです。
$ sudo yum install mariadb-server mariadb
インストールが完了したら、次のコマンドでMariaDBを起動します。
$ sudo systemctl start mariadb
MySQLデータベースが実行されたので、セキュリティ上よろしくないデフォルトの設定を削除する簡単なセキュリティスクリプトを実行します。 次のコマンドを実行してインタラクティブスクリプトを起動します。
$ sudo mysql_secure_installation
サーバー起動時にMariaDBを起動できるようにします。
$ sudo systemctl enable mariadb
ステップ8 - PHPをインストールする
PHPは、動的コンテンツを表示するためのコードを処理します。 スクリプトを実行し、MySQLデータベースに接続して情報を取得し、処理されたコンテンツをWebサーバーに渡してコンテンツを表示することができます。
$ sudo rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ sudo yum install --enablerepo=remi,remi-php73 php php-fpm php-mbstring php-mysql php-devel php-gd php-pecl-zendopcache php-pear
PHPプロセッサを設定する
これでPHPコンポーネントはインストールされましたが、セットアップをより安全にするためにわずかな設定変更を加える必要があります。
$ sudo vim /etc/php.ini
cgi.fix_pathinfo
を設定するパラメータを探します。(セミコロン(;)でコメントアウトされ、デフォルトで "1"に設定されているはずです。) これは、PHPファイルが完全に一致しない場合に、近いファイルを実行することを試みるようにPHPに指示するパラメーターのなで、非常によろしくない設定です。 この行のコメントを外して次のように "0"にして、意図しないファイルが実行されないように設定します。
- ;cgi.fix_pathinfo=1
+ cgi.fix_pathinfo=0
次に、php-fpm設定ファイルを開きます。
$ sudo vim /etc/php-fpm.d/www.conf
NginxでPHP使えるように設定する場合、PHP-FPMを使います。 listenパラメータを指定している行を見つけて、次のように変更します。また、 nginxからphp-fpmを実行する際は「nginx」ユーザーになるので、実行ユーザーをnginxにします。
- listen = 127.0.0.1:9000
+ listen = /var/run/php-fpm/php-fpm.sock
- ;listen.owner = nobody
+ listen.owner = nginx
- ;listen.group = nobody
+ listen.group = nginx
- user = apache
+ user = nginx
- group = apache
+ group = nginx
次にPHP-FPMを起動して、サーバー起動時にPHP-FPMを起動できるようにします。
$ sudo systemctl start php-fpm
$ systemctl enable php-fpm
参考にしたサイト