GNU/Linux >> Linux の 問題 >  >> Debian

Debian10/11にNginxを使用してWordPressをインストールする

概要

次の投稿では、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のインストールを分離するのが一般的です。この種の環境のセットアッププロセスについては、この投稿で確認できます。

どうもありがとうございました…


Debian
  1. Debian 8にNginxをインストールする方法(Jessie)

  2. Debian 9にNginxをインストールする方法(ストレッチ)

  3. Debian10/11にWebminをインストールする方法

  1. Debian9にNginxをインストールする方法

  2. Debian8VPSにNginxを使用してPloneをインストールする

  3. Debian10にNginxを使用してWordPressをインストールする方法

  1. Debian9にNginxを使用してInvoicePlaneをインストールする方法

  2. Debian11にNginxとSSLを使用してAbanteCartをインストールする方法

  3. Debian9にApacheを使用してWordPress5をインストールします