LEMPスタック · 2 min read · Jan 05, 2026
Debian 11にLEMPスタック(Nginx、PHP、MariaDB)をインストールする

LEMPスタックは、インターネット上でWebアプリケーションをホストするために使用されるオープンソースのソフトウェアおよびフレームワークまたはライブラリのセットです。スタックは、Linuxオペレーティングシステム、Nginx Webサーバー、MariaDB/MySQLデータベースサーバー、およびPHP言語で構成されています。LEMPは良好なコミュニティサポートがあり、世界中の多くの大規模なWebアプリケーションで使用されています。
この記事では、Debian 11にLEMPスタックをインストールする方法を示します。
前提条件
- Debian 11を実行しているサーバー。
- サーバーIPにポイントされた有効なドメイン名。
- サーバーに設定されたrootパスワード。
始めに
始める前に、システムパッケージを最新バージョンに更新することをお勧めします。次のコマンドを使用してすべてのパッケージを更新できます:
apt-get update -yシステムが更新されたら、次のステップに進むことができます。
Nginx Webサーバーのインストール
Nginxは、イベント駆動型アーキテクチャに従い、1つのスレッド内で複数のリクエストを処理できる無料のオープンソースWebサーバーです。一般的に使用されるアプリケーションと互換性があり、静的ファイルの提供に使用されます。
デフォルトでは、NginxパッケージはDebian 11のデフォルトリポジトリに含まれています。次のコマンドを使用してインストールできます:
apt-get install nginx -yNginxがインストールされたら、Nginxサービスを開始し、システム再起動時に自動的に開始するように設定します:
systemctl start nginx
systemctl enable nginx次のコマンドを使用して、インストールされたNginxのバージョンを確認することもできます:
nginx -v次の出力が表示されるはずです:
nginx version: nginx/1.18.0
デフォルトでは、Nginxはポート80で実行されます。次のコマンドを使用して確認できます:
ss -antpl | grep nginx次の出力が表示されるはずです:
LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=44342,fd=8),("nginx",pid=44341,fd=8))
LISTEN 0 511 [::]:80 [::]:* users:(("nginx",pid=44342,fd=9),("nginx",pid=44341,fd=9))
Nginxのインストールを次のURL http://your-server-ip を使用して確認することもできます。次のページにNginxテストページが表示されるはずです:

この時点で、Nginx Webサーバーがインストールされました。次のステップに進むことができます。
MariaDBデータベースサーバーのインストール
MariaDBは、Webサイトのデータを保存および管理するために使用されるオープンソースのSQLベースのデータベースです。デフォルトでは、MariaDBパッケージはDebian 11のデフォルトリポジトリに含まれています。次のコマンドを使用してインストールできます:
apt-get install mariadb-server -yMariaDBデータベースサーバーがインストールされたら、MariaDBサービスを開始し、システム再起動時に自動的に開始するように設定します:
systemctl start mariadb
systemctl enable mariadb次のコマンドを使用して、MariaDBサービスのステータスを確認することもできます:
systemctl status mariadb次の出力が表示されるはずです:
? mariadb.service - MariaDB 10.3.31データベースサーバー
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-08-21 04:13:25 UTC; 1min 36s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 1838 (mysqld)
Status: "SQLリクエストを受け付けています..."
Tasks: 31 (limit: 2353)
Memory: 66.1M
CGroup: /system.slice/mariadb.service
??1838 /usr/sbin/mysqld
MariaDBのインストールを保護し、MariaDBのrootパスワードを設定することをお勧めします。次のコマンドを実行して、MariaDBのインストールを保護することができます:
mysql_secure_installationMariaDBのrootパスワードを設定し、匿名ユーザーを削除し、リモートからのrootログインを禁止し、テストデータベースを削除するように求められます。次のように表示されます:
Enter current password for root (enter for none):
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
デフォルトでは、MariaDBはポート3306で実行されます。次のコマンドを使用して確認できます:
ss -antpl | grep mariadb次のコマンドが表示されるはずです:
LISTEN 0 80 127.0.0.1:3306 0.0.0.0:* users:(("mariadbd",pid=12181,fd=15))
MariaDBシェルに接続するには、次のコマンドを実行します:
mysql -u root -pMariaDBのrootパスワードを入力し、Enterを押してMariaDBシェルに接続します。接続されると、次の出力が表示されるはずです:
Enter password:
MariaDBモニターへようこそ。コマンドは;または\gで終了します。
あなたのMariaDB接続IDは64です
サーバーバージョン: 10.5.11-MariaDB-1 Debian 11
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
'help;'または'\h'を入力してヘルプを表示します。'\c'を入力して現在の入力ステートメントをクリアします。
次に、MariaDBのバージョンを確認するために次のコマンドを実行します:
MariaDB [(none)]> SELECT VERSION();次の出力が表示されるはずです:
+-------------------+
| VERSION() |
+-------------------+
| 10.5.11-MariaDB-1 |
+-------------------+
1 row in set (0.001 sec)
この時点で、MariaDBデータベースサーバーがインストールされ、保護されました。次のステップに進むことができます。
PHP言語のインストール
PHPはHypertext Preprocessorの略で、サーバーサイドで使用されるスクリプト言語です。オープンソースであり、大規模なコミュニティサポートがあり、インターネット上でPHPアプリケーションをホストするために使用されます。
デフォルトでは、Debian 11で利用可能なPHPのバージョンはPHP 7.4です。次のコマンドを使用して、他の一般的に使用される拡張機能と共にPHPをインストールできます:
apt-get install php php-fpm php-cli php-mysql php-zip php-curl php-xml -yPHPがインストールされたら、次のコマンドを使用してPHPのバージョンを確認します:
php -v次の出力が表示されるはずです:
PHP 7.4.21 (cli) (built: Jul 2 2021 03:59:48) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies
Nginx用の仮想ホストを作成する
ここでは、PHPページをホストするためのexample.comディレクトリを作成します。次のコマンドを使用して作成できます:
mkdir /var/www/html/example.com次に、example.comディレクトリの所有権をwww-dataに設定します:
chown -R www-data:www-data /var/www/html/example.com次に、次のコマンドを使用してNginxの仮想ホスト設定ファイルを作成します:
nano /etc/nginx/conf.d/example.conf次の行を追加します:
server {
listen 80;
server_name example.com;
root /var/www/html/example.com;
index index.php;
access_log /var/log/nginx/example_access.log;
error_log /var/log/nginx/example_error.log;
client_max_body_size 100M;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
ファイルを保存して閉じたら、次のコマンドを使用してNginxの設定エラーを確認します:
nginx -t次の出力が表示されるはずです:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
次に、Nginxサービスを再起動して設定変更を適用します:
systemctl restart nginx次のコマンドを使用してNginxサービスのステータスを確認することもできます:
systemctl status nginx次の出力が表示されるはずです:
? nginx.service - 高性能Webサーバーおよびリバースプロキシサーバー
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-08-21 04:37:27 UTC; 5s ago
Docs: man:nginx(8)
Main PID: 4378 (nginx)
Tasks: 2 (limit: 2353)
Memory: 6.2M
CGroup: /system.slice/nginx.service
??4378 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
??4379 nginx: worker process
Aug 21 04:37:27 debian11 systemd[1]: Starting 高性能Webサーバーおよびリバースプロキシサーバー...
Aug 21 04:37:27 debian11 systemd[1]: Started 高性能Webサーバーおよびリバースプロキシサーバー。
NginxでのPHPインストールの確認
次に、Nginx Webサーバーで提供するサンプルPHPファイルを作成する必要があります。example.comディレクトリ内にphpinfo.phpファイルを作成できます:
nano /var/www/html/example.com/phpinfo.php次の行を追加します:
ファイルを保存して閉じたら、Webブラウザを開き、URL http://example.com/phpinfo.php を使用してPHPページにアクセスします。次の画面にPHPページが表示されるはずです:
結論
上記のガイドでは、Debian 11にLEMPスタックをインストールする方法を説明しました。これで、LEMPスタックを使用して最初のWebサイトをホストし始めることができます。質問があればお気軽にお尋ねください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。