Linux、Nginx、MySQL、PHP(LEMP)スタックをCentOS8にインストールする方法[クイックスタート]
序章
このチュートリアルでは、CentOS8サーバーにLEMPスタックをインストールします。 MySQLはCentOS8のデフォルトのリポジトリから利用できますが、このガイドでは、データベース管理システムとしてMariaDBを使用してLEMPスタックを設定するプロセスについて説明します。
このチュートリアルのより詳細なバージョンと各ステップの詳細については、 CentOS 8 にLinux、Nginx、MySQL、PHP(LEMP)スタックをインストールする方法を参照してください。
前提条件
このガイドに従うには、sudo
ユーザーとしてCentOS8サーバーにアクセスする必要があります。
ステップ1—Nginxをインストールします
nginx
パッケージを次のコマンドでインストールします。
- sudo dnf install nginx
インストールが完了したら、次のコマンドを実行してサーバーを有効にして起動します。
- sudo systemctl start nginx
firewalld
がアクティブな場合、ポート80
(HTTP)で外部アクセスを許可するには、次のコマンドを実行する必要があります。
- sudo firewall-cmd --permanent --add-service=http
ファイアウォール構成をリロードして、変更を有効にします。
- sudo firewall-cmd --reload
新しいファイアウォールルールを追加すると、WebブラウザからサーバーのパブリックIPアドレスまたはドメイン名にアクセスして、サーバーが稼働しているかどうかをテストできます。 次のようなページが表示されます。
ステップ2—MariaDBをインストールします
ここで、Oracleによる元のMySQLサーバーのコミュニティ開発フォークであるMariaDBをインストールします。 このソフトウェアをインストールするには、以下を実行します。
- sudo dnf install mariadb-server
インストールが完了したら、MariaDBサーバーを有効にして起動します。
- sudo systemctl start mariadb
データベースサーバーのセキュリティを向上させるために、MariaDBにプリインストールされているセキュリティスクリプトを実行することをお勧めします。 次のコマンドでインタラクティブスクリプトを開始します。
- sudo mysql_secure_installation
最初のプロンプトでは、現在のデータベースルートパスワードを入力するように求められます。 MariaDBをインストールしたばかりで、まだ構成を変更していないため、このパスワードは空白になります。プロンプトでENTER
を押すだけです。
次のプロンプトでは、データベースルートパスワードを設定するかどうかを尋ねられます。 MariaDBは、 root ユーザーに対して、通常はパスワードを使用するよりも安全な特別な認証方法を使用するため、ここでこれを設定する必要はありません。 N
と入力し、ENTER
を押します。
そこから、Y
、次にENTER
を押して、後続のすべての質問のデフォルトを受け入れることができます。
ステップ3—PHP-FPMをインストールします
php-fpm
およびphp-mysql
パッケージをインストールするには、次のコマンドを実行します。
- sudo dnf install php-fpm php-mysqlnd
インストールが完了したら、いくつかの設定を調整するために/etc/php-fpm.d/www.conf
ファイルを編集する必要があります。 これらのファイルの編集を容易にするために、nano
をインストールします。
- sudo dnf install nano
次に、nano
または選択したエディターを使用して、/etc/php-fpm.d/www.conf
構成ファイルを開きます。
- sudo nano /etc/php-fpm.d/www.conf
user
およびgroup
ディレクティブを探します。 nano
を使用している場合は、CTRL
+ W
を押して、開いているファイル内でこれらの用語を検索できます。 必ず両方の値をapache
からnginx
に変更してください。
…
; 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
サービスを有効にして開始するには、次のコマンドを実行します。
- sudo systemctl start php-fpm
最後に、Nginx Webサーバーを再起動して、php-fpm
インストールによって作成された構成ファイルをロードします。
- sudo systemctl restart nginx
ステップ4—NginxでPHPをテストする
CentOS 8では、デフォルトのphp-fpm
インストールにより、NginxWebサーバーが/usr/share/nginx/html
にあるデフォルトのドキュメントルートで.php
ファイルを処理できるようにする構成ファイルが自動的に作成されます。 PHPがWebサーバー内で正しく機能するために、Nginxの構成を変更する必要はありません。
Nginxのドキュメントルートのデフォルトの所有者とグループを変更するだけで、通常の非ルートシステムユーザーを使用してその場所でファイルを作成および変更できます。
- sudo chown -R sammy.sammy /usr/share/nginx/html/
/usr/share/nginx/html
ディレクトリにinfo.php
という名前の新しいPHPファイルを作成します。
- nano /usr/share/nginx/html/info.php
次のPHPコードは、サーバーで実行されている現在のPHP環境に関する情報を表示します。
<?php
phpinfo();
このコンテンツをinfo.php
ファイルにコピーし、完了したら忘れずに保存してください。
これで、WebサーバーがPHPスクリプトによって生成されたコンテンツを正しく表示できるかどうかをテストできます。 ブラウザに移動し、サーバーのホスト名またはIPアドレスにアクセスし、続いて/info.php
にアクセスします。
http://server_host_or_IP/info.php
次のようなページが表示されます。
関連チュートリアル
このチュートリアルに関連するより詳細なガイドへのリンクは次のとおりです。