ウェブサイト検索

Rocky Linux 8 に LEMP スタックをインストールする方法


LEMP はオープンソース ソフトウェアで構成される人気のあるスタックで、運用環境であっても、開発サイクルのあらゆる段階であっても、Web アプリケーションをホストおよび提供するために集合的に使用されます。

LEMP という用語は、Web ブラウザである Linux、Nginx (エンジン X と発音されるため E) の頭字語です。 MariaDB または MySQL – データベース、および動的コンテンツを処理するための PHP)。 LEMP スタックは、高トラフィックでスケーラビリティの高い Web アプリケーションや Web サイトをホストするためによく使用されます。

このガイドでは、Rocky Linux 8.4 に LEMP スタックをインストールする方法を学習します。

前提条件

LEMP スタックのインストールを開始する前に、次の要件を満たしていることを確認してください。

  • sudo ユーザーが構成された Rocky Linux 8 のインスタンス。
  • Rocky Linux インスタンスへの SSH アクセス。

始めましょう…

ステップ 1: Rocky Linux に Nginx をインストールする

最初のステップは、LEMP スタックの最初のコンポーネントであるNginx Web サーバーをインストールすることです。まず、パッケージをアップグレードします。

sudo dnf update -y

更新が完了したら、次のコマンドを実行してNginx をインストールします。これにより、Web サーバーに必要な他の依存関係とともに Nginx がインストールされます。

sudo dnf install nginx 

Nginx を配置したら、起動時に Nginx が起動できるようにし、Nginx デーモンを起動します。

sudo systemctl enable nginx 
sudo systemctl start nginx 

Web サーバーが実行されていることを確認するには、次のコマンドを実行します。

sudo systemctl status nginx

出力から、Web サーバーが稼働していると結論付けることができます。

興味があれば、次のようにして Nginx のバージョンを確認できます。出力は、Nginx 1.14.1 を実行していることを示しています。

nginx -v

nginx version: nginx/1.14.1

また、表示された URL を参照すると、ブラウザが動作していることを確認できます。これにより、すべてが正常であることを示すデフォルトの Nginx ようこそページが表示されます。

http://server-ip or domain name

ページの表示に問題がある場合は、ポート 80 を開くか、ファイアウォールで HTTP トラフィックを許可することを検討してください。

sudo firewall-cmd --zone=public --add-service=http --permanent 

次に、ファイアウォールをリロードし、ページをリロードします。

sudo firewall-cmd --reload

ステップ 2: Rocky Linux に MariaDB をインストールする

このガイドでは、MariaDB データベースをインストールします。これは、MySQL よりもはるかに優れた、最適化されたパフォーマンスと豊富なストレージ エンジンが提供するためです。

MariaDB データベース サーバーをインストールするには、次のコマンドを実行します。

sudo dnf install mariadb-server mariadb

完了したら、図のように MariaDB を有効にして起動します。

sudo systemctl enable mariadb
sudo systemctl start mariadb

次に、そのステータスを確認します。

sudo systemctl status mariadb

MariaDB のデフォルト設定は安全性が十分ではないため、データベースは簡単に侵害される可能性があります。最も基本的なレベルで侵入者を阻止するための予防措置として、以下のスクリプトを実行します。

sudo mysql_secure_installation

必ずRootパスワードを設定してください。

残りのプロンプトでは、単に 'Y' と入力して匿名ユーザーを削除し、リモート root ログインを拒否し、テスト データベースを削除して、最後に加えた変更を保存します。

データベース サーバーにログインするには、次のコマンドを実行します。

sudo mysql -u root -p

パスワードを入力して Enter キーを押します。

ステップ 3: Rocky Linux に PHP をインストールする

インストールする最後のコンポーネントは、FastCGI Process Manager の略であるPHP-FPM 経由のPHPです。これは、トラフィックの多い Web サイトの最適なパフォーマンスとセキュリティを保証する機能を提供する、PHP 用の効率的で高度なプロセッサです。

まず、最新の PHP バージョンを提供するサードパーティの無料リポジトリであるRemi リポジトリをインストールします。

Remi リポジトリを有効にするには、次のコマンドを実行します。

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

Remi リポジトリが有効になったら、表示されているコマンドを使用して、ホストされている PHP モジュールのリストを確認します。

sudo dnf module list php

出力から、デフォルトのバージョンは 7.2 で、タグ [d] が付いていることがわかります。ただし、 最新のモジュールであるRemi 8.0 をインストールします。

したがって、デフォルトの PHP モジュールをリセットし、最新の Remi PHP モジュールを有効にします。

sudo dnf module list reset php
sudo dnf module enable php:remi-8.0

次に、システムを更新し、PHPPHP-FPM を好みの PHP 拡張機能とともにインストールします。

sudo dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache

インストールが完了したら、 図に示すようにPHP-FPM を有効にして起動します。

sudo systemctl enable php-fpm
sudo systemctl start php-fpm

次にPHP-FPM の実行ステータスを確認します。

sudo systemctl status php-fpm

通常、PHP-FPMApache ユーザーとして実行されますが、Nginx を使用しているため、Nginx< に設定する必要があります。。そこで、以下の設定ファイルを開きます。

sudo vim /etc/php-fpm.d/www.conf

ユーザーとグループをNginxに設定します。

user = nginx
Group = nginx

その後、PHP-FPM デーモンをリロードします。

sudo systemctl reload php-fpm

最新バージョンの PHP がインストールされていることを確認するには、次のコマンドを実行します。

php -v

Testin PHP のもう 1 つの気の利いた方法は、単純な PHP ファイルを作成し、それを /usr/share/nginx/html にある webroot ディレクトリに配置することです。したがって、/usr/share/nginx/html Webroot ディレクトリに単純な info.php ファイルを作成します。

sudo vim /usr/share/nginx/html/info.php

以下の内容を追加してファイルを保存します。

<?php

phpinfo();

?>

変更を有効にするには、Nginx Web サーバーをリロードします。

sudo systemctl restart nginx

最後に、以下のURLにアクセスします。

http://server-ip/info.php

インストールされている PHP バージョンと他の PHP 拡張機能に関する詳細情報を含む Web ページが表示されます。

この時点で、LEMP のセットアップは完了です。次のステップでは、Nginx サーバー ブロックを構成してサンプル サイトをホストします。

ステップ 3: Rocky Linux で Nginx サーバー ブロックを構成する

サーバー ブロックを使用すると、管理者は異なるサイト ドキュメント ルート ディレクトリを定義することで、1 台のサーバーで複数の Web サイトをホストできるようになります。これらは、Web サイトのファイルが含まれるディレクトリです。

ここでは、サンプル Web サイトをホストするための単一の Nginx サーバー ブロック ファイルを作成します。

ステップ 1: Web サイトのディレクトリを作成する

まず、サイト訪問者が利用できるサイトのデータを含むサイトのドキュメント ディレクトリを作成します。 example.com というドメインがあると仮定します。次のようにサイトのドメイン ディレクトリを作成します。必ず example.com をサイトの完全修飾ドメイン名または登録済みドメインに置き換えてください。

sudo mkdir -p /var/www/example.com/html

ステップ 2: Web サイトで所有権と権限を設定する

これで、ドメインのディレクトリ構造がサイトのファイルをホストするように設定されました。現在、ファイルを所有しているのは root ユーザーです。通常のユーザーがファイルを所有するように所有権を設定する必要があります。

ファイルの所有権を現在ログインしているユーザーに変更するには、chown コマンドを使用します。

sudo chown -R $USER:$USER /var/www/example.com/html

$USER 変数は、現在ログインしているユーザーの値を受け取り、そのユーザーに HTML ファイルとサブディレクトリに対する所有権を付与します。さらに、サイト訪問者がサイト ページにアクセスできるように、一般 Web ルート ディレクトリへの読み取り権限を付与します。

sudo chmod -R 755 /var/www

サイト ディレクトリは、サイトの Web ページを提供できるように適切に構成されました。

ステップ 3: デモ サイトを作成する

それでは、サンプル テスト サイトを作成してみましょう。非常に基本的な index.html ファイルをドメインの html ディレクトリに作成します。

sudo vim /var/www/example.com/html/index.html

以下の内容を貼り付けます。ご覧のとおり、テスト目的でのみ使用しているため、これは非常に基本的なものです。

<html>
  <head>
    <title>Welcome to Example.com!</title>
  </head>
  <body>
    <h1>Success! The server block is active!</h1>
  </body>
</html>

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

ステップ 4: Web サイト用の Nginx サーバー ブロックを作成する

サーバー ブロック ファイルは、サイトの構成が含まれるファイルです。 Nginx Web サーバーがサイト訪問者からのリクエストにどのように応答するかを説明します。まず、2 つのディレクトリを作成します。

  • /etc/nginx/sites-available – これはサーバー ブロック ファイルを保持するディレクトリです。
  • /etc/nginx/sites-enabled – このディレクトリは、サーバー ブロック ファイルがリクエストを処理する準備ができていることを Nginx に通知します。

したがって、次のようにディレクトリを作成します。

sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled

その後、Nginx のメイン設定ファイルを編集します。

sudo mkdir /etc/nginx/nginx.conf

次の行を貼り付けます。最初の行は、追加の構成ファイルを含むディレクトリへのパスを指定します。 2 行目は、ドメイン名の解析に割り当てられるメモリを増やします。

include /etc/nginx/sites-enabled/*.conf;
server_names_hash_bucket_size 64;

保存して終了。

次に、サーバーブロックファイルを作成します。

sudo vim /etc/nginx/sites-available/example.com.conf

以下の内容を貼り付けます。 example.com を完全修飾ドメイン名 (FQDN) またはサーバー IP アドレスに置き換えます。

server {
    listen  80;

    server_name example.com www.example.com;

    location / {
        root  /var/www/example.com/html;
        index  index.html index.htm;
        try_files $uri $uri/ =404;
    }

    error_page  500 502 503 504  /50x.html;
    location = /50x.html {
        root  /usr/share/nginx/html;
    }
}

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

ステップ 5: Nginx サーバー ブロックを有効にする

最後に、サーバー ブロック ファイルを有効にする必要があります。これを行うには、サーバー ブロック ファイルのサイト対応ディレクトリへのシンボリック リンクを作成します。

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf

次に、変更を有効にするために Nginx を再起動します。

sudo systemctl restart nginx

ステップ 6: Nginx Web サイトをテストする

構成をテストするには、ブラウザを起動し、サイトのドメインにアクセスします。

http://example.com

これにより、ステップ 3 で設定したサーバー ブロックのサイトが表示されるはずです。

これで終わります。このガイドでは、Rocky Linux 8LEMP スタックをインストールする手順を説明し、さらに一歩進んで、カスタムウェブサイト。