WordPress デプロイ—クラウドサーバ(Ubuntu)
1.概要
WordPress は、PHP 言語を使用して開発されたブログ プラットフォームで、PHP および MySQL データベースをサポートするサーバー上で、WordPress を使用して独自の Web サイトを構築したり、コンテンツ管理システム (CMS) として使用したりできる。本記事では、クラウド サーバ(EC2) インスタンス上に WordPress ウェブサイトを手動または迅速に構築する方法を紹介する。
2.EC2 インスタンスリモート接続
SSH経由でEC2に接続
ssh -i "key.pem" root@localhost
3.LNMPデプロイ
4.WordPressデプロイ
4.1 WordPress データベース配置
次のコマンドを実行して、MySQL データベースにアクセス:
sudo mysql -u root -p
次のコマンドを実行して、WordPress Web サイト用に wordpress という名前のデータベースを作成:
CREATE DATABASE wordpress;
WordPress ライブラリを管理するための新しいユーザー user を作成し、新しいユーザーのパスワードは、「password」で、データのセキュリティを向上させる。
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'password';
ユーザーに WordPress データベースに対する完全な権限を与える。
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
エラーが報告された場合:
これは、MySQL のパスワード ポリシー設定が原因で発生する。パスワード ポリシーの要件を調整したり、あるいは、現在のポリシーに一致する複雑なパスワードを設定したりする。
現在のパスワード ポリシーを表示:
SHOW VARIABLES LIKE 'validate_password%';
パスワード ポリシー要件を変更 (パスワード強度要件を下げるなど):
SET GLOBAL validate_password.policy = LOW;
SET GLOBAL validate_password.length = 6;
ユーザーを再作成:
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'wpuser123';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
次のコマンドを実行して、配置を有効にする。
FLUSH PRIVILEGES;
データベースを終了する。
EXIT;
まとめ:
sudo mysql -u root -p
CREATE DATABASE wordpress;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
4.2 WordPress インストール
Nginx Web サイトのルート ディレクトリに入り、WordPress をダウンロードして解凍:
cd /usr/share/nginx/html
sudo curl -O https://wordpress.org/latest.tar.gz
sudo tar xzvf latest.tar.gz
# or
cd /usr/share/nginx/html
sudo wget -O wordpress-6.5.5.zip https://downloads.wordpress.org/release/zh_CN/wordpress-6.5.5.zip
sudo unzip wordpress-6.5.5.zip
sudo rm -rf wordpress-6.5.5.zip
最新バージョンの WordPress を /usr/share/nginx/html ディレクトリにダウンロードして解凍する。
curl -O は、指定された URL からファイルをダウンロードし、ダウンロードされたファイル名でローカルに保存するために使用される。ここでは、最新バージョンの WordPress がダウンロードされ、latest.tar.gz ファイルとして保存される。
tar xzvf は、.tar.gz 形式の圧縮パッケージを解凍するために使用される。
x は、ファイルを解凍する。
z は 、gzip 圧縮を使用する。
v は、抽出されたファイルのリストを示す詳細を出力する。
f は、その後にファイル名が続く。
WordPress インストールディレクトリにある wp-config-sample.php ファイルを wp-config.php ファイルにコピーし、wp-config-sample.php ファイルをバックアップとして保存する。
cd /usr/share/nginx/html/wordpress
sudo cp wp-config-sample.php wp-config.php
4.3 WordPress 配置ファイル変更
移動したWordPressのパスを入力し、wp-config.phpファイルを編集:
sudo vim wp-config.php
i キーを押して編集モードに入る。
設定したWordPressデータベース情報に合わせて、MySQL関連の設定情報を変更する。
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );
/** Database username */
define( 'DB_USER', 'wpuser' );
/** Database password */
define( 'DB_PASSWORD', 'wpuser123' );
/** Database hostname */
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 配置用の Nginx 仮想ホスト配置ファイルを作成する。デフォルトの Nginx サイト構成ファイルを変更することも、新しい構成ファイルを作成することもできる。
sudo vim /etc/nginx/conf.d/wordpress.conf
配置ファイルの内容を次のように変更 (WordPress が /usr/share/nginx/html/wordpress ディレクトリにインストールされ)
server {
listen 80;
listen [::]:80;
root /usr/share/nginx/html/wordpress;
index index.php index.html index.htm;
server_name your_domain.com;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
root /usr/share/nginx/html/wordpress;
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; # PHPのバージョンに応じて調整してください
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Nginx 再起動:
sudo nginx -s reload
4.4 WordPress アクセス
ブラウザを開き、http:// IP にアクセスし、WordPress インストール ページに入る。
ウェブサイトの基本情報を入力し、「Install WordPress 」をクリック
Site Title:WordPress Web サイトの名前。
Username:WordPressにログインする際にユーザー名が必要となるので、セキュリティにご注意ください。
Password:WordPressにログインする際に必要なパスワード。安全性の高いパスワードを設定することをお勧め。
Your Email:通知を受け取るための電子メール。
WordPress のインストール時に設定したユーザー名 とパスワード を入力し、「ログイン」をクリックする。個人の WordPress Web サイトに正常に入る。
5.エラー対策
5.1 Installation failed: Unable to create directory. /usr/share/nginx/html/wordpress/wp-content/upgrade
WordPress にディレクトリとファイルを作成するための十分な権限があることを確認。
sudo chown -R www-data:www-data /usr/share/nginx/html/wordpress
sudo find /usr/share/nginx/html/wordpress -type d -exec chmod 755 {} \;
sudo find /usr/share/nginx/html/wordpress -type f -exec chmod 644 {} \;
次の定義を WordPress の構成ファイル wp-config.php に追加して、WordPress が FTP を必要とせずにディレクトリとファイルをファイル システムに直接作成できる。
sudo vim /usr/share/nginx/html/wordpress/wp-config.php
define('FS_METHOD', 'direct');