Ubuntu 22.04にLEMPを使ってWordPressをインストールする方法
Ubuntu 22.04を使用していませんか?別のバージョンまたはディストリビューションを選択してください。
紹介
WordPressは、インターネット上で最も人気のあるコンテンツ管理システム(CMS)の1つであり、ユーザーがMySQLバックエンドとPHP処理を使用して柔軟なブログやウェブサイトを構築することを可能にします。WordPressは、ウェブサイトを効率的に立ち上げるための優れた選択肢です。最初の設定の後、ほぼすべてのWordPressウェブサイトの管理は、そのグラフィカルインターフェースを通じて行うことができます。
このチュートリアルでは、Ubuntu 22.04サーバー上にLEMPスタック(Linux、Nginx、MySQL、PHP)を用いてWordPressのインスタンスをセットアップすることに焦点を当てます。
DigitalOceanのマネージドWordPressサービスを使うこともできます。
前提条件
このチュートリアルを完了させるには、Ubuntu 22.04サーバーへのアクセスが必要です。サーバーにLEMPを使用してWordPressを正常にインストールするためには、このチュートリアルを始める前に以下の作業を行う必要があります:
- サーバーに
sudoユーザーを作成する: このチュートリアルの手順では、sudo権限を持つ非ルートユーザーを使用します。sudo権限を持つユーザーを作成するには、私たちの Ubuntu 22.04 初期サーバー設定チュートリアルに従ってください。 - LEMPスタックをインストールする: WordPressが正しく動作するためには、ウェブサーバー、データベース、およびPHPが必要です。LEMPスタック(Linux、Nginx、MySQL、およびPHP)を設定することで、これらすべての要件が満たされます。このチュートリアルに従って、このソフトウェアをインストールおよび設定してください。
自分でこれらのコンポーネントを設定する代わりに、DigitalOceanの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も完了する必要があります。
SSLでサイトを保護する: WordPressは動的コンテンツを提供し、ユーザー認証と認可を処理します。TLS/SSLは、サイトからのトラフィックを暗号化して接続を安全にする技術です。SSLの設定方法は、サイトのドメイン名があるかどうかによって異なります。
- ドメイン名をお持ちの場合、サイトを保護する最も簡単な方法は、無料で信頼できる証明書を提供するLet’s Encryptを使用することです。これを設定するためのNginx用のLet’s Encryptガイドに従ってください。
- ドメインをお持ちでない場合、この構成をテストまたは個人的な使用のために利用している場合は、自己署名証明書を使用できます。これにより、ドメイン検証なしで同様のタイプの暗号化が提供されます。セットアップのために、Nginx用の自己署名SSLガイドに従ってください。
セットアップが完了したら、sudoユーザーとしてサーバーにログインして続行します。
ステップ1 — WordPress用のMySQLデータベースとユーザーの作成
WordPressはMySQLを使用してサイトとユーザー情報を管理および保存します。 MySQLはすでにインストールされているかもしれませんが、WordPress用にデータベースとユーザーを作成しましょう。
始めに、MySQLのルート(管理者)アカウントにログインします。MySQLがauth_socket認証プラグイン(デフォルト)を使用するように設定されている場合は、sudoを使用してMySQLの管理者アカウントにログインできます:
- sudo mysql
MySQLのrootアカウントの認証方法をパスワードに変更した場合は、次のコマンドを使用してください:
- mysql -u root -p
MySQLのrootアカウント用に設定したパスワードを入力するように求められます。
ログインしたら、WordPressが操作できる別のデータベースを作成します。これは好きな名前にすることができますが、このガイドではシンプルさのためにwordpressと呼びます。WordPress用のデータベースを作成するには、次のように入力します:
- CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
注意: すべてのMySQLステートメントはセミコロン (;) で終わる必要があります。エラーが発生した場合は、セミコロンが存在することを確認してください。
次に、私たちの新しいデータベースに専用として使用する別のMySQLユーザーアカウントを作成しましょう。管理とセキュリティの観点から、目的別のデータベースとアカウントを作成することは良いアイデアです。このガイドではwordpressuserという名前を使用しますが、必要に応じて変更してください。
次のコマンドでは、アカウントを作成し、パスワードを設定し、作成したデータベースへのアクセスを付与します。ここで強力なパスワードを選択することを忘れないでください:
-
- CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
-
- GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost';
あなたは今、WordPressのために特別に作られたデータベースとユーザーアカウントを持っています。
データベースの作業が完了したので、次のように入力してMySQLから退出しましょう:
- EXIT;
MySQLセッションは終了し、通常のLinuxシェルに戻ります。
ステップ 2 — 追加の PHP 拡張をインストールする
LEMPスタックをセットアップする際、PHPとMySQLが通信するためには非常に最小限の拡張が必要でした。WordPressとその多くのプラグインは追加のPHP拡張機能を利用しており、このチュートリアルではさらにいくつかを使用します。
WordPressで使用するための最も人気のあるPHP拡張機能をいくつかダウンロードしてインストールするには、次のコマンドを入力します:
- sudo apt update
- sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip
注意: 各WordPressプラグインには独自の要件があります。一部は追加のPHP拡張パッケージのインストールを必要とする場合があります。プラグインのドキュメントを確認して、そのPHP要件を確認してください。利用可能な場合、上記のようにaptを使用してインストールできます。
拡張機能のインストールが完了したら、実行中のPHPプロセッサが新しくインストールされた機能を利用できるように、PHP-FPMプロセスを再起動してください。
- sudo systemctl restart php8.1-fpm
サーバーに必要なすべてのPHP拡張がインストールされました。
ステップ3 — Nginxの設定
次に、Nginxサーバーブロックファイルにいくつかの調整を加えましょう。必要なチュートリアルに基づいて、/etc/nginx/sites-available/ ディレクトリに、サーバーのドメイン名またはIPアドレスに応答し、TLS/SSL証明書によって保護されたサイトの設定ファイルがあるはずです。ここでは/etc/nginx/sites-available/wordpressを例として使用しますが、適切な場所で自分の設定ファイルへのパスに置き換えてください。
さらに、このガイドでは、WordPress のインストールのルートディレクトリとして /var/www/wordpress を使用します。繰り返しますが、あなた自身の設定で指定されたウェブルートを使用するべきです。
注意: あなたが /etc/nginx/sites-available/default のデフォルト設定を使用している可能性があります(/var/www/html がウェブルート)。これは、サーバー上に1つのウェブサイトのみをホストする場合には問題ありません。それ以外の場合は、必要な設定を論理的な部分に分割し、サイトごとに1つのファイルを持つのが最善です。
まず、sudo権限でサイトのサーバーブロックファイルを開いてください:
- sudo nano /etc/nginx/sites-available/wordpress
メインのserverブロック内に、いくつかのlocationブロックを追加しましょう。
/favicon.ico と /robots.txt へのリクエストに対して、リクエストをログに記録したくないので、正確に一致するロケーションブロックを作成することから始めます。
静的ファイルのリクエストに一致させるために正規表現の位置を使用します。これらのリクエストに対しては再度ログをオフにし、通常これらは提供するのが高コストなリソースであるため、高度にキャッシュ可能としてマークします。この静的ファイルのリストには、サイトが使用する可能性のある他のファイル拡張子を含めることができます。
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;
}
. . .
}
既存のlocation /ブロックの内部で、try_filesリストを調整しましょう。行の先頭に井戸記号(#)を付けてデフォルトの設定をコメントアウトし、その後に強調された行を追加します。これにより、デフォルトのオプションとして404エラーを返す代わりに、リクエスト引数を持ってindex.phpファイルに制御が渡されます。
これはこんな感じになるはずです:
server {
. . .
location / {
#try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php$is_args$args;
}
. . .
}
終わったら、ファイルを保存して閉じてください。
では、構文エラーをチェックするために、次のように入力しましょう:
- sudo nginx -t
エラーが報告されていない場合は、次のように入力してNginxを再読み込みします:
- sudo systemctl reload nginx
次に、WordPressをダウンロードして設定しましょう。
ステップ4 — WordPressのダウンロード
サーバーソフトウェアの設定が完了したので、WordPressをダウンロードしてセットアップしましょう。セキュリティ上の理由から、プロジェクトのウェブサイトから最新バージョンのWordPressを直接取得することをお勧めします。
書き込み可能なディレクトリに変更し、次に圧縮されたリリースをダウンロードするために入力します:
- cd /tmp
これにより、ディレクトリが一時フォルダーに変更されます。次に、最新のWordPressの圧縮ファイルをダウンロードするために、次のコマンドを入力してください。
- curl -LO https://wordpress.org/latest.tar.gz
注意: -LO フラグは、圧縮ファイルのソースに直接アクセスするために使用されます。 -L は、リダイレクトが発生した場合でもファイルの取得が成功することを保証し、-O はリモートファイルの出力を同じ名前のローカルファイルに書き出します。 curl コマンドについて詳しく学ぶには、「cURLを使ってファイルをダウンロードする方法」を訪れてください。
圧縮ファイルを解凍してWordPressディレクトリ構造を作成してください:
- tar xzvf latest.tar.gz
これらのファイルを間もなく私たちのドキュメントルートに移動しますが、その前に、サンプル設定ファイルをWordPressが実際に読み込むファイル名にコピーしましょう:
- cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
では、ディレクトリの全内容をドキュメントルートにコピーしましょう。私たちは、権限が維持されるようにするために-aフラグを使用しており、ソースディレクトリの末尾にドットを付けて、ディレクトリ内のすべてのもの(隠しファイルを含む)をコピーすることを示しています。
- sudo cp -a /tmp/wordpress/. /var/www/<^>your_domain/wordpress
ファイルが整ったので、www-data ユーザーとグループに所有権を割り当てます。これは、Nginxが実行されるユーザーとグループであり、Nginxはウェブサイトを提供し、自動更新を行うためにWordPressのファイルを読み書きできる必要があります。
- sudo chown -R www-data:www-data /var/www/your_domain/wordpress
ファイルは現在サーバーのドキュメントルートにあり、正しい所有権がありますが、まだいくつかの追加設定を完了する必要があります。
ステップ5 — WordPress設定ファイルの設定
次に、メインのWordPress設定ファイルにいくつかの変更を加えましょう。
ファイルを開くと、インストールのセキュリティを提供するためにいくつかの秘密鍵を調整することから始まります。WordPressはこれらの値用に安全なジェネレーターを提供しているので、自分で値を考える必要はありません。これらの値は内部でのみ使用されるため、ここに複雑で安全な値があっても使いやすさには影響しません。
WordPressの秘密鍵ジェネレーターから安全な値を取得するには、次のように入力します:
- curl -s https://api.wordpress.org/secret-key/1.1/salt/
あなたはこのようなユニークな値を取得します:
警告:毎回ユニークな値を要求することが重要です。下に表示されている値をコピーしないでください!
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の設定ファイルを開いてください。
- sudo nano /var/www/your_domain/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');
. . .
その行を削除し、コマンドラインからコピーした値を貼り付けてください。
. . .
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がファイルシステムに書き込むために使用するメソッドを設定することです。ウェブサーバーに必要な場所に書き込む権限を与えたので、ファイルシステムメソッドを「直接」に明示的に設定できます。現在の設定でこれを設定しないと、いくつかの操作を行う際にWordPressがFTP認証情報を要求することになります。この設定をデータベース接続設定の下、またはファイル内の他の場所に追加してください:
. . .
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サイトの名前を選択し、ユーザー名を選択してください(セキュリティ上の理由から「admin」のようなものは選ばないことをお勧めします)。強力なパスワードが自動的に生成されます。このパスワードを保存するか、代わりの強力なパスワードを選んでください。
メールアドレスを入力し、検索エンジンにサイトをインデックス登録しないようにするかどうかを選択してください:
先に進むと、ログインを促すページに移動します:
ログインすると、WordPressの管理ダッシュボードに移動します。
結論
WordPressはインストールされ、使用準備が整っています! よくある次のステップは、投稿のパーマリンク設定を選択すること(設定 > パーマリンクで見つかります)や、新しいテーマを選ぶこと(外観 > テーマにあります)です。 これが初めてのWordPressの使用であれば、インターフェースを少し探検して、新しいCMSに慣れてください。
ワードプレスのドロップレットをインストールするワンクリックソリューションを探しているなら、ワードプレスワンクリックアプリについて詳しく学んでください。




