Debian 12 または 11 に Nginx を使用して WordPress をインストールする方法

WordPress は強力で広く使用されているコンテンツ管理システム (CMS) であり、ユーザーはこれを使用して簡単に Web サイトを作成および管理できます。LEMP スタック (Linux、NGINX、MariaDB、PHP) と組み合わせると、WordPress は Web 開発用の堅牢で高性能なプラットフォームになります。LEMP スタックは効率性、速度、拡張性に優れていることで知られており、WordPress Web サイトのホスティングに最適です。WordPress の主な機能には、直感的なインターフェイス、広範なプラグイン エコシステム、カスタマイズ可能なテーマ、強力なコミュニティ サポートなどがあります。

NGINX、MariaDB、PHP を搭載した Debian 12 または 11 に WordPress をインストールするには、次の手順に従います。このガイドでは、LEMP スタックのセットアップ、WordPress のインストール、サイトをスムーズに起動するための重要な構成について説明します。

WordPress用LEMPをインストールする

LEMP スタックをインストールする前に Debian を更新する

WordPress をインストールする前に、潜在的な競合を防ぐために Debian システムを更新してください。ターミナルを開いて以下を実行します。

sudo apt update && sudo apt upgrade

このコマンドは、利用可能なパッケージを更新し、システムをアップグレードします。

必要なパッケージをインストールする

WordPress に必須のパッケージがいくつかある場合でも、見落としがないか再度確認してください。次のコマンドを実行します。

sudo apt install curl git wget unzip zip

このコマンドは、WordPress に必要なパッケージをインストールまたは確認します。

Nginx のインストール – LEMP インストールのパート 1

LEMP スタックをセットアップするには、Nginx をインストールする必要があります。次のコマンドを実行します。

sudo apt install nginx

インストール後、Nginx が実行されているかどうかを確認します。

systemctl status nginx

Nginx サービスがアクティブでない場合は、次のコマンドで起動できます。

sudo systemctl enable nginx --now

このコマンドにより、サーバーの再起動ごとに Nginx が起動するようになります。これは、LEMP スタックが機能するために不可欠です。

注意: WordPressのパフォーマンスを最適化するには、最新のNginxメインラインバージョンを使用することをお勧めします。 Debian Linux に Nginx Mainline をインストールする 最新バージョンをインストールしてください。このバージョンでは、Web サイトの速度と全体的なパフォーマンスを向上させる追加機能と改善が提供されます。

Nginx 用の UFW ファイアウォールの設定

Nginx サーバーで UFW ファイアウォールを構成することは、セキュリティを確保し、標準 Web ポートへの外部アクセスを許可するために重要です。幸いなことに、Nginx は UFW セットアップ プロセスを簡素化するプロファイルを提供しています。

UFWのインストール:

Debian システムに UFW をまだインストールしていない場合は、以下のコマンドを実行してください。

sudo apt install ufw

UFW の有効化:

インストールが完了したら、UFW を有効にします。デフォルトでは、UFW はすべての着信接続をブロックし、すべての発信接続を許可します。次のコマンドでファイアウォールを有効にします。

sudo ufw enable

Nginx プロファイルの表示:

UFW で使用可能な Nginx プロファイルを確認するには、次のコマンドを実行します。

sudo ufw app list

出力から次のことがわかります:

  • Nginxはポート80(HTTP)で動作します。
  • Nginx Secureはポート443(HTTPS)で動作します。
  • Nginx Fullは両方のポートを網羅している

Nginx 用の UFW の設定:

HTTP アクセスと HTTPS アクセスの両方を有効にする場合は、Nginx Full プロファイルを選択します。

sudo ufw allow 'Nginx Full'

ただし、要件は異なる場合があります。

HTTPS のみのアクセスの場合は、Nginx Secure プロファイルを選択します。

sudo ufw allow 'Nginx Secure'

HTTP のみのアクセスの場合は、Nginx HTTP プロファイルを使用します。

sudo ufw allow 'Nginx HTTP'

WordPress を使用してサーバーと LEMP セットアップを保護するために他の UFW ルールを作成することもできますが、サーバーが一般に公開されている場合は、時間をかけてサーバーをロックダウンする必要があります。

MariaDB のインストール – LEMP インストールのパート 2

MariaDBは、MySQLよりも優れたパフォーマンスで知られ、LEMPスタックのデータベースコンポーネントです。MariaDB.orgの公式リポジトリから特定のバージョンのMariaDBをインストールする場合は、次のガイドを参照してください。 Debian に MariaDB をインストールするこれにより、WordPress のパフォーマンスがさらに最適化されます。

MariaDB をインストールするには、次のコマンドを実行します。

sudo apt install mariadb-server mariadb-client

インストール後、MariaDB のステータスを確認します。

systemctl status mariadb

このコマンドは、MariaDB のサービス ステータスと潜在的なエラーを表示します。

MariaDB が実行されていない場合は、次のコマンドで起動します。

sudo systemctl enable mariadb --now

これにより、システムを再起動するたびに MariaDB が起動するようになります。これは、安定した LEMP スタックと WordPress のセットアップにとって不可欠です。

セキュリティ スクリプトで MariaDB を保護する

データ保護のために、MariaDB インストールをセキュリティ保護する必要があります。MariaDB を新しくインストールすると、セキュリティのデフォルトが緩くなり、脅威にさらされる可能性があります。ただし、mysql_secure_installation スクリプトを使用すると、データベースの防御を強化できます。

セキュリティ スクリプトを実行します。

sudo mysql_secure_installation

このスクリプトは、いくつかのセキュリティ構成をガイドします。

  • 不正アクセスを防止するために、ルート パスワードを設定するか、unix_socket を選択します。
  • 匿名ユーザー アカウントを削除して、データベースへのアクセスを許可されたユーザーに制限します。
  • ルート ユーザー アカウントのリモート ログインを制限します。
  • 不正アクセスや潜在的なデータ漏洩を回避するためにテスト データベースを削除します。

各プロンプトに注意深く答えてください。これらの設定はデータベースのセキュリティに大きく影響します。手順を完了すると、MariaDB のセットアップは安全になり、動作可能になります。

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB 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? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... 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? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

By default, MariaDB 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? [Y/n] Y <---- Type Y then press the ENTER KEY.
 - 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? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

これらのセキュリティ対策により、MariaDB インストールが安全になり、脅威から保護されます。

PHP、PHP-FPM のインストール - LEMP インストールのパート 3

完全な LEMP スタックを実現するには、PHP をインストールする必要があります。PHP は、PHP-FPM や WordPress のその他の必須モジュールによって実現される、Nginx と MariaDB 間のブリッジとして機能します。

注: ニーズに合わせた特定のPHPバージョンが必要な場合は、 Debian に PHP をインストールするガイドLinux を初めて使用するユーザーは、カスタム バージョンをインストールする前に、デフォルトを使用する必要があります。

次のコマンドを実行して、PHP、PHP-FPM、および必要なモジュールをインストールします。

sudo apt install php php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-imagick php-ldap php-intl

インストール後、MariaDB および Nginx の場合と同様に、PHP サービスのステータスを確認します。この例では、PHP 7.4 を使用しています。

systemctl status php7.4-fpm

出力は次のようになります。

注意: PHP-FPMのバージョンは、安定したDebianリリースごとに異なります。バージョンが不明な場合は、以下を実行してください。 php -v 調べるために。

LEMP を使用した WordPress のインストール前の設定

WordPressディレクトリ構造を作成する

Debian LEMPスタックにWordPressをインストールするには、次のいずれかの方法があります。 ダウンロード 公式 WordPress.org ダウンロード ページから最新バージョンを入手するか、次のコマンドを使用して直接ダウンロードします。

wget https://wordpress.org/latest.zip

ダウンロードしたら、次のコマンドを使用してアーカイブを /var/www/html ディレクトリに解凍します。

sudo unzip latest.zip -d /var/www/html/

次に、Web サーバーのユーザーにディレクトリ所有者権限を設定して、WordPress に正しい書き込み権限があることを確認します。

これは次のコマンドで実行できます。

sudo chown -R www-data:www-data /var/www/html/wordpress/

ディレクトリ所有者の権限を設定した後、次のコマンドを使用して WordPress フォルダーとファイルに正しい権限を設定する必要があります。

フォルダーの場合:

sudo find /var/www/html/wordpress -type d -exec chmod 755 {} \;

ファイルの場合:

sudo find /var/www/html/wordpress -type f -exec chmod 644 {} \;

適切なフォルダーとファイルの権限を設定すると、WordPress のインストールが安全になり、正しく機能することが保証されます。

WordPress用のデータベースを作成する

Debian LEMP スタック上で WordPress を実行するには、MariaDB を使用してデータベースを作成する必要があります。次のコマンドを使用して、root として MariaDB シェルにアクセスします。

sudo mariadb -u root

MariaDB シェルに入ったら、次のコマンドを使用して新しいデータベースを作成します。

CREATE DATABASE WORDPRESSDB;

次に、次のコマンドを使用して WordPress の新しいユーザー アカウントを作成します。

CREATE USER 'WPUSER'@localhost IDENTIFIED BY 'PASSWORD';

注: 「WPUSER」と「PASSWORD」を希望のユーザー名とパスワードに置き換えます。

最後に、次のコマンドを使用して、新しく作成したユーザー アカウントに WordPress ウェブサイト データベースへのアクセス権のみを割り当てます。

GRANT ALL PRIVILEGES ON WORDPRESSDB.* TO WPUSER@localhost IDENTIFIED BY 'PASSWORD';

ユーザー アカウントを作成したら、次のコマンドを使用して権限をフラッシュし、新しい変更が有効になるようにします。

FLUSH PRIVILEGES;

最後に、次のように入力して MariaDB シェルを終了します。

EXIT;

WordPress設定ファイルを設定する

WordPress 構成ファイルの設定は、インストール プロセスにおける重要なステップです。これには、サンプルの wp-config.php ファイルの名前を変更し、必要な構成の詳細を入力することが含まれます。

次のコマンドを使用して WordPress ディレクトリに移動します。

cd /var/www/html/wordpress/

次のコマンドを使用して、wp-config-sample.php を wp-config.php にコピーします。

sudo cp wp-config-sample.php wp-config.php

テキスト エディターを使用して、新しくコピーした wp-config.php ファイルを開きます。

sudo nano wp-config.php

次に、必要に応じてデータベース名、パスワード付きのユーザー アカウント、ホスト IP アドレスを入力します。

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */ 

define( 'DB_NAME', 'WORDPRESSDB' );                 <--------------- change this

/* MySQL database username */ 

define( 'DB_USER', 'WPUSER );                               <--------------- change this

/* MySQL database password */

define( 'DB_PASSWORD', 'PASSWORD' );             <--------------- change this

/* MySQL hostname, change the IP here if external DB set up */ 

define( 'DB_HOST', 'localhost' );

/* Database Charset to use in creating database tables. */

define( 'DB_CHARSET', 'utf8' );

/* The Database Collate type. Don't change this if in doubt. */

define( 'DB_COLLATE', '' );

これらの設定に加えて、WordPress の管理を改善するために、wp-config.php ファイルに次の内容を追加することもできます。

/** ## Save files direct method ## */
define( 'FS_METHOD', 'direct' );

/** ## Increase memory limit, 256MB is recommended ## */
define('WP_MEMORY_LIMIT', '256M');

専用サーバーまたは VPS のメモリ制限は、システムの容量によって異なります。256 MB のメモリ制限を、128 MB、256 MB、512 MB など、少しずつ増減できます。

注: 最適なパフォーマンスと安定性を得るために、メモリ制限を少しだけ調整することをお勧めします。

WordPress セキュリティ ソルト キーの実装

WordPress インストールのセキュリティを強化することは最も重要です。これを実現する効果的な方法の 1 つは、WordPress セキュリティ ソルト キーを設定することです。これらのキーは、拡張セキュリティ シールドとして機能し、潜在的な脅威に対して WordPress サイトを強化し、ユーザー認証とデータ暗号化を強化します。

セキュリティソルトキーの生成

セキュリティ ソルト キーを生成するには、WordPress の秘密キー API に移動します。 https://api.wordpress.org/secret-key/1.1/salt/これらのキーを生成したら、wp-config.php ファイル内のプレースホルダー行を独自のキーに置き換えることが重要です。この手順により、ユーザー認証とデータ暗号化が強化されます。

注意: ここでまたは他の場所で提供されているサンプル行は説明目的のため使用しないでください。事前設定されたソルト キーを使用すると、サイトが脆弱性にさらされる可能性があります。最適なセキュリティを確保するには、WordPress 設定ごとに常に異なるキーを生成してください。

セキュリティソルトキーの統合

新しく生成されたセキュリティ ソルト キーを wp-config.php ファイルに埋め込むには、テキスト エディターでファイルを開きます。

sudo nano /var/www/html/wordpress/wp-config.php

次に、wp-config.php ファイル内のサンプル キーに対応する行を特定します。特定したら、wp-config.php ファイル内の各サンプル キーを新しく生成したキーに置き換えます。必要な置き換えを行ったら、ファイルを保存して閉じます。

nano エディターを使用している場合は、「CTRL+X」を押してから「Y」を押して保存します。

WordPress LEMP セットアップ用の Nginx サーバー ブロック構成

Nginx サーバー ブロックを正しく設定することは、Web UI 経由で WordPress をシームレスにインストールするために不可欠です。「try_files $uri $uri/ /index.php?$args;」ディレクティブを正しく設定することが重要です。「?$args」を省略すると、WordPress の REST API に干渉する可能性があります。インストール中に問題が発生する可能性を回避するには、これらの手順に厳密に従ってください。

Nginx 上の WordPress インストール用の新しいサーバー構成ファイルを作成します。次のコマンドで、「example.com」を実際のドメイン名に置き換えます。

sudo nano /etc/nginx/sites-available/example.com.conf

Nginx を PHP で動作させるには、サーバー ブロック構成ファイルに「location ~ .php$」を含める必要があります。こちらは、参考として使用できるサンプル構成です。

設定に合わせてルート パスとドメイン名を調整してください。

server {
  listen 80;
  listen [::]:80;
  server_name www.example.com example.com;
  root /var/www/html/wordpress;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ~* /wp-sitemap.*\.xml {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  client_max_body_size 100M;

  location ~ \.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;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 128k;
    fastcgi_intercept_errors on;
  }

  gzip on;
  gzip_comp_level 6;
  gzip_min_length 1000;
  gzip_proxied any;
  gzip_disable "msie6";
  gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;

  location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ {
    expires 90d;
    access_log off;
  }

  location ~* \.(?:svgz?|ttf|ttc|otf|eot|woff2?)$ {
    add_header Access-Control-Allow-Origin "*";
    expires 90d;
    access_log off;
  }

  location ~ /\.ht {
    access_log off;
    log_not_found off;
    deny all;
  }
}

別の PHP または PHP-FPM バージョンをインストールした場合、または Debian バージョンが別の PHP バージョンにデフォルト設定されている場合は、それに応じて Nginx 構成ファイルを調整してください。

たとえば、PHP-FPM 8.2 の場合、 fastcgi_pass unix:/run/php/php8.1-fpm.sock; という行を fastcgi_pass unix:/run/php/php8.2-fpm.sock; に変更します。スムーズに機能させるには、設定内のバージョンをシステムのバージョンと一致させることが重要です。

WordPress Nginx サーバー ブロックを理解する

Nginx と WordPress の設定を初めて行う人のために、サーバー ブロックの例を詳しく説明します。

基本的なサーバー設定:

  • これらの設定は、IP アドレス、Nginx がリッスンするポート、サーバー名など、サーバー ブロックの基本的な側面を定義します。
  • ルート ディレクティブは、Web サイトのファイルを含むプライマリ ディレクトリを指します。
  • index ディレクティブは、サイトを提供するときにインデックス ファイルを識別するように Nginx に指示します。

位置情報設定:

  • これらの設定には、Nginx がさまざまな URL のリクエストを処理する方法を指定するさまざまなロケーション ブロックが含まれます。
  • 最初のロケーション ブロックは、try_files ディレクティブを使用して、サイトのルート URL へのリクエストを管理します。
  • 後続のロケーション ブロックは、WordPress の sitemap.xml ファイルに対するリクエストを具体的に処理します。

PHP処理設定:

  • これらの設定は、Nginx が PHP ファイルを処理する方法を決定します。
  • fastcgi_pass ディレクティブは、PHP-FPM ソケット ファイルの場所を指します。
  • fastcgi_param ディレクティブは、SCRIPT_FILENAME パラメータの値を要求された PHP ファイルの場所へ割り当てます。
  • include ディレクティブは、FastCGI モジュールの追加の構成ファイルを取得します。
  • fastcgi_buffer_size や fastcgi_buffers などのディレクティブは、Nginx と PHP-FPM 間のデータ転送のバッファ サイズを指定します。
  • fastcgi_intercept_errors ディレクティブにより、Nginx は PHP エラーをキャプチャして管理できるようになります。

Gzip 圧縮設定:

  • これらの設定は Gzip 圧縮を構成し、クライアントに配信されるファイル サイズを削減します。
  • gzip ディレクティブは Gzip 圧縮を有効にします。
  • gzip_comp_level や gzip_min_length などのディレクティブは、それぞれ圧縮レベルと圧縮の最小ファイル サイズを決定します。
  • gzip_proxied ディレクティブは、どのリクエスト タイプが圧縮されるかを識別します。
  • gzip_types ディレクティブは、圧縮に適した MIME タイプを列挙します。

ファイルキャッシュ設定:

  • これらの設定により、静的ファイルのキャッシュが最適化され、Web サイトの速度が向上します。
  • 初期のロケーション ブロックは、アセット ファイルとメディア ファイルの有効期限を設定します。
  • 後続の location ブロックは、フォントおよび SVG ファイルの有効期限を設定します。
  • access_log や log_not_found などのディレクティブは、リクエストのログ記録を制御します。
  • add_header ディレクティブは、Access-Control-Allow-Origin ヘッダーを追加し、外部ドメインからのフォントと SVG の読み込みを許可します。

.htaccess ファイルのブロック:

  • この設定は、通常は機密性の高いサーバー構成ファイルである、.ht で始まるファイルへのアクセスを制限します。

シンボリックリンクを使用してNginxサーバーブロックを設定する

Nginx サーバー ブロックの設定を完了するには、「sites-available」ディレクトリから設定ファイルをアクティブ化する必要があります。これは、「sites-enabled」ディレクトリへのシンボリック リンクを作成することで実現されます。

以下のコマンドを実行し、「example.com.conf」を自分の設定ファイルの名前に置き換えてください。

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

このコマンドは、ディレクトリ間にシンボリック リンクを確立し、Nginx に設定ファイルへのアクセスを許可します。これを設定したら、次のコマンドで設定を検証します。

sudo nginx -t

テストでエラーが返されない場合は、Nginx を再起動してサーバー ブロックの変更を適用します。

sudo systemctl restart nginx

これらの手順が完了すると、WordPress サイトに Nginx 経由でアクセスできるようになります。

WordPress のパフォーマンスを最適化するための PHP.ini の設定

WordPress で最高のパフォーマンスを実現するには、PHP 設定の調整が不可欠です。WordPress でメディア ファイルを効率的に処理するには、アップロードの最大サイズ、投稿サイズ、メモリ制限を増やすことを検討してください。また、潜在的な問題を防ぐために、最大実行時間と入力変数を微調整する必要がある場合もあります。

php.ini ファイルにアクセスするには、ターミナルを使用します。ファイルの場所は PHP のバージョンによって異なる場合があることに注意してください。

sudo nano /etc/php/8.0/fpm/php.ini
sudo nano /etc/php/8.1/fpm/php.ini
sudo nano /etc/php/8.2/fpm/php.ini
sudo nano /etc/php/8.3/fpm/php.ini

PHP 設定をカスタマイズするには、php.ini ファイルで次の行を見つけて調整します。

##increase this to the maximum file size you want to upload, recommended 50 to 100MB## 
 upload_max_filesize = 100M

##increase this to the maximum post size you want to allow, recommended 50 to 100MB##
 post_max_size = 100M

##increase this to the maximum execution time, recommended 150 to 300 seconds##
 max_execution_time = 300

##increase this to the maximum GET/POST/COOKIE input variables, recommended 5000 to 10000##
max_input_vars = 5000

##increase this to the maximum memory limit, recommended 256MB or 512MB. Note that you should ensure your system has enough RAM before raising this.##
memory_limit = 256M

PHP 設定を変更した後は、PHP-FPM サーバーを再起動することが重要です。これにより、新しい設定がアクティブになり、WordPress サイトが最適な状態で動作できるようになります。

Nginx サーバー クライアントの最大ボディ サイズを増やす

WordPress サイトでより大きなファイルのアップロードに対応するには、Nginx サーバー ブロックを調整する必要があります。これにより、Nginx がより大きな HTTP リクエスト本文を処理できるようになります。これは、大きなファイルのアップロードを処理する場合に不可欠です。

Nginx サーバー ブロックの変更

サーバー ブロック構成ファイルを開き、次の行を挿入します。

##set to the maximum upload size you set in upload_max_filesize.##
client_max_body_size – <size>

client_max_body_size の値が、PHP 設定で設定した upload_max_filesize と一致していることを確認します。

PHP-FPMの再起動

アップロード サイズ、投稿サイズ、メモリ制限など、WordPress のパフォーマンスを最適化するために PHP 設定を調整した後は、変更を有効にするために PHP-FPM サーバーを再起動することが重要です。サーバーを再起動する正確なコマンドは、PHP のバージョンによって異なります。PHP のバージョンが不明な場合は、システムのドキュメントを参照してください。

異なる PHP バージョンの場合は、対応するコマンドを使用して PHP-FPM を再起動します。

sudo systemctl restart php8.0-fpm
sudo systemctl restart php8.1-fpm
sudo systemctl restart php8.2-fpm
sudo systemctl restart php8.3-fpm

WordPressフロントエンドをインストールする

バックエンドのセットアップと構成が完了したら、ドメインで WordPress フロントエンドを起動します。「https://」または「http://」で始まるドメインにアクセスしてインストールを開始します。または、「https://www.yoursite.com/wp-admin/install.php」に直接アクセスすることもできます。

この URL はフロントエンドのインストール ウィザードに誘導します。

ステップ1: WordPressの言語を選択する

ご希望の言語を選択してクリックしてください "続く。"

ステップ2: WordPressの管理者ユーザーを作成する

次に、サイトのタイトル、ユーザー名、パスワード、WordPress サイトのメイン管理者のメールアドレスを入力するよう求めるページが表示されます。

セキュリティ上の理由から、強力なパスワードを選択し、有効なメールアドレスを入力してください。他の設定は、後で WordPress 設定パネル内で変更できることを覚えておいてください。

サイトを開発していて、Google や Bing などの検索エンジンからサイトを非公開にしておきたい場合は、「検索エンジンによるインデックス作成を強く推奨しない」オプションがあります。

ステップ3: 続行してWordPressのインストールボタンをクリックします

詳細と希望条件を記入したら、 「WordPressをインストールする」 ボタンをクリックします。インストールが成功すると、ログイン ページにリダイレクトされます。

ステップ4: WordPress管理ページにログインします

ログイン情報を入力して「ログイン」を押します。この操作により、WordPress ダッシュボードに移動し、Web サイトを作成またはインポートできるようになります。

ステップ5: WordPress管理画面からWordPressサイトを表示、調整する

WordPress ダッシュボードはコマンド センターです。ここでは、新しい投稿の下書き、ページのデザイン、テーマやプラグインの管理、サイトの外観、コンテンツ、操作のカスタマイズを行うことができます。

ユーザーフレンドリーなインターフェースを備えたダッシュボードを使用すると、Web サイトをすばやく構築でき、最小限の労力で魅力的でプロフェッショナルなサイトを設計できます。

Nginx を使用した WordPress の追加ヒント

Let's Encrypt SSL 証明書を使用して WordPress と Nginx を保護する

Web サーバーのセキュリティを強化することは最も重要です。これを実現する効果的な方法の 1 つは、SSL 証明書を使用して HTTPS で Nginx を実行することです。Let's Encrypt は、無料で自動化されたオープンな証明機関を提供しており、Nginx サーバーの SSL 証明書の設定が簡単になります。

Certbot のインストール

次のコマンドを使用して certbot パッケージをインストールすることから始めます。

sudo apt install python3-certbot-nginx

SSL証明書の生成

certbot パッケージをインストールしたら、次のように SSL 証明書を生成します。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

このプロセス中に、Certbot は電子メールとドメイン名を入力するよう要求します。EFF からの電子メールを受信するオプションもあります。好みに応じてオプトインするかどうかを決定します。

証明書をインストールすると、Web サイトの URL が HTTP から HTTPS に切り替わります。古い HTTP URL にアクセスしている訪問者は、新しい HTTPS URL に自動的にリダイレクトされます。この構成により、HTTPS 301 リダイレクト、Strict-Transport-Security ヘッダー、および最高レベルのセキュリティを実現する OCSP Stapling が保証されます。

自動証明書更新の設定

SSL 証明書を有効に保つには、自動更新用の cron ジョブを設定します。Certbot ではこのためのスクリプトを提供しています。設定を完了する前に、ドライ ラン テストを実行します。

sudo certbot renew --dry-run

crontab 設定にアクセスし、次のように入力します。

sudo crontab -e

SSL 証明書を自動的に更新するには、次のコマンドを使用して cron ジョブを使用してスケジュールを設定します。

00 00 */1 * * /usr/sbin/certbot-auto renew

これにより、毎日午前 0 時に証明書の更新が試行されます。

PHPセッションエラーの解決

特に特定のプラグインを使用しているときに、セッション保存の問題が発生していますか? 問題の根本は、/var/lib/php/sessions/ ディレクトリのユーザー権限が正しくないことにある可能性があります。 しかし、心配しないでください。簡単なコマンドでこれを解決できます。

ディレクトリ権限の調整

正しい権限を設定するには、以下のコマンドを実行します。

sudo chown -R www-data:www-data /var/lib/php/sessions/

このコマンドは、www-data ユーザーとグループをセッション ディレクトリの所有者として設定します。その結果、WordPress は問題なくセッション データを書き込むことができます。この調整は、特にソーシャル メディアへの投稿などの自動タスクを処理するプラグインを使用している場合、WordPress サイトをシームレスに操作するために不可欠です。

PHP セッション エラーに対処することは、Web サイトのパフォーマンスを向上させ、ユーザー エクスペリエンスを向上させるための鍵となります。

WordPress での HTTPS リダイレクト ループの解決

HTTPS を有効にした後に WordPress サイトがリダイレクト ループに陥った場合、WordPress が安全な HTTPS バージョンへのリダイレクトを試行し続け、ループが完了しないことが原因と考えられます。この問題に対処するには、wp-config.php ファイルを特定のコード行で変更します。

wp-config.php ファイルの変更

wp-config.php に次の行を挿入します。

define('FORCE_SSL_ADMIN', true);

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
    $_SERVER['HTTPS'] = 'on';
}

各行の機能の詳細は次のとおりです。

  • 最初の行は、FORCE_SSL_ADMIN 定数を true に設定し、すべての管理ページで HTTPS が使用されるようにします。
  • 後続のコードは、HTTP_X_FORWARDED_PROTO ヘッダーに「https」という用語が含まれているかどうかを確認します。一致するものが見つかった場合は、HTTPS サーバー変数を「on」に指定します。このアクションにより、WordPress に接続が安全であることが通知されます。

これらの行を wp-config.php ファイルに統合すると、HTTPS リダイレクト ループから解放され、新しい安全な接続で WordPress サイトがスムーズに動作するようになります。

ドメイン名リダイレクトループを修正

WordPress サイトでのリダイレクト ループは、wp-config.php ファイルで指定されたドメイン名と Web サイトのドメイン名の不一致が原因で発生することがあります。これを解決するには、構成内のドメイン名を確認し、必要に応じて調整する必要があります。

wp-config.php ファイルの確認

wp-config.php の次の行を調べます。

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

ドメイン名がウェブサイトのドメインと一致していない場合は、それに応じて修正してください。

結論

LEMP スタックを使用して Debian システムに WordPress を正常にインストールすると、その強力な機能と堅牢なパフォーマンスを活用できます。最適なセキュリティと機能を確保するために、WordPress インストールと LEMP スタックのコンポーネントを定期的に更新してください。WordPress と LEMP スタックが提供する、Web サイトの作成と管理のための柔軟性と広範な機能をお楽しみください。

Joshua James

コメントを残す