GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu 20.04 LTSにPHPとMySQL(LEMPスタック)を使用してNginxをインストールする方法

Nginx(「エンジンx」と発音)は、無料のオープンソースの高性能HTTPサーバーです。 Nginxは、その高速性、安定性、豊富な機能セット、シンプルな構成、および低リソース消費で知られています。このチュートリアルでは、PHP7.4サポート(PHP-FPM経由)およびMySQLサポート(LEMP =Linux + Nginx(「エンジンx」と発音)+ MySQL + PHP)を使用してUbuntu20.04LTSサーバーにNginxをインストールする方法を示します。

前提条件

  • Ubuntu20.04LTSサーバー
  • root権限

何をしますか?

  • Nginxをインストールする
  • MySQLをインストールする
  • PHP-FPMをインストールする
  • NginxとPHP-FPMを構成する
  • PhpMyAdminをインストールする
  • PhpMyAdminを構成する
  • テスト
ステップ1-Nginxをインストールします

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

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

Ubuntuシステムのすべてのリポジトリを更新し、以下のaptコマンドを使用してNginxパッケージをインストールします。

sudo apt update
sudo apt install nginx

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

systemctl start nginx
systemctl enable nginx

これでNginxWebサーバーのインストールが完了しました。次のコマンドを使用して、Nginxサービスを確認してください。

systemctl status nginx

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

また、UbuntuシステムのHTTPポートをチェックし、Nginxサービスで使用されていることを確認してください。

ss -plt4

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

その結果、HTTPプロトコルはNginxサービスによって使用されます。

次に、UFWファイアウォールを使用してNginxのインストールを保護します。

次のコマンドを使用して、HTTPおよびHTTPSプロトコルをUFWファイアウォール構成に追加します。

for fw in ssh http https
do
ufw allow $fw
done

次に、UFWファイアウォールを有効にして、そのステータスを確認します。

ufw enable
ufw status numbered

また、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_secure_installation」コマンドを実行します。

mysql_secure_installation

ここで、次の構成を求められます。必ず、MySQLrootユーザーの強力なパスワードを入力してください。

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ルートパスワードが設定されました。

その結果、Ubuntu20.04へのMySQLデータベースのインストールと構成が完了しました。

ステップ3-PHP-FPMのインストールと構成

PHP-FPMまたはFastCGIProcessManagerは、追加機能と速度の向上を提供する古いPHPFastCGIの代替手段です。 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はsockファイルで実行されています。以下のssコマンドを使用して確認してください。

ss -pl | grep php

以下はあなたが得る応答です。

u_str   LISTEN   0     511   /run/php/php7.4-fpm.sock 67702   * 0                            

そして、Ubuntu20.04へのPHP-FPM7.4のインストールが完了しました。

ステップ4-NginxとPHP-FPMを構成する

このステップでは、NginxWebサーバーと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行のコメントを解除し、sockファイル行を変更します。

        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は、WebブラウザからMySQLまたはMariaDBデータベースを管理するためのPHPベースのアプリケーションです。このステップでは、LEMP(Linux、Nginx、MySQL、およびPHP-FPM)スタックの下にPHPMyAdminをインストールして構成します。

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

sudo apt install phpmyadmin

インストール中に、phpmyadminのWebサーバー構成について尋ねられます。

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

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

そして、「[email protected]#」などの新しい「STRONG」PHPMyAdminadminと入力します。

'[email protected]#'パスワードを繰り返します。

そして、Ubuntu20.04へのphpMyAdminのインストールが完了しました。

ステップ6-NginxとMySQLを使用してphpMyAdminを構成する

phpmyadminのインストール後、Nginx Webサーバーで実行するようにphpmyadminを構成し、MySQLユーザーのphpmyadminアクセスを構成する必要があります。 Nginx WebサーバーでPHPMyAdminを実行するには、仮想ホスト構成ファイルに構成を追加する必要があります。

NginxWebサーバーを使用してphpMyAdminを構成する

次に、「/ etc / nginx」構成ディレクトリに移動し、デフォルトの仮想ホストファイルを編集します。

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

PHPMyAdminの次のNginx構成を「サーバー{...}」ブラケット内に貼り付けます。

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構成を追加しました。これには、パスURLから「http:// server-ip/phpmyadmin」としてアクセスできます。

phpMyAdminユーザーにデータベースへのアクセスを許可する

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

次のコマンドを使用してMySQLシェルにログインします。

mysql -u root -p

次に、新しいMySQLユーザー「hakase」を作成し、すべてのデータベース権限を付与します。

create user [email protected]'localhost' identified by '[email protected]#';
grant all privileges on *.* to [email protected]'localhost';
flush privileges;

次に、「exit」と入力して、MySQLシェルからログアウトします。

exit

その結果、phpMyAdmin用の新しいMySQLユーザーを作成しました。

ステップ7-テスト

このステップでは、LEMPスタックとphpMyAdminの構成をテストします。

PHPファイルのテスト

'/ var / www / html'ディレクトリに移動し、vimエディターを使用して新しいスクリプトファイル'info.php'を作成します。

cd /var/www/html
vim info.php

次のスクリプトを貼り付けます。

<?php
phpinfo();
?>

保存して閉じます。

次に、Webブラウザを開き、「info.php」スクリプトのパスに従ってサーバーのIPアドレスを入力します。

http://server-ip/info.php

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

その結果、Ubuntu20.04サーバーでのPHP-FPM7.4の詳細な構成が完了し、PHPスクリプトがLEMPスタックサーバーで実行されています。

テストphpMyAdmin

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

http:// server-ip / phpmyadmin /

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

phpMyAdminにログインするには、上に作成したユーザーを入力します。ユーザーは「hakase」で、パスワードは「[email protected]#」です。次に、「 Go」をクリックします。 'ボタン。

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

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

その結果、Ubuntu20.04へのLEMPスタックのインストールと構成は正常に完了しました。


Ubuntu
  1. Ubuntu11.10にPHP5とMySQLを使用してNginxをインストールする方法

  2. Ubuntu11.04にPHP5とMySQLを使用してLighttpdをインストールする方法

  3. Ubuntu22.04LTSにLAMPスタックをインストールする方法

  1. Ubuntu18.04LTSにNginxを使用してPhorumをインストールする方法

  2. Ubuntu 20.04にPHPとNginx(LEMP)をインストールしてセットアップする方法

  3. Ubuntu 22.04 に LEMP スタック Nginx、MySQL、PHP をインストールする方法

  1. Ubuntu18.04LTSにNginxを使用してSeafileをインストールする方法

  2. CentOS 7にPHPとMySQL(LEMPスタック)を使用してNginxをインストールする方法

  3. Ubuntu 18.04にPHPとMySQL(LEMPスタック)を使用してNginxをインストールする方法