サーバー設定 · 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

以下は得られる結果です。

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 numbered

HTTPおよびHTTPSプロトコルがUFWファイアウォール設定に追加されました。

HTTPおよびHTTPSポートのオープンUFWファイアウォール

ステップ2 - MySQLをインストール

MySQLは、Oracle Corporationによって作成された最も人気のあるオープンソースのリレーショナルデータベース管理システム(RDBMS)です。これはLEMPスタックの中心的なコンポーネントであり、Ubuntuリポジトリから最新のMySQLバージョンをインストールします。

以下のaptコマンドを使用してMySQLをインストールします。

sudo apt install mysql-server mysql-client

MySQLのインストールが完了したら、MySQLサービスを開始し、システム起動時に毎回起動するように有効にします。

systemctl start mysql  
systemctl enable mysql

以下のコマンドを使用してMySQLサービスを確認します。

systemctl status mysql

MySQLサービスは稼働中です。

MySQLサーバーのインストール

次に、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 -y

PHP-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-fpm

PHP-FPMサービスは稼働中です。以下のコマンドを使用して確認します。

systemctl status php7.4-fpm

以下は得られる結果です。

php-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の設定が完了しました。

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のウェブサーバー設定

phpmyadminデータベースとユーザー設定については、「 Yes 」を選択します。

そして、新しい「強力な」PHPMyAdmin管理者パスワードを入力します(例:’Hakaselabs001@#’)。

phpMyAdminデータベースとユーザーのパスワード設定

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

phpMyAdminのウェブサーバー設定

これで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のためのNginxの設定

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’スクリプトのパスを入力します。

http://server-ip/info.php

以下は得られる結果です。

LEMPスタックでのphpinfo

その結果、Ubuntu 20.04サーバー上のPHP-FPM 7.4の詳細な設定が表示され、PHPスクリプトがLEMPスタックサーバーで実行されています。

phpMyAdminのテスト

phpMyAdminのインストールをテストするために、サーバーのIPアドレスの後に’phpmyadmin’パスを入力します。

http://server-ip/phpmyadmin/

そして、phpMyAdminのログインページが表示されます。

phpMyAdminログインページ

phpMyAdminにログインするには、上で作成したユーザーを入力します。ユーザーは’hakase’で、パスワードは’Hakaselabs001@#’です。次に、’ Go ‘ボタンをクリックします。

そして、以下のようなphpMyAdminダッシュボードが表示されます。

phpMyAdminダッシュボード

phpMyAdminはLEMPスタック環境で動作しています。

その結果、Ubuntu 20.04でのLEMPスタックのインストールと設定が成功裏に完了しました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。