概要
次の投稿では、Debian10とDebian11にもNginxを使用してWordPressをインストールする手順を紹介します。単一のDebianサーバーに、LEMPスタック(Nginx、PHP、MariaDB)をインストールして構成し、最後にWordPressをインストールして実行します。つまり、単一のDebianサーバーがNginx WebサーバーとMariaDBサーバーを実行し、WordPressをすべて実行します。
WordPressは、複数の個別のサーバー(個別のWebサーバーと個別のデータベースサーバー)でセットアップして実行することもできます。 (リモートデータベースを使用して)そのようなセットアップが必要な場合は、この投稿でセットアップ方法を確認できます。 WordPressをインストールして実行するもう1つの方法は、Dockerを使用する方法です。これについては、この投稿で説明しています。
必要なライブラリとパッケージをインストールする
sudo apt install nginx php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl mariadb-server
インストールが完了したら、実行されていない場合はNginxとMariaDBを起動し、起動時に自動起動できるようにします。
sudo systemctl start nginx.service sudo systemctl enable nginx.service sudo systemctl start mariadb.service sydo systemctl enable mariadb.service
データベースの構成
データベース、ユーザー、および権限を付与して、mariadbサーバーを起動および構成します。
その前に、まず安全なインストールを実行することをお勧めします:
sudo mysq_secure_installation
rootパスワードの変更を求められたら、スキップできますが、rootパスワードを変更する必要があるかどうかによって異なります。プロンプトが表示された残りの質問については、[はい]オプションを選択して先に進むことができます。次の図のように:
次に、データベースサーバーにアクセスして、データベース、ユーザーを作成し、権限を設定します
sudo mysql -u root -p CREATE DATABASE sampledbwp; GRANT ALL ON sampledbwp.* TO 'sample-admin'@'localhost' IDENTIFIED BY 'SamplePassword1'; quit
これらのコマンドを使用して、データベース– sampledbwpを作成し、ローカルホスト上にユーザーsample-adminを作成し、作成したばかりのデータベースを読み書きするためのすべての権限を付与しました。
WordPressのインストールと設定
次のディレクトリに移動し、WordPressインストールをダウンロードして解凍します。
cd /var/www/html/ sudo wget https://wordpress.org/latest.tar.gz sudo tar -xzfv latest.tar.gz
wordpressディレクトリに切り替え、wp-config-sample.phpファイルの名前をwp-config.php
に変更します。cd wordpress mv wp-config-sample.php wp-config.php
次に、WordPress構成ファイルを編集します:
sudo nano wp-config.php
構成ファイルに、MariaDBサーバーで作成したデータベースユーザー、データベース名、パスワードを追加し、https://api.wordpress.org/secret-key/1.1/salt/からソルトキーを追加する必要があります。以下のサンプル画像を参照してください:
保存して終了します。
インターネットからアクセスできるようにするには、WordPressのインストールに正しい権限を設定してください:
sudo chown -R www-data:www-data /var/www/html/wordpress sudo chmod -R 755 /var/www/html/wordpress
Nginxを構成する
nginxWebサーバー構成に移ります。最初のステップは、WordPressWebサイトの構成ファイルを作成することです。次のコマンドを実行して、テキストエディタを起動します。
sudo nano /etc/nginx/sites-available/wordpress.conf
以下にサンプル構成を示します:
server { listen 80; listen [::]:80; root /var/www/html/wordpress; index index.php index.html index.htm; server_name mysite.com www.mysite.com; error_log /var/log/nginx/mysite.com_error.log; access_log /var/log/nginx/mysite.com_access.log; client_max_body_size 100M; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.3-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
保存して終了します。
注 – WordPressインストールのルートと、サーバーで実行されているphp-fpmバージョンを再確認して確認します。それらは構成ファイルで一致している必要があります。
最終的には、次のようになります。
デフォルト設定は引き続きNginxに残り、アクティブです。削除されるまで、構成は行われません。つまり、WordPress Webサイトにアクセスできないため、デフォルトの構成を削除する必要があります。
sudo rm /etc/nginx/sites-available/default sudo rm /etc/nginx/sites-enabled/default
新しいNginxワードプレス構成のシンボリックリンクを作成します:
sudo ln -s /etc/nginx/sites-available/wordpress.conf /etc/nginx/sites-enabled/
その後、次のコマンドで構成を再確認します。
sudo nginx -t
Nginxを再起動します
sudo systemctl restart nginx
サーバーのIPアドレスまたはURL(ドメイン名を割り当てている場合)のいずれかを使用してWordPressにアクセスし、WordPressがブラウザーで起動しているかどうかをテストし、インストールを完了します。
そしてそれだけです。これで、WordPressWebサイトが稼働しています。
いくつかの提案とセキュリティのヒント
ここでは、より安全でより安全なWordPressのインストールとそれを維持する方法に関するいくつかの提案を指摘したいと思います。
- 最初の提案は削除することです–xmlrpc.phpファイル
このファイルはWordPressの重要なポイントではなく、WordPressはこのファイルがなくても問題なく機能できます。 Xmlrpcファイルは、WordPressのサービスとしての初期段階で使用され、ブログクライアントはxmlrpcを介してWordPressに接続し、新しいコンテンツを投稿します(要するに)。このファイルは現在、さまざまな悪意のある攻撃(DDoS、ブルートフォースなど)の原因となっています。
この例では、次のコマンドを使用してこのファイルを削除できます:
sudo rm /var/www/html/wordpress/xmlrpc.php
1つの注意事項– WordPressの更新/アップグレードのたびに、このファイルが再表示されるため、WordPressが更新されるたびに繰り返し動作する必要があります。
- wp-config-sample.phpを削除します
この投稿では、このファイルの名前をwp-config.phpに変更しました。 WordPressがデータベースサーバーに接続するためのデータベースクレデンシャルを手動で追加し、ソルトキーも追加したため、この方法を実行しました。このファイルは、WordPressの更新/アップグレードのたびに再表示され、サイトが停止する原因となる可能性のある多くの悪意のある攻撃にさらされているため、削除することをお勧めします。
- wp-login urlを非表示にして、2FAログインを追加します
ブルートフォース攻撃を防ぎ、2要素認証ログインを追加するために、デフォルトのURLログインを変更することを強くお勧めします。これは、WPSHideloginやminiOrange2-Factorなどのプラグインを使用して簡単に行うことができます。また、WordPressにはデフォルトで2FAログインもあります。
- ファイアウォールプラグインを追加し、ユーザー名adminのアカウントを使用しないでください
インストールすることを強くお勧めする最初のプラグインの1つは、ファイアウォールプラグインです。たとえば、WordfenceまたはSucuri
概要
Nginxを使用してWordPressをDebian10およびDebian11にインストールする手順について説明しました。このシナリオでは、WordPressが単一のサーバーマシンにデータベースとともに提供されるため、今から始めて、インフラストラクチャに余裕がある場合、またはクラウド/専用/ VM / VPSホスティングでWordPressを初めて試す場合、またはテスト目的で初めて使用する場合は、追加の予算が必要です。
ただし、時間の経過とともに発生する可能性のある1つの欠点は、このシナリオがまだ本番環境にある場合、ダウンタイムが発生する可能性があるため、アップグレードを適用する必要があるときにサーバーの保守がかなり困難になる可能性があることです。そのため、少なくとも2つのサーバーを用意し、一方のサーバーにWebサーバー(NginxまたはApache)のみを配置し、もう一方のサーバーにデータベースサーバー(MariaDB、MySQL)を配置することで、WordPressのインストールを分離するのが一般的です。この種の環境のセットアッププロセスについては、この投稿で確認できます。
どうもありがとうございました…