サーバー設定 · 2 min read · Oct 12, 2025

Ubuntu 18.04にNginx、PHP、MySQL(LEMPスタック)をインストールする方法

Nginx(「エンジン x」と発音)は、無料でオープンソースの高性能HTTPサーバーです。Nginxは、その安定性、豊富な機能セット、シンプルな設定、低リソース消費で知られています。このチュートリアルでは、PHP 7.2サポート(PHP-FPMを通じて)とMySQLサポートを持つUbuntu 18.04 LTSサーバーにNginxをインストールする方法を示します(LEMP = Linux + nginx(「 e ngine x」と発音) + MySQL + PHP)。

前提条件

  • Ubuntu 18.04 LTSサーバー
  • ルート権限

何をするか?

  1. Nginxをインストール
  2. MySQLをインストール
  3. PHP-FPMをインストール
  4. NginxとPHP-FPMを設定
  5. PhpMyAdminをインストール
  6. PhpMyAdminを設定
  7. テスト

ステップ1 - Nginxをインストール

Nginxまたはエンジン xは、低メモリ消費の高性能HTTPおよびプロキシサーバーです。Netflix、Pinterest、CloudFlare、GitHubなどの大規模なウェブサイトのほとんどがNginxを使用しています。

このステップでは、UbuntuリポジトリからNginxウェブサーバーをインストールします。

以下のコマンドを実行します。

sudo apt install nginx -y

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

systemctl start nginx  
systemctl enable nginx

Nginxのインストールが完了しました。

ファイアウォールの設定

サーバーでファイアウォールをオンにすることをお勧めします。

SSHおよびHTTPサービスポートをファイアウォール設定に追加します。

以下のUFWコマンドを実行します。

ufw allow ssh  
ufw allow http

次に、UFWファイアウォールを開始し、システム起動時に毎回起動するように設定します。

ufw enable

NginxウェブサーバーはUFWファイアウォールの下で稼働しています。

UFWファイアウォール設定

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

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

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

sudo apt install mysql-server mysql-client -y

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

systemctl start mysql  
systemctl enable mysql

これで、Ubuntu 18.04サーバーにMySQL 5.7がインストールされました。

ステップ3 - PHP-FPMをインストール

PHP-FPMまたはFastCGIプロセスマネージャーは、追加機能と速度向上を提供する古いPHP FastCGIの代替です。PHPプログラミング言語に基づく小規模から大規模なサイトに適しています。

このステップでは、phpmyadminに必要な追加拡張機能を含むPHP7.2-FPMをインストールします。

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

sudo apt install php7.2 php7.2-fpm php7.2-cli php7.2-curl php7.2-mysql php7.2-curl php7.2-gd php7.2-mbstring php-pear -y

すべてのインストールが完了したら、PHP-FPMサービスを開始し、システム起動時に毎回起動するように設定します。

systemctl start php7.2-fpm  
systemctl enable php7.2-fpm

PHP7.2-FPMは、sockファイルの下でUbuntu 18.04で稼働しています。netstatコマンドを使用して確認します。

netstat -pl | grep php

ステップ4 - NginxとPHP-FPMを設定

このステップでは、NginxウェブサーバーとPHP-FPMを設定します。

Nginxの設定

‘/etc/nginx’設定ディレクトリに移動し、vimまたはnanoを使用して’nginx.conf’ファイルを編集します。

cd /etc/nginx/  
vim nginx.conf

以下の行のコメントを解除します。

keepalive_timeout 2;
server_tokens off;

設定ファイルを保存してエディタを終了します。

次に、デフォルトのNginx仮想ホストファイルを編集します。

vim sites-available/default

以下に示すPHP行のコメントを解除し、sockファイル行を変更します。

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        # # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        # # With php-cgi (or other tcp sockets):
        # fastcgi_pass 127.2.0.1:9000;
        }

保存して終了します。

Nginxの設定をテストし、エラーがないことを確認してから、サービスを再起動します。

nginx -t  
systemctl reload nginx

Nginxを再起動して設定をテスト

PHP-FPMの設定

‘/etc/php/7.2’ディレクトリに移動し、’php.ini’ファイルを編集します。

cd /etc/php/7.2/  
vim fpm/php.ini

‘cgi.fix_pathinfo’行のコメントを解除し、値を’0’に変更します。

cgi.fix_pathinfo=0

保存して終了します。

PHP-FPMサービスを再読み込みします。

systemctl reload php7.2-fpm

これで、NginxウェブサーバーとPHP-FPMの設定が完了しました。

ステップ5 - PhpMyAdminをインストール

PhpMyAdminは、ウェブブラウザからMySQLまたはMariaDBデータベースを管理するためのPHPベースのアプリケーションです。

このステップでは、LEMP(Linux、Nginx、MySQL、PHP-FPM)スタックの下でphpmyadminをインストールおよび設定します。

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

sudo apt install phpmyadmin -y

インストール中に、phpmyadminのウェブサーバー設定について尋ねられます。

「none」オプションを選択し、カーソルを「OK」に移動します。

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

ウェブサーバーの設定を選択しない

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

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

パスワードを繰り返す

これで、phpmyadminのインストールが完了しました。

ステップ6 - PhpMyAdminを設定

phpmyadminのインストール後、Nginxウェブサーバーの下でphpmyadminを実行し、MySQLユーザーのphpmyadminアクセスを設定する必要があります。

NginxでのPhpMyAdminの設定

Nginxウェブサーバーの下でphpmyadminを実行するために、仮想ホスト設定ファイルに設定を追加する必要があります。

‘/etc/nginx’設定ディレクトリに移動し、デフォルトの仮想ホストファイルを編集します。

cd /etc/nginx/  
vim sites-available/default

以下のNginx設定を’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:/var/run/php/php7.2-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設定が追加されました。

PhpMyAdminのためのMySQLユーザーの設定

このチュートリアルでは、phpmyadmin用に非ルートのMySQLユーザーを使用します。新しいユーザーを作成し、サーバー内のデータベースのすべての権限をそのユーザーに付与します。

MySQLシェルにログインします。

mysql -u root -p

次に、以下のMySQLクエリを使用して新しいユーザーを作成します。

create user hakase@'localhost' identified by 'Hakaselabs001@#';  
grant all privileges on *.* to hakase@'localhost' identified by 'Hakaselabs001@#';  
flush privileges;  
exit;

これで、phpmyadminアクセス用の新しいユーザーが作成されました。

MySQLユーザーの設定

ステップ7 - テスト

PHPファイルのテスト

ウェブルートディレクトリ’/var/www/html’に移動し、新しいphpinfoファイルを作成します。

cd /var/www/html/  
vim info.php

以下のphpinfoスクリプトを貼り付けます。

保存して終了します。

次に、ウェブブラウザを開き、サーバーのIPアドレスを以下のように入力します。IPをサーバーのIPに置き換えます。

http://192.168.33.10/info.php

以下は、PHPサーバー設定に関するすべての情報です。

PHP情報結果

PhpMyAdminのログインテスト

ウェブブラウザに以下のphpmyadmin URLを入力します(IPをサーバーのIPに置き換えます)。

http://192.168.33.10/phpmyadmin/

phpmyadminのログインページで、ユーザー’hakase’とパスワード’Hakaselabs001@#’を入力し、’Go’ボタンをクリックします。

PHPMyAdminログイン

これで、以下のようにphpmyadminダッシュボードが表示されます。

PHPMyAdminダッシュボード

LEMPスタックとPhpMyAdminがUbuntu 18.04 LTSに正常にインストールされました。

Share: X/Twitter LinkedIn

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

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