Ubuntu 22.04でLEMPを使用したWordPressのインストール方法

はじめに

インターネット上で最も人気のあるコンテンツ管理システム(CMS)の1つであるWordPressは、MySQLバックエンドとPHP処理を使用して柔軟なブログやウェブサイトを設定することができます。WordPressは、ウェブサイトを効率的に立ち上げるための優れた選択肢です。初期設定後、WordPressウェブサイトのほとんどの管理作業は、グラフィカルなインターフェースを介して行うことができます。

このチュートリアルでは、Ubuntu 22.04 サーバー上で、WordPressをLEMPスタック(Linux、Nginx、MySQL、およびPHP)でセットアップする方法に焦点を当てます。

デジタルオーシャンの管理されたWordPressサービスも利用することができます。

前提条件

このチュートリアルを完了するためには、Ubuntu 22.04 サーバーへのアクセスが必要です。LEMPを使用してWordPressをサーバーにインストールするために、このチュートリアルを開始する前に以下のタスクも実行する必要があります。

  • Create a sudo user on your server: The steps in this tutorial are using a non-root user with sudo privileges. You can create a user with sudo privileges by following our Ubuntu 22.04 initial server setup tutorial.
  • Install a LEMP stack: WordPress will need a web server, a database, and PHP in order to correctly function. Setting up a LEMP stack (Linux, Nginx, MySQL, and PHP) fulfills all of these requirements. Follow this tutorial to install and configure this software.

Info

自分でこれらのコンポーネントを設定するよりも、Silicon CloudのLEMP 1クリックインストールアプリを使用してすでにLEMPスタックがインストールされているUbuntu 22.04サーバーを迅速にプロビジョニングすることができます。
ただし、このチュートリアルでは管理者権限のあるsudoユーザーと、サーバーに設定されたNginxサーバーブロックがあることを前提としています。LEMP 1クリックアプリでプロビジョニングされたサーバーでも、Ubuntu 22.04初期サーバーセットアップチュートリアルのステップ1、2、3、および5に従う必要があります。また、Nginxサーバーブロックを構成し、NginxがPHPプロセッサを使用するように設定するために、Ubuntu 22.04へのLEMPスタックのインストールガイドのステップ4も完了する必要があります。
  • Secure your site with SSL: WordPress serves dynamic content and handles user authentication and authorization. TLS/SSL is the technology that allows you to encrypt the traffic from your site so that your connection is secure. The way you set up SSL will depend on whether you have a domain name for your site.If you have a domain name, the easiest way to secure your site is with Let’s Encrypt, which provides free, trusted certificates. Follow our Let’s Encrypt guide for Nginx to set this up.
    If you do not have a domain and you’re using this configuration for testing or personal use, you can use a self-signed certificate instead. This provides the same type of encryption, but without the domain validation. Follow our self-signed SSL guide for Nginx to get set up.

セットアップが完了したら、続行するためにsudoユーザーとしてサーバーにログインしてください。

ステップ1 – WordPressのためのMySQLデータベースとユーザーの作成

WordPressはサイトとユーザーの情報を管理・保存するためにMySQLを使用します。すでにMySQLがインストールされていますが、WordPressが利用するためにデータベースとユーザーを作成しましょう。

はじめるために、MySQLのroot(管理)アカウントにログインしてください。MySQLがデフォルトでauth_socket認証プラグインを使用するように設定されている場合、sudoを使用してMySQLの管理アカウントにログインすることができます。

  1. sudo mysql

 

もしMySQLルートアカウントの認証方法をパスワードに変更した場合、次のコマンドを代わりに使用してください。

  1. mysql -u root -p

 

MySQLのルートアカウントの設定したパスワードを入力するように求められます。

ログインしたら、WordPressが制御できる別のデータベースを作成してください。これをどんな名前でも呼べますが、このガイドではシンプルにするためにWordPressを使用します。WordPressのためにデータベースを作成するには、次のように入力してください。

  1. CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

 

Note

注意:すべてのMySQLのステートメントはセミコロン(;)で終了しなければなりません。もしエラーが発生した場合は、セミコロンが存在するか確認してください。

次に、新しいデータベースに専用で操作するための別のMySQLユーザーアカウントを作成しましょう。管理とセキュリティの観点から、単一の目的のデータベースとアカウントを作成することは良い考えです。このガイドでは「wordpressuser」という名前を使用しますが、お好みで変更してください。

次のコマンドでは、アカウントを作成し、パスワードを設定し、作成したデータベースへのアクセスを許可します。強力なパスワードを選ぶことを忘れないでください。

  1. CREATE USER wordpressuser@‘localhost’ IDENTIFIED BY password;
  2. GRANT ALL ON wordpress.* TO wordpressuser@‘localhost’;

 

今、WordPress専用に作成されたデータベースとユーザーアカウントをお持ちです。

データベースのタスクが完了したら、MySQLを終了するために入力して終了しましょう。

  1. EXIT;

 

MySQLのセッションは終了し、通常のLinuxシェルに戻ります。

ステップ2 — 追加のPHP拡張機能のインストール

LEMPスタックの設定時には、PHPとMySQLの通信を可能にするための非常に最小限の拡張機能が必要です。WordPressやその他のプラグインでは、追加のPHP拡張機能が利用されており、このチュートリアルでもいくつか使用します。

WordPress用に最も人気のあるPHP拡張機能をダウンロードしてインストールしましょう。これを入力するだけでOKです。

  1. sudo apt update

 

  1. sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip

 

Note

注意:各WordPressプラグインにはそれぞれ独自の要件があります。いくつかは追加のPHP拡張パッケージのインストールを必要とする場合があります。プラグインのドキュメントを確認して、PHPの要件を調べてください。もし利用可能であれば、上記の通りaptでインストールすることができます。

拡張機能のインストールが完了したら、PHP-FPMプロセスを再起動して、実行中のPHPプロセッサが新しくインストールされた機能を活用できるようにします。

  1. sudo systemctl restart php8.1-fpm

 

サーバーに必要なPHPの拡張機能がすべてインストールされました。

ステップ3 – Nginxの設定

次に、Nginxのサーバーブロックファイルをいくつか調整しましょう。前提のチュートリアルに基づいて、サーバーのドメイン名またはIPアドレスに応答するように構成されたTLS/SSL証明書で保護されたサイトの設定ファイルが、/etc/nginx/sites-available/ディレクトリにあるはずです。ここでは例として/etc/nginx/sites-available/wordpressを使用しますが、適切な場所に自分の設定ファイルのパスを使ってください。

加えて、このガイドでは/var/www/wordpressをWordPressインストールのルートディレクトリとして使用します。再度言いますが、独自の設定で指定されたウェブルートを使用する必要があります。

Note

注意:おそらく、/etc/nginx/sites-available/default のデフォルト設定を使用している可能性があります(ウェブルートとしては/var/www/htmlを使用しています)。これは、このサーバーで1つのウェブサイトのみをホストする場合には問題ありません。もし複数のウェブサイトをホストする予定がある場合は、必要な設定を論理的なチャンクに分割し、1つのファイルに1つずつ保存するのがベストです。

sudo特権でサイトのサーバーブロックファイルを開いてください。

  1. sudo nano /etc/nginx/sites-available/wordpress

 

メインのサーバーブロックにいくつかのロケーションブロックを追加しましょう。

「/favicon.ico」と「/robots.txt」という場所へのリクエストに対して、ログを記録したくない場合、まず完全に一致するロケーションブロックを作成してください。

正規表現の場所を使用して、静的ファイルへのすべてのリクエストをマッチングします。これらのリクエストに対してもログはオフにし、通常は負荷の高いリソースであるため、キャッシュを有効にします。あなたのサイトが使用する他のファイル拡張子を含めた静的ファイルリストを調整することができます。

以下を日本語で表現する:「/etc/nginx/sites-available/wordpress」。
server {
    . . .

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt { log_not_found off; access_log off; allow all; }
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;
    }
    . . .
}

既存の場所/ブロック内で、try_filesリストを調整しましょう。デフォルトの設定をコメントアウトするために、行の先頭に#を追加し、その後ハイライトされた行を追加します。これにより、デフォルトのオプションとして404エラーを返す代わりに、リクエスト引数とともにindex.phpファイルに制御が渡されます。

これは、こんな感じになるはずです。 (Kore wa, kon’na kanji ni naru hazu desu.)

ネイティブな日本語で以下を言い換えると、次のようになります:「/etc/nginx/sites-available/wordpress」
server {
    . . .
    location / {
        #try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.php$is_args$args;
    }
    . . .
}

作業が終わったら、ファイルを保存して閉じてください。

さあ、構文エラーをチェックするために設定を確認しましょう。タイピングしてください。

  1. sudo nginx -t

 

エラーが報告されなければ、Nginxを再読み込みするために入力してください。

  1. sudo systemctl reload nginx

 

次に、WordPressをダウンロードしてセットアップしましょう。

ステップ4 — WordPressのダウンロード

サーバーソフトウェアの設定が完了したので、WordPressをダウンロードして設定しましょう。セキュリティ上の理由から、常にプロジェクトのウェブサイトから最新バージョンのWordPressを直接取得することをおすすめします。

書き込み可能なディレクトリに移動し、次に次のコマンドを入力して圧縮リリースをダウンロードしてください。

  1. cd /tmp

 

これにより、一時フォルダにディレクトリが変更されます。そして、次のコマンドを入力して最新バージョンのWordPressを圧縮ファイルでダウンロードしてください。

  1. curl -LO https://wordpress.org/latest.tar.gz

 

Note

注意:-LOフラグは圧縮ファイルのソースに直接アクセスするために使用されます。-Lはリダイレクトの場合にファイルを正しく取得することを保証し、-Oはリモートファイルの出力を同じ名前のローカルファイルに書き込みます。curlコマンドについてもっと学びたい場合は、「cURLでファイルをダウンロードする方法」を参照してください。

WordPressのディレクトリ構造を作成するために、圧縮ファイルを解凍してください。

  1. tar xzvf latest.tar.gz

 

これらのファイルをまもなくドキュメントルートに移動しますが、移動する前に、WordPressが実際に読み込むファイル名にサンプル設定ファイルをコピーしましょう。

  1. cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

 

今、ディレクトリ全体の内容をドキュメントルートにコピーしましょう。パーミッションが維持されるように、-aフラグを使用しています。ソースディレクトリの末尾にドットを付けることで、ディレクトリ内のすべてのファイル(隠しファイルも含む)がコピーされます。

  1. sudo cp -a /tmp/wordpress/. /var/www/<^>your_domain/wordpress

 

ファイルが整理されたので、www-dataユーザーとグループに所有権を割り当てます。これはNginxが実行されるユーザーとグループであり、ウェブサイトを提供し、自動更新を行うためにWordPressファイルを読み書きできるようにする必要があります。

  1. sudo chown -R www-data:www-data /var/www/your_domain/wordpress

 

現在、ファイルはサーバーのドキュメントルートにあり、正しい所有権も持っていますが、いくつかの追加設定を完了する必要があります。

ステップ5 — WordPress設定ファイルのセットアップ

次に、メインのWordPressの設定ファイルにいくつかの変更を加えましょう。

ファイルを開くと、まずはいくつかの秘密の鍵を調整して、インストールのセキュリティを強化します。WordPressは、これらの値のための安全な生成器を提供しているので、自分で値を考える必要はありません。これらは内部でのみ使用されるため、複雑で安全な値を設定しても使い勝手には影響しません。

WordPressのシークレットキージェネレータから安全な値を取得するには、次のように入力してください。

  1. curl -s https://api.wordpress.org/secret-key/1.1/salt/

 

こんな感じのユニークな値が返ってきます。

Warning

警告:重要なのは、毎回ユニークな値をリクエストすることです。以下に表示されている値をコピーしないでください! (Keikoku: Juuyou na no wa, maikai yunikku na atai o rikuesuto suru koto desu. Ika ni hyouji sarete iru atai o kopii shinaide kudasai!)
Output

define(‘AUTH_KEY’, ‘1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H’); define(‘SECURE_AUTH_KEY’, ‘E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3′); define(‘LOGGED_IN_KEY’, ‘W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88′); define(‘NONCE_KEY’, ‘ll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g’); define(‘AUTH_SALT’, ‘koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES 07VC*Lj*lD&?3w!BT#-‘); define(‘SECURE_AUTH_SALT’, ‘p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY’); define(‘LOGGED_IN_SALT’, ‘i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|’); define(‘NONCE_SALT’, ‘Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%’);

以下はセキュアキーを設定するために直接設定ファイルに貼り付けることができる構成行です。受け取った出力をコピーしてください。

今、WordPressの設定ファイルを開いてください。

  1. sudo nano /var/www/your_domain/wordpress/wp-config.php

 

ダミー設定の値が含まれているセクションを見つけてください。以下のような形式で表示されます。

/var/www/あなたのドメイン/wordpress/wp-config.php
. . .

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

. . .

コマンドラインでコピーした値を貼り付けて、その行を削除してください。

以下の文を日本語で自然に言い換えると、次のようになります: 「/var/www/<^>your_domain<^>/wordpress/wp-config.php」。
. . .

define('AUTH_KEY',         'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');

. . .

次に、ファイルの始めにあるデータベース接続設定の一部を変更しましょう。MySQL内で設定されたデータベース名、データベースユーザー、パスワードを調整する必要があります。

もう一つの変更箇所は、WordPressがファイルシステムに書き込むために使用する方法を設定することです。Webサーバーに必要な書き込み権限を与えたので、ファイルシステムのメソッドを明示的に「direct」に設定してください。現在の設定でこれを設定しないと、WordPressが一部の操作を実行する際にFTP認証情報を求められる可能性があります。この設定は、データベース接続設定の下や他のどこでもファイルに追加してください。

「/var/www/<^>your_domain<^>/wordpress/wp-config.php」を日本語で自然に表現すると次のようになります:

/var/www/<^>your_domain<^>/wordpress/wp-config.php

. . .

define( 'DB_NAME', 'wordpress' );

/** MySQL database username */
define( 'DB_USER', 'wordpressuser' );

/** MySQL database password */
define( 'DB_PASSWORD', 'password' );

. . .

define( 'FS_METHOD', 'direct' );

作業が終わったら、ファイルを保存して閉じてください。

ステップ6 — ウェブインターフェースを通じたインストールの完了

サーバーの設定が完了しましたので、WordPressのウェブインターフェースを使ってインストールを終了することができます。

ウェブブラウザで、サーバーのドメイン名または公開IPアドレスに移動してください。

http://server_domain_or_IP/wordpress

使用したい言語を選択してください。

WordPress language selection

次に、メインの設定ページに進みます。

WordPressサイトの名前とユーザー名を選択してください(セキュリティ上の理由から「admin」のような名前は選ばないことが推奨されています)。強力なパスワードが自動的に生成されます。このパスワードを保存するか、別の強力なパスワードを選択してください。

メールアドレスを入力し、検索エンジンがサイトをインデックス化しないようにしたいかどうかを選択してください。

WordPress setup installation

ボタンをクリックすると、ログイン画面が表示されるページに移動します。

WordPress login prompt

ログインすると、WordPressの管理ダッシュボードに移動します。

WordPress login prompt

結論

WordPressをインストールして、すぐに使用できるように準備してください!一般的な次の手順は、投稿のパーマリンク設定(設定>パーマリンクで見つけることができます)を選択するか、新しいテーマを選択することです(外観>テーマ)。WordPressを初めて利用する場合は、新しいCMSに慣れるためにインターフェースを少し探索してみてください。

Info

もしWordPress vServerをワンクリックで簡単にインストールできるソリューションをお探しであれば、WordPressワンクリックアプリについて詳しく学んでください。
コメントを残す 0

Your email address will not be published. Required fields are marked *