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 証明書の設定に関するガイドを読むことをお勧めします。
お時間をいただきありがとうございました!このガイドがお役に立てば幸いです。フィードバックやコメントをお待ちしております。