mockroNotes -モックロノート-

ガジェットやイラスト、ワークアウトに関心を示すブログです

LEMP環境の構築[ MySQL・PHPをインストールする]

f:id:mockro:20210616234213p:plain


 動的コンテンツを表示するためのコードを処理するPHPMySQLドロップインの代替品である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

 


参考にしたサイト