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

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

Linux、Nginx、MySQL、およびPHPの組み合わせは、LEMPスタックとして知られています。これは、PHPベースのアプリケーションで人気のあるWebホスティング環境です。ここで、Linuxはオペレーティングシステム、Nginxは人気のあるWebサーバー、MySQLはデータの保存に使用されるリレーショナルデータベース管理システム、PHPは広く使用されているプログラミング言語です。

この記事は、Ubuntu LinuxシステムにNginx、MySQL 8.0、およびPHP7.4をインストールするのに役立ちます。 UbuntuマシンにLEMPスタックをインストールすることから始めましょう。

前提条件

UbuntuでLEMPのインストールを開始する前に:

  • 実行中のUbuntu20.04システム
  • システムにsudoproviledgedアカウントとしてログインします。これを作成するには、サーバーの初期設定チュートリアルに従います。
  • サーバーを指すドメイン/サブドメイン名

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

次に、システムにNginxWebサーバーをインストールする必要があります。 Nginxパッケージは、デフォルトのaptリポジトリで利用できます。

次のコマンドを実行してインストールします。

sudo apt update
sudo apt install nginx

PHP-FPMを使用したPHPのインストール

PHP 7.4パッケージは、Ubuntu20.04LTSのデフォルトのリポジトリで利用できます。次のコマンドを使用して、aptキャッシュを更新し、システムにPHPをインストールします。

sudo apt update
sudo apt install -y php7.4 php7.4-fpm

また、アプリケーションに必要な追加のPHPモジュールをインストールします。

sudo apt install php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-xml

システムにPHPFPMパッケージを含むPHP7.4をインストールしました。以下のコマンドを実行して、PHPFPMサービスのステータスを確認しましょう。

sudo systemctl status php7.4-fpm

● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-06-16 05:15:57 UTC; 34s ago
       Docs: man:php-fpm7.4(8)
    Process: 882716 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.4/fpm/pool.d/www.conf 74>
   Main PID: 882699 (php-fpm7.4)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
      Tasks: 3 (limit: 2283)
     Memory: 10.3M
     CGroup: /system.slice/php7.4-fpm.service
             ├─882699 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
             ├─882714 php-fpm: pool www
             └─882715 php-fpm: pool www

Jun 16 05:15:57 tecadmin systemd[1]: Starting The PHP 7.4 FastCGI Process Manager...
Jun 16 05:15:57 tecadmin systemd[1]: Started The PHP 7.4 FastCGI Process Manager.

MySQLのインストール

デフォルトのUbuntu20.04aptリポジトリには、MySQLサーバー8.0が含まれています。最後に、MySQLデータベース用のmysql-serverパッケージをインストールします。また、php-mysqlパッケージをインストールして、PHPを使用したMySQLサポートを使用します。次のコマンドを使用してインストールします。

sudo apt install mysql-server php7.4-mysql

インストーラーはrootパスワードの入力を求めます。このパスワードはMySQLrootユーザーに対して機能します。 MySQLをインストールした後、MySQLサーバーの初期設定に対して次のコマンドを実行します。スクリプトは、パスワード検証ポリシーなど、以前のMySQLバージョンよりも多くの設定を要求することがわかります。

sudo mysql_secure_installation
Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component? 

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Please set the password for root here.

New password:

Re-enter new password:

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

PHP-FPMを使用してNginxを構成する

FPM/FastCGIで実行するNginx仮想ホストを作成しましょう。このチュートリアルでは、デフォルトのVirtualHostを使用します。テキストエディタでVirtualHostホスト構成ファイルを編集します。要件に応じて新しいVirtualHostを作成できるため、新しいVirtualHostを必ず有効にしてください。

sudo vim /etc/nginx/sites-available/example.com

以下の基本的なNginx仮想ホスト構成をphpfpm設定で使用します。次のように構成を更新します。

Apache
123456789101112131415 server {listen 80;ルート/var/ www / html; index index.php index.html index.htm; server_name example.com;場所/{try_files$ uri $ uri / =404; } location〜 \ .php $ {include snippets / fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; }}

構成ファイルへの変更を保存し、サイト対応ディレクトリへのリンクを作成します。

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com 

次に、Nginxサービスを再起動して変更を再読み込みします。

sudo systemctl restart nginx

ステップ5–サービスの管理

Ubuntu20.04LTSシステムにLAMPスタックをインストールしました。以下のコマンドは、systemdで実行されているNginxおよびMySQLサービスを開始/停止または再起動するのに役立ちます。

NginxおよびMySQLサービスを再起動するには、次のように入力します。

sudo systemctl restart nginx
sudo systemctl restart mysql

NginxおよびMySQLサービスを開始するには、次のように入力します。

sudo systemctl start nginx
sudo systemctl start mysql

NginxおよびMySQLサービスを停止するには、次のように入力します。

sudo systemctl stop nginx
sudo systemctl stop mysql

ステップ6–ファイアウォールルールを調整する

「http」や「https」などのサービス名を直接指定して許可することができます。 Firewalldは、/ etc / servicesファイルを使用して、サービスの対応するポートを判別します。

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

sudo firewall-cmd --reload

ステップ7–セットアップを確認する

すべてのセットアップが完了した後。 info.phpを作成しましょう 次のコンテンツを含むファイルWebサイトドキュメントルート。

sudo echo "<?php phpinfo(); ?>" > /var/www/html/info.php

次に、Webブラウザでこのファイルにアクセスします。以下のような画面が表示され、サーバー上のPHPの詳細がすべて表示されます。

おめでとうございます! Ubuntu20.04LTSシステムでLEMPサーバーを正常に構成しました。


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

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

  3. Ubuntu18.04にLEMPをインストールする方法

  1. CentOS 7にLEMPスタック(Nginx、MySQL、PHP v7)をインストールする方法

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

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

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

  2. Debian9にPHP+MySQL(LEMP)を使用してNginxをインストールする方法

  3. Ubuntu14.10上のNginx1.7.9+ PHP5-FPM + MySQL(LEMP)