LEMPは、高トラフィックの動的ウェブサイトを支えるために使用される、無料でオープンソースのツール一式から成るソフトウェアスタックです。LEMPは、Linux、Nginx(エンジンXと発音)、MariaDB / MySQL、そしてPHPの頭文字を取った略語です。
Nginxは、オープンソースで堅牢かつ高性能なウェブサーバーであり、リバースプロキシとしても機能します。MariaDBはユーザーデータを保存するためのデータベースシステムであり、PHPは動的なウェブページを開発・サポートするためのサーバーサイドスクリプト言語です。
関連記事:CentOS 8にLAMPサーバーをインストールする方法
この記事では、LEMPサーバーをCentOS 8 Linuxディストリビューションにインストールする方法を学びます。
ステップ1:CentOS 8のソフトウェアパッケージを更新する
まず、以下のdnfコマンドを実行して、CentOS 8 Linuxのリポジトリとソフトウェアパッケージを更新します。
$ sudo dnf update

ステップ2:CentOS 8にNginxウェブサーバーをインストールする
パッケージの更新が完了したら、簡単なコマンドを使用してNginxをインストールします。
$ sudo dnf install nginx

このスニペットは、Nginxのインストールが何の問題もなくうまくいったことを示しています。

インストールが完了したら、Nginxを起動時に開始するように設定し、次のコマンドを実行してNginxが実行されていることを確認します。
$ sudo systemctl enable nginx $ sudo systemctl start nginx $ sudo systemctl status nginx

インストールされているNginxのバージョンを確認するには、次のコマンドを実行します。
$ nginx -v

もし好奇心が勝ってNginxについてさらに情報を探りたい場合は、次のrpmコマンドを実行してください。
$ rpm -qi nginx

ブラウザを使用してNginxサーバーが実行されていることを確認するには、URLバーにシステムのIPアドレスを入力し、ENTERキーを押します。
http://server-IP
“Welcome to Nginx”のウェブページが表示されるはずです。これは、Nginxウェブサーバーが起動していることの指標です。

ステップ3:CentOS 8にMariaDBをインストール
MariaDBは、MySQLの無料かつオープンソースのフォークであり、最新の機能を提供し、MySQLの優れた代替となります。 MariaDBをインストールするには、次のコマンドを実行します。
$ sudo dnf install mariadb-server mariadb

自動的に起動するようにMariaDBを設定するには、次のコマンドを実行します。
$ sudo systemctl enable mariadb
MariaDBサーバーを起動するには、次のコマンドを実行します。
$ sudo systemctl start mariadb
インストール後は、以下のコマンドを使用してその状態を確認します。
$ sudo systemctl status mariadb

MariaDBデータベースエンジンはセキュリティが低く、誰でも資格情報なしでログインできます。 MariaDBを強化して、未承認アクセスの可能性を最小限に抑えるために、次のコマンドを実行します。
$ sudo mysql_secure_installation
以下は一連のプロンプトです。最初のプロンプトでは、ルートパスワードを設定する必要があります。ルートパスワードを指定するには、ENTERキーを押してY
を入力してくださいはい。

パスワードを設定したら、匿名ユーザーを削除し、テストデータベースを削除し、リモートルートログインを無効にするための残りの質問に回答してください。

すべての手順を完了したら、MariaDBサーバーにログインして、MariaDBサーバーのバージョン情報を確認できます(サーバーをセキュリティで保護する際に指定したパスワードを入力してください)。
$ mysql -u root -p

ステップ4:CentOS 8にPHP 7をインストールします
最後に、LEMPスタックの最後のコンポーネントであるPHPをインストールします。これは、動的Webページの開発に一般的に使用されるスクリプトのWebプログラミング言語です。
このガイドを作成した時点では、最新バージョンは PHP 7.4です。これをインストールするために、Remiリポジトリを使用します。Remiリポジトリは、CentOSのデフォルトでは利用できない最新の切り立ったソフトウェアバージョンを提供する無料のリポジトリです。
以下のコマンドを実行して、EPELリポジトリをインストールします。
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
その後、以下のコマンドを使用してyum-utilsをインストールし、remiリポジトリを有効にします。
$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
次に、インストール可能なPHPモジュールを検索します。
$ sudo dnf module list php
以下のテキストを日本語に翻訳します。利用可能なPHPモジュール、ストリーム、およびインストールプロファイルが表示されます。以下の出力から、現在インストールされているバージョンは、角かっこで囲まれたd
という文字によって示されるPHP 7.2であることがわかります。

出力からも、最新のPHPモジュールがPHP 7.4であり、これをインストールする予定であることがわかります。ただし、まずPHPモジュールをリセットする必要があります。したがって、次のコマンドを実行してください。
$ sudo dnf module reset php

次に、PHP 7.4モジュールを有効にします。
$ sudo dnf module enable php:remi-7.4

PHP 7.4モジュールが有効になったら、最後にPHP、PHP-FPM(FastCGI Process Manager)および関連するPHPモジュールをインストールします。コマンドを使用してください。
$ sudo dnf install php php-opcache php-gd php-curl php-mysqlnd
次に、インストールされたバージョンを確認します。
$ php -v

次に、php-fpmを有効にして起動します。
$ sudo systemctl enable php-fpm $ sudo systemctl start php-fpm
その状態を確認するには、次のコマンドを実行してください。
$ sudo systemctl status php-fpm

もう一つのことは、デフォルトではPHP-FPMがApacheユーザーとして設定されていることです。しかし、Nginx Webサーバーを実行しているため、これをNginxユーザーに変更する必要があります。
したがって、ファイル/etc/php-fpm.d/www.confを開いてください。
$ vi /etc/php-fpm.d/www.conf
これらの2行を探します。
user = apache group = apache
両方の値をNginxに変更します。
user = nginx group = nginx

構成ファイルを保存して終了します。
その後、変更が有効になるようにNginxとPHP-FPMを再起動してください。
$ sudo systemctl restart nginx $ sudo systemctl restart php-fpm
ステップ5:PHP情報のテスト
ウェブディレクトリフォルダーは
<?php phpinfo(); ?>
ファイルを保存して終了します。
ブラウザを起動し、URLバーに表示されているウェブサーバーのIPアドレスを入力します。
http://server-ip-address/info.php

すべてがうまくいけば、実行しているPHPのバージョンに関する情報やその他のメトリクスが表示されます。
以上で終了です!LEMPサーバースタックをCentOS 8に正常にインストールしました。セキュリティ上の注意として、info.phpファイルを削除して、Nginxサーバーから情報を取得するハッカーを防ぐことができます。