ウェブサイト検索

Debian 11 (Bullseye) に Nginx、MariaDB、および PHP (LEMP) をインストールする


この包括的なステップバイステップ ガイドでは、Debian 11 での Nginx、MariaDB、および PHP (LEMP スタック) のインストールと構成について説明します。

Debian は最も信頼性が高く、安全で安定した Linux ディストリビューションの 1 つであり、サーバーのシームレスな動作を保証します。これらの特性により、これは Linux ベースのサーバーのシステム管理者にとって合理的であり、多くの場合好まれる選択です。

LEMP ソフトウェア スタックは、動的な Web ページと Web アプリケーションを提供するサーバー側ソフトウェアのグループで構成されます。これは、Linux OS、Nginx Web サーバー、MySQL/MariaDB データベース、PHP スクリプト言語の 4 つの個別のコンポーネントを表す頭字語です。

このチュートリアルでは、Debian 11 (Bullseye) に Nginx、MariaDB、および PHP をインストールし、Web アプリケーションを開発およびホストするための究極のサーバーに変換する方法を説明します。それでは早速、作業に取り掛かりましょう。

前提条件

このガイドを完了するには、Debian 11 サーバーにアクセスする必要があります。さらに、このチュートリアルのすべてのコマンドは、sudo 実行能力を持つ通常のユーザーによって実行されます。したがって、あなたはそれを所有する必要があります。

もちろん、コマンドの sudo 部分をスキップして、root ユーザーとして直接実行することもできます。どちらの場合でも結果は同じになります。

さらに、SSL を使用する場合は、ファイアウォールがサーバーへのポート 80 とポート 443 をブロックしていないことを確認してください。

1. ソフトウェア リポジトリの更新

まず、APT コマンドを使用して、利用可能なパッケージのリストを更新します。これにより、Debian 11 システムへの LEMP スタックのインストール全体にわたってパッケージの最新バージョンのみが使用されるようになり、問題が回避されます。

さらに、システムが完全に更新されていることを確認してください。パッケージが更新を待っている場合は、次に進む前にそれらを適用することをお勧めします。

sudo apt update
sudo apt upgrade

2. Debian 11 に Nginx Web サーバーをインストールする

ウェブサーバーを使用すると、ウェブページなどのコンテンツをウェブサイト訪問者に提供できます。この手順では、LEMP スタックの 2 番目の要件である Nginx Web サーバーを処理します。 

次のコマンドを使用して、最新の Nginx バージョンを Debian 11 サーバーにインストールします。プロンプトが表示されたら、「Y」を入力してインストールすることを確認します。

sudo apt install nginx

インストールが完了すると、Nginx Web サーバーが起動し、Debian 11 サーバー上で実行されます。ただし、最初に、期待どおりに動作するかどうかを確認しましょう。

システムでウェブブラウザを開き、アドレスバーにサーバーの IP アドレスを入力します。

システムに Nginx のようこそページが表示されるはずです。

3. Debian 11 に MariaDB サーバーをインストールする

Web サーバーが動作するようになったので、Web サイトのデータを保存および管理するためにデータベース サーバーをインストールする必要があります。このチュートリアルでは、MySQL の代わりに MariaDB をインストールします。

これは、オープンソースの RDBMS (リレーショナル データベース管理システム) であり、下位互換性があり、MySQL をバイナリ ドロップインで置き換えるものです。 MariaDB は、MySQL と比較して、より高速なレプリケーション速度、より厳格なセキュリティ対策、追加のストレージ エンジンによりパフォーマンスの向上を実現します。

MariaDB データベースをインストールするには、以下のコマンドを実行し、プロンプトが表示されたら、「Y」と入力して「Enter」を押してインストールを確認します。

sudo apt install mariadb-server

3.1 MariaDB サーバーのセキュリティ保護

次に、mariadb-server パッケージで提供されるスクリプト(mysql_secure_installation)を使用して、サーバーへのアクセスを制限し、デフォルト設定では MariaDB インストールが行われるため、未使用のアカウントを削除します。安全ではない。

インストール後のセキュリティ スクリプトを実行します。

sudo mysql_secure_installation

上記のコマンドを実行すると、MariaDB root パスワードの入力を求められます。 root パスワードを空のままにして「Enter」キーを押します。残りの部分は、「Y」と入力し続けて「Enter」を押します。

素晴らしい! Debian 11 の LEMP スタックで MariaDB サーバーを保護しました。

MariaDB root アカウントに対して上記で指定したパスワードはリモート ユーザーのみに使用されることを明確にします。インストールしたホストからログインする場合、パスワードを入力する必要はなく、パスワードを求められることもありません。 「sudo mysql」と入力するだけで、MariaDB シェルにアクセスできます。

3.2 MariaDB インストールのテスト

ログインして簡単なクエリを実行して、データベース サーバーが正常に機能しているかどうかを確認してみましょう。

ログインするには、以下のコマンドを入力します。

sudo mysql

これにより MariaDB サーバーに接続され、MariaDB シェルが起動するはずです。次に、簡単なクエリを実行します。

select version();

クエリに応答して、MariaDB サーバーはそのバージョンを返す必要があります。最後に、MariaDB シェルを終了してシステム ターミナルに戻るには、「quit」コマンドを使用します。

4. Debian 11 に PHP をインストールする

完全な LEMP スタックを Debian 11「Bullseye」システムにインストールするための最後のステップは、PHP スクリプト言語をインストールすることです。 Nginx に PHP サポートを追加するには、PHP-FPM をインストールして使用し、PHP ファイルを実行する必要があります。

したがって、PHP-FPM と最も広く使用されているいくつかの PHP モジュールをインストールするには、以下のコマンドを入力し、プロンプトが表示されたら「Y」を入力してインストールすることを確認します。

sudo apt install php-fpm php-mysql php-gd php-cli php-curl php-mbstring php-zip php-opcache

5. PHP ファイルを実行するように Nginx を構成する

すべての LEMP コンポーネントを Debian 11 システムにインストールしたので、デフォルトの Nginx 仮想ホスト構成ファイルを編集する必要があります。

sudo vim /etc/nginx/sites-enabled/default

location /」の部分を次のように変更します。

location / {First attempt to serve request as file, thenas directory, then fall back to displaying a 404.
    try_files $uri $uri/ =404;
}

これに対して:

location / {
    try_files $uri $uri/ /index.php?$args;
}

次の行をデフォルトの「server」ブロックに追加して、Nginx が PHP ファイルを処理できるようにします。

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

次のコマンドを入力して、変更した Nginx 構成ファイルに構文エラーがないかテストします。

sudo nginx -t

上記の結果が得られれば、すべてがうまくいっているので、残っているのは最後のステップだけです。ただし、エラーが報告された場合は、続行する前にファイルを再確認してください。

準備ができたら、Nginx を再起動して変更を有効にします。

sudo systemctl restart nginx

仮想ホストの Nginx サーバー ブロックを作成および編集する方法を詳しく知りたい場合は、「Nginx 仮想ホストの作成方法 (サーバー ブロック)」というテーマに関する優れたガイドをお勧めします。 」

6. Debian 11 LEMP インストールをテストする

Debian 11 への Nginx、MariaDB、および PHP のインストールが完了したため、LEMP スタックは完全に動作できるようになりました。

最後に、テスト PHP ファイルを作成して、PHP-FPM が動作し、Nginx と統合されていることを確認しましょう。上記のデフォルトのサーバー ブロックでは、サイトは「/var/www/html」から提供されているため、そこにテスト ファイルを作成します。

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/test.php

これで、サイトのドメインまたはサーバーの IP アドレスに続いて「/test.php」を使用して、ウェブブラウザから「test.php」にアクセスできるようになります。

PHP インストールに関する完全な情報を含む Web ページが表示されます。

おめでとう!完全に機能する LEMP スタックが Debian 11 に正常にインストールされました。

結論

このガイドでは、Debian 11「Bullseye」に LEMP スタック (Nginx、MariaDB、および PHP) をインストールする方法を説明しました。その結果、PHP ベースの Web アプリをサーバー上で実行できるようになりました。

ここから次のステップをいくつか実行できます。たとえば、ウェブサイトが安全な SSL (HTTPS) 接続経由でコンテンツを提供できるようにするために、Nginx サーバーでの SSL 証明書の設定に関するガイドを読むことをお勧めします。

お時間をいただきありがとうございました!このガイドがお役に立てば幸いです。フィードバックやコメントをお待ちしております。

関連記事: