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
次に、システムを更新し、PHP と PHP-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-FPM は Apache ユーザーとして実行されますが、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 8 に LEMP スタックをインストールする手順を説明し、さらに一歩進んで、カスタムウェブサイト。