CentOS8にLEMPサーバーをインストールする方法


LEMPは、トラフィックの多い動的なWebサイトに電力を供給するために使用される無料のオープンソースツールのセットで構成されるソフトウェアスタックです。 LEMPは、Linux、Nginx(Engine Xと発音)、MariaDB/MySQL、およびPHPの頭字語です。

Nginxは、リバースプロキシとしても機能する、オープンソースの堅牢で高性能なWebサーバーです。 MariaDBは、ユーザーデータの保存に使用されるデータベースシステムであり、PHPは、動的Webページの開発とサポートに使用されるサーバーサイドスクリプト言語です。

関連記事:CentOS8にLAMPサーバーをインストールする方法

この記事では、CentOS 8LinuxディストリビューションにLEMPサーバーをインストールする方法を学習します。

ステップ1:CentOS8でソフトウェアパッケージを更新する

まず、次のdnfコマンドを実行して、CentOS 8Linuxのリポジトリパッケージとソフトウェアパッケージの両方を更新します。

$ sudo dnf update

ステップ2:CentOS8にNginxWebサーバーをインストールする

パッケージの更新が完了したら、simpleコマンドを使用して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

「WelcometoNginx」ウェブページに、Nginxウェブサーバーが稼働中であることを示すインジケーターが表示されるはずです。

ステップ3:CentOS8に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

以下は一連のプロンプトです。 1つ目は、rootパスワードを設定する必要があります。 Enterキーを押し、[はい]に Y と入力して、ルートパスワードを指定します。

パスワードを設定したら、残りの質問に答えて匿名ユーザーを削除し、テストデータベースを削除して、リモートrootログインを無効にします。

すべての手順を完了したら、MariaDBサーバーにログインして、MariaDBサーバーのバージョン情報を確認できます(サーバーを保護するときに指定したパスワードを入力します)。

$ mysql -u root -p

ステップ4:CentOS8にPHP7をインストールする

最後に、動的Webページの開発に一般的に使用されるスクリプトWebプログラミング言語であるPHPである最後のコンポーネントLEMPスタックをインストールします。

このガイドの執筆時点では、最新バージョンはPHP7.4です。 Remiリポジトリを使用してこれをインストールします。 Remiリポジトリは、CentOSではデフォルトで利用できない最新の最先端ソフトウェアバージョンが付属している無料のリポジトリです。

以下のコマンドを実行して、EPELリポジトリをインストールします。

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

その後、yum-utilsをインストールして続行し、以下のコマンドを使用してremi-repositoryを有効にします。

$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

次に、インストール可能なPHPモジュールを検索します。

$ sudo dnf module list php

示されているように、出力には、使用可能なPHPモジュール、ストリーム、およびインストールプロファイルが表示されます。以下の出力から、現在インストールされているバージョンはPHP 7.2であり、角括弧で囲まれた文字 d で示されていることがわかります。

出力から、最新のPHPモジュールがインストールしようとしているPHP7.4であることがわかります。ただし、最初に、PHPモジュールをリセットする必要があります。したがって、コマンドを実行します。

$ sudo dnf module reset php

次に、を実行してPHP7.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

もう1つのことは、デフォルトでは、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情報のテスト

デフォルトでは、NginxのWebディレクトリフォルダーは/ usr/share/nginx/html /パスにあります。 PHP-FPMをテストするために、PHPファイルinfo.phpを作成し、以下の行を貼り付けます。

<?php
 phpinfo();
?>

ファイルを保存して終了します。

ブラウザを起動し、URLバーに、図のようにWebサーバーのIPアドレスを入力します。

http://server-ip-address/info.php

すべてがうまくいけば、実行しているPHPのバージョンに関する情報が表示され、その他のメトリックが表示されます。

皆さん、これで終わりです。これで、LEMPサーバースタックがCentOS 8に正常にインストールされました。セキュリティ上の予防措置として、ハッカーがNginxサーバーから情報を取得できないようにinfo.phpファイルを削除することをお勧めします。