サーバー設定 · 2 min read · Oct 12, 2025
Ubuntu 20.04 LTSにNginxとPHP、MySQL(LEMPスタック)をインストールする方法

Nginx(発音は「エンジンエックス」)は、無料でオープンソースの高性能HTTPサーバーです。Nginxは、その高速性、安定性、豊富な機能セット、シンプルな設定、低リソース消費で知られています。このチュートリアルでは、PHP 7.4サポート(PHP-FPMを介して)およびMySQLサポートを備えたUbuntu 20.04 LTSサーバーにNginxをインストールする方法を示します(LEMP = Linux + Nginx(発音は「エンジンエックス」)+ MySQL + PHP)。
前提条件
- Ubuntu 20.04 LTSサーバー
- ルート権限
何をしますか?
- Nginxをインストール
- MySQLをインストール
- PHP-FPMをインストール
- NginxとPHP-FPMを設定
- PhpMyAdminをインストール
- PhpMyAdminを設定
- テスト
ステップ1 - Nginxをインストール
Nginxまたはエンジンエックスは、低メモリ消費の高性能HTTPおよびプロキシサーバーです。Netflix、Pinterest、CloudFlare、GitHubなどの大規模なウェブサイトのほとんどはNginxを使用しています。
このステップでは、UbuntuリポジトリからNginxウェブサーバーをインストールします。
Ubuntuシステムのすべてのリポジトリを更新し、以下のaptコマンドを使用してNginxパッケージをインストールします。
sudo apt update
sudo apt install nginxインストールが完了したら、Nginxサービスを開始し、システム起動時に毎回起動するように有効にします。
systemctl start nginx
systemctl enable nginxこれでNginxウェブサーバーのインストールが完了しました。以下のコマンドを使用してNginxサービスを確認します。
systemctl status nginx以下は得られる結果です。

また、UbuntuシステムのHTTPポートを確認し、Nginxサービスが使用していることを確認します。
ss -plt4以下は得られる結果です。
その結果、HTTPプロトコルはNginxサービスによって使用されています。
次に、UFWファイアウォールを使用してNginxインストールを保護します。
以下のコマンドを使用して、UFWファイアウォール設定にHTTPおよびHTTPSプロトコルを追加します。
for fw in ssh http https
do
ufw allow $fw
done次に、UFWファイアウォールを有効にし、そのステータスを確認します。
ufw enable
ufw status numberedHTTPおよびHTTPSプロトコルがUFWファイアウォール設定に追加されました。

ステップ2 - MySQLをインストール
MySQLは、Oracle Corporationによって作成された最も人気のあるオープンソースのリレーショナルデータベース管理システム(RDBMS)です。これはLEMPスタックの中心的なコンポーネントであり、Ubuntuリポジトリから最新のMySQLバージョンをインストールします。
以下のaptコマンドを使用してMySQLをインストールします。
sudo apt install mysql-server mysql-clientMySQLのインストールが完了したら、MySQLサービスを開始し、システム起動時に毎回起動するように有効にします。
systemctl start mysql
systemctl enable mysql以下のコマンドを使用してMySQLサービスを確認します。
systemctl status mysqlMySQLサービスは稼働中です。

次に、MySQLサーバーのルートパスワードを設定します。
以下の’mysql_secure_installation’コマンドを実行します。
mysql_secure_installation次に、以下の設定が求められますので、MySQLルートユーザーの強力なパスワードを入力してください。
Press y|Y for Yes, any other key for No: Press Enter
New password:
Re-enter new password:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : YこれでMySQLルートパスワードが設定されました。
その結果、Ubuntu 20.04でのMySQLデータベースのインストールと設定が完了しました。
ステップ3 - PHP-FPMをインストールおよび設定
PHP-FPMまたはFastCGIプロセスマネージャーは、追加機能と速度向上を提供する古いPHP FastCGIの代替です。これは、PHPプログラミング言語に基づく小規模から大規模なサイトに適しています。
このステップでは、PHPMyAdminに必要な追加の拡張機能を含むデフォルトのPHP7.4-FPMをインストールします。
以下のコマンドを使用してPHP-FPMをインストールします。
sudo apt install php-fpm php-cli php-curl php-mysql php-curl php-gd php-mbstring php-pear -yPHP-FPMのインストールが完了したら、’/etc/php/7.4/fpm’ディレクトリに移動し、vimエディタを使用してphp.ini設定を編集します。
cd /etc/php/7.4/fpm/
vim php.ini以下の設定のコメントを外し、値を’0’に変更します。
cgi.fix_pathinfo = 0保存して閉じます。
次に、PHP7.4-FPMサービスを開始し、システム起動時に毎回起動するように有効にします。
systemctl start php7.4-fpm
systemctl enable php7.4-fpmPHP-FPMサービスは稼働中です。以下のコマンドを使用して確認します。
systemctl status php7.4-fpm以下は得られる結果です。

デフォルトでは、PHP-FPMはソックファイルの下で実行されています。以下のssコマンドを使用して確認します。
ss -pl | grep php以下は得られる応答です。
u_str LISTEN 0 511 /run/php/php7.4-fpm.sock 67702 * 0これでUbuntu 20.04でのPHP-FPM 7.4のインストールが完了しました。
ステップ4 - NginxとPHP-FPMを設定
このステップでは、NginxウェブサーバーとPHP-FPMを設定します。
‘/etc/nginx’設定ディレクトリに移動し、vimまたはnanoを使用して’nginx.conf’ファイルを編集します。
cd /etc/nginx/
vim nginx.conf以下の行のコメントを外して、Nginxバージョンを隠します。
server_tokens off;保存して閉じます。
次に、’sites-available’ディレクトリの’default’仮想ホスト設定を編集します。
vim sites-available/default以下に示すPHP行のコメントを外し、ソックファイル行を変更します。
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.2.0.1:9000;
}保存して閉じます。
Nginx設定をテストし、エラーがないことを確認してから、サービスを再起動します。
nginx -t
systemctl restart nginxその結果、NginxとPHP-FPMの設定が完了しました。

ステップ5 - phpMyAdminをインストール
PhpMyAdminは、ウェブブラウザからMySQLまたはMariaDBデータベースを管理するためのPHPベースのアプリケーションです。このステップでは、LEMP(Linux、Nginx、MySQL、PHP-FPM)スタックの下でPHPMyAdminをインストールおよび設定します。
以下のaptコマンドを使用してPHPMyAdminをインストールします。
sudo apt install phpmyadminインストール中に、phpmyadminのウェブサーバー設定について尋ねられます。
「none」オプションを選択し、カーソルを「 OK 」に移動します。

phpmyadminデータベースとユーザー設定については、「 Yes 」を選択します。
そして、新しい「強力な」PHPMyAdmin管理者パスワードを入力します(例:’Hakaselabs001@#’)。

‘Hakaselabs001@#’パスワードを繰り返します。

これでUbuntu 20.04でのphpMyAdminのインストールが完了しました。
ステップ6 - NginxとMySQLでphpMyAdminを設定
phpmyadminのインストール後、Nginxウェブサーバーの下でphpmyadminを実行し、MySQLユーザーのphpmyadminアクセスを設定する必要があります。Nginxウェブサーバーの下でPHPMyAdminを実行するには、仮想ホスト設定ファイルに設定を追加する必要があります。
NginxウェブサーバーでphpMyAdminを設定
‘/etc/nginx’設定ディレクトリに移動し、デフォルトの仮想ホストファイルを編集します。
cd /etc/nginx/sites-available/
vim default以下のNginx設定をPHPMyAdminの’server {…}’ブロック内に貼り付けます。
location /phpmyadmin {
root /usr/share/;
index index.php;
try_files $uri $uri/ =404;
location ~ ^/phpmyadmin/(doc|sql|setup)/ {
deny all;
}
location ~ /phpmyadmin/(.+\.php)$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
}保存して終了します。
Nginx設定をテストし、エラーがないことを確認してから、nginxサービスを再起動します。
nginx -t
systemctl reload nginxこれでphpMyAdminインストールのためのNginx設定が追加され、’http://server-ip/phpmyadmin’のパスURLを介してアクセス可能です。

phpMyAdminユーザーにデータベースへのアクセスを許可
このチュートリアルでは、PHPMyAdmin用に非ルートMySQLユーザーを使用します。新しいユーザーを作成し、そのユーザーにサーバー内のすべてのデータベースのすべての権限を付与します。
以下のコマンドを使用してMySQLシェルにログインします。
mysql -u root -p次に、新しいMySQLユーザー’hakase’を作成し、すべてのデータベース権限を付与します。
create user hakase@'localhost' identified by 'Hakaselabs001@#';
grant all privileges on *.* to hakase@'localhost';
flush privileges;次に、MySQLシェルからログアウトするために’exit’と入力します。
exitその結果、phpMyAdmin用の新しいMySQLユーザーが作成されました。
ステップ7 - テスト
このステップでは、LEMPスタックとphpMyAdminの設定をテストします。
PHPファイルのテスト
‘/var/www/html’ディレクトリに移動し、新しいスクリプトファイル’info.php’をvimエディタを使用して作成します。
cd /var/www/html
vim info.php以下のスクリプトを貼り付けます。
保存して閉じます。
次に、ウェブブラウザを開き、サーバーのIPアドレスの後に’info.php’スクリプトのパスを入力します。
以下は得られる結果です。

その結果、Ubuntu 20.04サーバー上のPHP-FPM 7.4の詳細な設定が表示され、PHPスクリプトがLEMPスタックサーバーで実行されています。
phpMyAdminのテスト
phpMyAdminのインストールをテストするために、サーバーのIPアドレスの後に’phpmyadmin’パスを入力します。
そして、phpMyAdminのログインページが表示されます。

phpMyAdminにログインするには、上で作成したユーザーを入力します。ユーザーは’hakase’で、パスワードは’Hakaselabs001@#’です。次に、’ Go ‘ボタンをクリックします。
そして、以下のようなphpMyAdminダッシュボードが表示されます。

phpMyAdminはLEMPスタック環境で動作しています。
その結果、Ubuntu 20.04でのLEMPスタックのインストールと設定が成功裏に完了しました。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。