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を構成する
- テスト
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ファイアウォール構成に追加されました。
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データベースのインストールと構成が完了しました。
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のインストールが完了しました。
このステップでは、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の構成が完了しました。
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のインストールが完了しました。
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ユーザーを作成しました。
このステップでは、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のインストールをテストするには、URLの「phpmyadmin」パスの後にサーバーのIPアドレスを入力します。
http:// server-ip / phpmyadmin /
そして、phpMyAdminログインページが表示されます。
phpMyAdminにログインするには、上に作成したユーザーを入力します。ユーザーは「hakase」で、パスワードは「[email protected]#」です。次に、「 Go」をクリックします。 'ボタン。
そして、以下のようなphpMyAdminダッシュボードが表示されます。
phpMyAdminはLEMPスタック環境で動作しています。
その結果、Ubuntu20.04へのLEMPスタックのインストールと構成は正常に完了しました。