Ubuntu 22.04にLEMPスタックNginx、MySQL、PHPをインストールする方法。 このガイドでは、Nginx、MySQL 8.0、およびPHP8.1をインストールする方法を学習します。
また、いくつかの一般的なPHP拡張機能をインストールし、PHP構成を調整します。 最後に、Let’s Encrypt SSLを使用してセットアップを保護し、HTTPSリダイレクトを構成します。
このセットアップはGoogleクラウドでテストされているため、AWS、Azure、VPSなどのすべてのクラウドホスティングサービス、またはUbuntu22.04を実行している専用サーバーで動作します。
前提条件
- サーバーまたはsudo権限を持つユーザーへのrootアクセス。
- Let’sEncryptSSLをインストールするためにサーバーIPを指すドメイン
ステップ1:初期化を設定する
次のコマンドを使用して、パッケージを利用可能な最新バージョンに更新することから始めます。
sudo apt update sudo apt upgrade
セットアップを更新したら、セットアップを開始できます。
ステップ2:Nignxをインストールする
次のコマンドを使用してNginxをインストールします。
sudo apt install nginx
これによりインストールされます nginx
および必要なすべての依存関係。
ステップ3:ファイアウォールを設定する
これで、Nginxを使用してUncomplicated Firewall(UFW)を設定し、デフォルトのWebポートでパブリックアクセスを許可できます。 HTTP
と HTTPS
sudo ufw app list
リストされているすべてのアプリケーションが表示されます。
Output
Available applications:
Nginx Full
Nignx HTTP
Nginx HTTPS
OpenSSH
- Nginx HTTP:このプロファイルはポートを開きます
80
(通常の暗号化されていないWebトラフィック) - Nginxフル:このプロファイルは両方のポートを開きます
80
(通常の暗号化されていないWebトラフィック)およびポート443
(TLS / SSL暗号化トラフィック) - Nginx HTTPS:このプロファイルはポートのみを開きます
443
(TLS / SSL暗号化トラフィック) - OpenSSH:このプロファイルはポートを開きます
22
SSHアクセス用。
SSLを使用しない場合は、NginxHTTPプロファイルのみを有効にする必要があります。
次に、NginxFullを有効にします。
sudo uff allow OpenSSH sudo ufw allow 'Nginx Full'
sudo ufw enable
このコマンドを使用すると、UFWのステータスを表示できます。
sudo ufw status
次のような出力が表示されます。
Output
Status: active
To Action From
-- ------ ----
Nginx Full ALLOW Anywhere
OpenSSH ALLOW Anywhere
Nginx Full (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
ステップ:4Nginxのインストールを確認します
手順2でNginxをインストールしたので、自動的に起動され、すでに稼働しているはずです。
Nginxのすべてのプロセスは systemctl
指図。 次のコマンドでNginxのステータスを確認します。
sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-05-04 05:36:49 UTC; 44s ago Docs: man:nginx(8) Process: 10272 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCC> Process: 10273 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 10274 (nginx) Tasks: 3 (limit: 1151) Memory: 5.3M CPU: 35ms CGroup: /system.slice/nginx.service
これで、Nignxがファイアウォールをインストールして構成しました。
ステップ5:MySQLをインストールする
Ubuntu 22.04では、MySQL8はデフォルトでJammyJellyfishリポジトリに含まれているため、 apt install
指図。
sudo apt install mysql-server
インストールが完了すると、MySQLサービスが自動的に開始されます。 MySQLサーバーが実行されていることを確認するには、次のように入力します。
sudo service mysql status
出力には、サービスが有効で実行されていることが示されます。
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-05-04 00:38:45 UTC; 11s ago Process: 13836 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, statu> Main PID: 13844 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 1151) Memory: 351.4M CPU: 1.043s CGroup: /system.slice/mysql.service └─13844 /usr/sbin/mysqld
以下のコマンドを使用してMySQlのバージョンを確認してください。
sudo mysql -V
Output
mysql Ver 8.0.28-0ubuntu4 for Linux on x86_64 ((Ubuntu))
ステップ6:MySQLを保護する
MySQLのインストールには、という名前のスクリプトが付属しています mysql_secure_installation
これにより、MySQLサーバーのセキュリティを簡単に向上させることができます。
sudo mysql_secure_installation
設定するように求められます VALIDATE PASSWORD PLUGIN
これは、MySQLユーザーのパスワードの強度をテストし、セキュリティを向上させるために使用されます。
プレス y
次のステップに進むために、パスワード検証プラグインまたはその他のキーを設定する場合。
パスワード検証ポリシーには、低、中、強力の3つのレベルがあります。
強力なパスワード検証のために2を入力します。
次のプロンプトで、MySQLrootユーザーのパスワードを設定するように求められます。
パスワード検証プラグインを設定すると、スクリプトに新しいパスワードの強度が表示されます。 タイプ y
パスワードを確認します。
次に、匿名ユーザーを削除し、rootユーザーのローカルマシンへのアクセスを制限し、テストデータベースを削除し、特権テーブルを再読み込みするように求められます。 あなたは答えるべきです y
すべての質問に。
ステップ7:PHPをインストールする
デフォルトでは、Ubuntu22.04に最新のPHP8.1リポジトリが追加されています。 したがって、次のコマンドを使用してPHPをインストールできます。
sudo apt install php8.1-fpm php8.1 php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl php8.1-bcmath unzip -y
PHPをインストールしたら、次のコマンドを使用してバージョンを確認できます。
php -v
Output PHP 8.1.5 (cli) (built: Apr 7 2022 17:46:26) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.5, Copyright (c) Zend Technologies with Zend OPcache v8.1.5, Copyright (c), by Zend Technologies
ステップ8:PHPを構成する
次に、いくつかの値を変更して、Webアプリケーション用にPHPを構成します。 php.ini
ファイル。
Nginxを使用したPHP8.1の場合 php.ini
場所は次のディレクトリになります。
sudo nano /etc/php/8.1/fpm/php.ini
打つ F6
エディター内で検索し、パフォーマンスを向上させるために次の値を更新します。
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
PHP設定を変更したら、変更を有効にするためにPHP-FPMを再起動する必要があります。
sudo service php8.1-fpm restart
ステップ9:Nginxを構成する
デフォルトのNginx構成を無効にします。
sudo rm -rf /etc/nginx/sites-enabled/default sudo rm -rf /etc/nginx/sites-available/default
Webサイトディレクトリを作成します。
sudo mkdir -p /var/www/html/domainname/public
正しい権限を設定します。
sudo chmod -R 755 /var/www/html/domainname sudo chown -R www-data:www-data /var/www/html/domainname
新しいサーバーブロック構成を作成します。
sudo nano /etc/nginx/sites-available/domainname.conf
次の構成を新しいファイルに貼り付けます。
server { listen 80; listen [::]:80; server_name yourdomainname.com www.yourdomainname.com; root /var/www/html/domainname/public; index index.html index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { try_files $uri =404; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass unix:/run/php/php8.1-fpm.sock; fastcgi_index index.php; include fastcgi_params; } }
新しい構成を有効にします。
sudo ln -s /etc/nginx/sites-available/domainname.conf /etc/nginx/sites-enabled/domainname.conf
ステップ10:Let’sEncryptSSLをインストールする
HTTPSは、サーバー(インスタンス)とクライアント(Webブラウザー)間の安全な通信のためのプロトコルです。 無料のSSL証明書を提供するLet’sEncryptの導入により、HTTPSはすべての人に採用され、視聴者にも信頼を提供します。
sudo apt install python3-certbot-nginx
これで、Let’s Encrypt for Ubuntu 22.04によってCertbotがインストールされました。このコマンドを実行して、証明書を受け取ります。
sudo certbot --nginx --agree-tos --redirect -m [email protected] -d domainname.com -d www.domainname.com
このコマンドは、Free SSLをインストールし、HTTPSへのリダイレクトを構成し、Nginxサーバーを再起動します。
ステップ11:SSL証明書を更新する
Let’s Encryptが提供する証明書は、90日間のみ有効であるため、頻繁に更新する必要があります。 それでは、次のコマンドを使用して更新機能をテストしてみましょう。
sudo certbot renew --dry-run
このコマンドは、証明書の有効期限をテストし、自動更新機能を構成します。
ステップ:12:セットアップをテストする
可能な手順を実行したら、Webディレクトリに新しいテストPHPファイルを作成できます。
sudo nano /var/www/html/domainname/public/info.php
以下のコードをファイル内に貼り付けます。
<?php phpinfo();
ファイルを保存します。
さあ、ドメイン名を確認してください info.php
URLで(domainname.com/info.php
)。
ドメインがHTTPSにリダイレクトされ、PHP情報の詳細が表示されます。
あなたのスーパーチャージ Linux管理の経歴 トレーニングコースを修了し、夢の仕事に就きましょう。
結論
これで、Let’sEncryptSSLを使用してUbuntu22.04にLEMPスタックをインストールする方法を学習しました。
御時間ありがとうございます。 問題やフィードバックに直面した場合は、以下にコメントを残してください。
The post Ubuntu22.04にLEMPStackNginx、MySQL、PHPをインストールする方法 appeared first on Gamingsym Japan.