ウェブサイト検索

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


LEMP」スタックはオープンソース ソフトウェアの混合物であり、通常は動的アプリケーションを展開するために Linux サーバーにインストールされます。この用語は、Linux オペレーティング システム、Nginx Web サーバー、MariaDB データベース、および PHP プログラミングを表す頭字語です。

こちらもお読みください: Debian 10 サーバーに LAMP をインストールする方法

この「LEMP 」スタックには通常、データベース管理システムとして MySQL が含まれていますが、Debian などの一部の Linux ディストリビューションでは MariaDB が使用されます。 は MySQL のドロップイン代替品として機能します。

要件

  1. Debian 10 (Buster) 最小サーバーをインストールする方法

この記事では、データベース管理として MariaDB を使用して、Debian 10 サーバーに LEMP 環境をインストールしてセットアップする方法を説明します。プラットホーム。

Debian 10 への Nginx Web サーバーのインストール

Nginx はオープンソースのクロスプラットフォームで、軽量でありながら強力で、HTTP サーバー、リバース プロキシ サーバー、メール プロキシ サーバー、および汎用 TCP/UDP プロキシの設定が簡単です。モジュール式アーキテクチャを備えたサーバー。

その基本機能には、静的ファイルとインデックス ファイルの提供が含まれます。 FastCGIuwsgiSCGIMemcached サーバーのキャッシュ、ロード バランシングとフォールト トレランス、SSL による高速サポートTLS SNI サポート、重み付けされた依存関係ベースの優先順位付けによる HTTP/2 のサポート。

Nginx パッケージをインストールするには、図のように Debian の apt パッケージ マネージャーを使用します。

apt update 
apt install nginx 

Nginx のインストールが完了すると、インストーラーは systemd をアクティブにして Nginx サービスを開始し、システム起動時に自動的に開始できるようにします。 Nginx のステータスは、次の systemctl コマンドを使用して確認できます。

systemctl status nginx

次の重要なコマンドを使用して、systemd で Nginx サービスの構成を開始、再起動、停止、および再ロードすることもできます。

systemctl start nginx
systemctl restart nginx 
systemctl stop nginx
systemctl reload nginx 
systemctl status nginx 

次に、UFW ファイアウォールを実行している場合 (通常はデフォルトで無効になっています)、ポート 80 (HTTP)443 (HTTPS) を開いて受信トラフィックを許可する必要があります。 Nginx で。

ufw allow 80
ufw allow 443
ufw status

この時点で、Nginx が適切にインストールされているかどうか、実行中で Web ページを提供できるかどうかをテストする必要があります。これを行うには、Web ブラウザを開いて次の URL を指定し、Nginx Debian デフォルト Web ページにアクセスします。

http://SERVER_IP/
OR
http://localhost/

Debian 10 への MariaDB のインストール

次に、Web サイトまたは Web アプリのデータを保存および管理できるようにデータベース システムをインストールする必要があります。 Debian 10 は、MySQL のドロップイン代替品として、MariaDB をデフォルトでサポートしています。

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

apt install mariadb-server

次に、MariaDB サービスのステータスを確認します。これは、systemd によって自動的に開始され、システムの起動時に開始できるようになっているためです。サービスが稼働していることを確認するには、次のコマンドを使用します。

systemctl status mariadb

systemd で MariaDB サービスを管理 (開始、再起動、停止、再ロード) するには、次のコマンドを使用できます。

systemctl start mariadb
systemctl restart mariadb
systemctl stop mariadb
systemctl reload mariadb

次に、MariaDB デプロイメントはデフォルトでは安全ではありません。データベースのセキュリティを向上させるには、パッケージに同梱されているシェル スクリプトを実行する必要があります。

mysql_secure_installation

スクリプトを実行すると、次の一連の質問に従って、次のスクリーンショットに示すように、MariaDB インストールのデフォルト設定を変更します。

Debian 10 への PHP-FPM (高速プロセス マネージャー) のインストール

Apache や他の Web サーバーとは異なり、NginxPHP-FPM を使用するため、PHP のネイティブ サポートを提供しません。 PHP ページのリクエストを処理します。 PHP-FPM は、PHP の代替の FastCGI デーモンで、ワーカー プロセスを使用してリクエストを処理することで、Web サイトが高負荷を処理できるようにします。

PHP-FPM バージョン 7.3 と、MariaDB/MySQL データベース システムと通信するための PHP モジュールをインストールするには、次のコマンドを実行します。

apt install php-fpm php-mysqli

PHP-FPM がインストールされると、インストーラーは systemd をアクティブにしてPHP-FPM サービスを開始し、システム起動時に自動開始できるようにします。稼働しているかどうかを確認するには、次のコマンドを実行します。

systemctl status php-fpm

次のように、systemd で PHP-FPM サービスの設定を開始、再起動、停止、再ロードすることもできます。

systemctl start php-fpm
systemctl restart php-fpm
systemctl stop php-fpm
systemctl reload php-fpm
systemctl status php-fpm

次に、次のように構成ファイル /etc/php/7.3/fpm/php.ini に変更を加えて、PHP-FPM を保護する必要があります。

vi /etc/php/7.3/fpm/php.ini

;cgi.fix_pathinfo=1 を探して、先頭の ; 文字を削除してコメントを解除し、その値を 0 に設定します。これにより、Nginx は非 PHP ファイルを PHP として実行できなくなります。

cgi.fix_pathinfo=0

デフォルトでは、PHP-FPM は、/etc で定義されている UNIX ソケット /run/php/php7.3-fpm.sock をリッスンするように設定されています。 /php/7.3/fpm/pool.d/www.conf設定ファイル。 PHP ページを処理して提供する場合は、すべてのサーバー ブロック ( または仮想ホスト) がこのソケットを使用するように構成する必要があります。

Nginx のデフォルトのサーバー ブロック構成ファイル /etc/nginx/sites-available/default を使用してテストできます。

vi /etc/nginx/sites-available/default 

次のセクションを探してコメントを解除し、スクリーンショットに示すように PHP スクリプトをFastCGI サーバーに渡します。

location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}

次に、次のコマンドを使用して、Nginx 構成構造がOKであるかどうかをテストします。

nginx -t

Nginx 設定がOKの場合は、最近加えた変更を適用するために、 次のようにphp7.3-fpm サービスとnginx サービスを再起動します。

systemctl restart php7.2-fpm
systemctl restart nginx

Nginx での PHP-FPM 処理のテスト

PHP-FPMNginx が連携して動作するように構成したら、2 つのサービスが PHP ページを処理してクライアントに提供できるかどうかをテストする必要があります。これを行うには、次のように Web の DocumentRoot に簡単な PHP スクリプトを作成します。

echo “<?php phpinfo(); ?>”  | tee /var/www/html/info.php

最後に、ブラウザを開いて次のアドレスを入力し、phpinfo() 関数によって生成されたシステム上の PHP 構成を確認します。

http://SERVER_IP/info.php
OR
http://localhost/info.php

結論

この記事では、Debian 10LEMP スタックをインストールして設定する方法を説明しました。ご質問やフィードバックがございましたら、以下のコメント フォームからお知らせください。