序章

このチュートリアルでは、CentOS8サーバーにLEMPスタックをインストールします。 MySQLはCentOS8のデフォルトのリポジトリから利用できますが、このガイドでは、データベース管理システムとしてMariaDBを使用してLEMPスタックを設定するプロセスについて説明します。

このチュートリアルのより詳細なバージョンと各ステップの詳細については、 CentOS 8 にLinux、Nginx、MySQL、PHP(LEMP)スタックをインストールする方法を参照してください。

前提条件

このガイドに従うには、sudoユーザーとしてCentOS8サーバーにアクセスする必要があります。

ステップ1—Nginxをインストールします

nginxパッケージを次のコマンドでインストールします。

  1. sudo dnf install nginx

インストールが完了したら、次のコマンドを実行してサーバーを有効にして起動します。

  1. sudo systemctl start nginx

firewalldがアクティブな場合、ポート80(HTTP)で外部アクセスを許可するには、次のコマンドを実行する必要があります。

  1. sudo firewall-cmd --permanent --add-service=http

ファイアウォール構成をリロードして、変更を有効にします。

  1. sudo firewall-cmd --reload

新しいファイアウォールルールを追加すると、WebブラウザからサーバーのパブリックIPアドレスまたはドメイン名にアクセスして、サーバーが稼働しているかどうかをテストできます。 次のようなページが表示されます。

Default Nginx Page CentOS 8

ステップ2—MariaDBをインストールします

ここで、Oracleによる元のMySQLサーバーのコミュニティ開発フォークであるMariaDBをインストールします。 このソフトウェアをインストールするには、以下を実行します。

  1. sudo dnf install mariadb-server

インストールが完了したら、MariaDBサーバーを有効にして起動します。

  1. sudo systemctl start mariadb

データベースサーバーのセキュリティを向上させるために、MariaDBにプリインストールされているセキュリティスクリプトを実行することをお勧めします。 次のコマンドでインタラクティブスクリプトを開始します。

  1. sudo mysql_secure_installation

最初のプロンプトでは、現在のデータベースルートパスワードを入力するように求められます。 MariaDBをインストールしたばかりで、まだ構成を変更していないため、このパスワードは空白になります。プロンプトでENTERを押すだけです。

次のプロンプトでは、データベースルートパスワードを設定するかどうかを尋ねられます。 MariaDBは、 root ユーザーに対して、通常はパスワードを使用するよりも安全な特別な認証方法を使用するため、ここでこれを設定する必要はありません。 Nと入力し、ENTERを押します。

そこから、Y、次にENTERを押して、後続のすべての質問のデフォルトを受け入れることができます。

ステップ3—PHP-FPMをインストールします

php-fpmおよびphp-mysqlパッケージをインストールするには、次のコマンドを実行します。

  1. sudo dnf install php-fpm php-mysqlnd

インストールが完了したら、いくつかの設定を調整するために/etc/php-fpm.d/www.confファイルを編集する必要があります。 これらのファイルの編集を容易にするために、nanoをインストールします。

  1. sudo dnf install nano

次に、nanoまたは選択したエディターを使用して、/etc/php-fpm.d/www.conf構成ファイルを開きます。

  1. sudo nano /etc/php-fpm.d/www.conf

userおよびgroupディレクティブを探します。 nanoを使用している場合は、CTRL + Wを押して、開いているファイル内でこれらの用語を検索できます。 必ず両方の値をapacheからnginxに変更してください。

/etc/php-fpm.d/www.conf
…
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx

編集が完了したら、ファイルを保存して閉じます。

php-fpmサービスを有効にして開始するには、次のコマンドを実行します。

  1. sudo systemctl start php-fpm

最後に、Nginx Webサーバーを再起動して、php-fpmインストールによって作成された構成ファイルをロードします。

  1. sudo systemctl restart nginx

ステップ4—NginxでPHPをテストする

CentOS 8では、デフォルトのphp-fpmインストールにより、NginxWebサーバーが/usr/share/nginx/htmlにあるデフォルトのドキュメントルートで.phpファイルを処理できるようにする構成ファイルが自動的に作成されます。 PHPがWebサーバー内で正しく機能するために、Nginxの構成を変更する必要はありません。

Nginxのドキュメントルートのデフォルトの所有者とグループを変更するだけで、通常の非ルートシステムユーザーを使用してその場所でファイルを作成および変更できます。

  1. sudo chown -R sammy.sammy /usr/share/nginx/html/

/usr/share/nginx/htmlディレクトリにinfo.phpという名前の新しいPHPファイルを作成します。

  1. nano /usr/share/nginx/html/info.php

次のPHPコードは、サーバーで実行されている現在のPHP環境に関する情報を表示します。

/usr/share/nginx/html/info.php
<?php

phpinfo();

このコンテンツをinfo.phpファイルにコピーし、完了したら忘れずに保存してください。

これで、WebサーバーがPHPスクリプトによって生成されたコンテンツを正しく表示できるかどうかをテストできます。 ブラウザに移動し、サーバーのホスト名またはIPアドレスにアクセスし、続いて/info.phpにアクセスします。

http://server_host_or_IP/info.php

次のようなページが表示されます。

CentOS 8 default PHP info

このチュートリアルに関連するより詳細なガイドへのリンクは次のとおりです。