手当たり次第に書くんだ

飽きっぽいのは本能

目次に戻る

概要

WordPressを構築します。

事前設定

Webサーバー構築

こちらを参考にWebサーバーを構築します。本稿ではTLS有効化、PHP有効化(必須)、WAF有効化も実施している前提です。

MariaDB構築

こちらを参考にデータベースサーバーを構築します。

DNS設定

こちらを参考にDNSを設定します(もちろん環境によります)。WordPressの仕様として公開URLはインストール時に使用したURLになります。後から変更も可能ですがいろいろと面倒が多いので予め目的のFQDNでアクセス可能な状態にしておくと良いでしょう。

設定

MariaDB設定

wordpressデータベースを作成し、wordpressデータベースに対して全権限を持つwordpressユーザーを作成します。

myadmin@ubuntu:~$ sudo mysql
MariaDB [(none)]> create database wordpress;
MariaDB [(none)]> grant all privileges on wordpress.* to wordpress@localhost identified by 'password';
MariaDB [(none)]> exit

WordPress設定

WordPressのダウンロードと展開

最新のWordPressをダウンロードして所定のディレクトリに展開します。本稿では/var/www/htmlを前提としています。

myadmin@ubuntu:~$ curl -OL http://ja.wordpress.org/latest-ja.zip
myadmin@ubuntu:~$ unzip latest-ja.zip
myadmin@ubuntu:~$ sudo cp -r wordpress/* /var/www/html

wp-config.php

WordPressの設定ファイルはwp-config.phpです。サンプルとしてwp-config-sample.phpが用意されています。

デフォルト値

コメント行を除き成形したデフォルト値は下記の通りです。

myadmin@ubuntu:~$ grep -v -e '^\s*\/' -e '^\s*\*' -e '^\s*$' /var/www/html/wp-config-sample.php | expand | tr -s [:space:] | sed 's/^\s/    /g'
<?php
define( 'DB_NAME', 'database_name_here' );
define( 'DB_USER', 'username_here' );
define( 'DB_PASSWORD', 'password_here' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8' );
define( 'DB_COLLATE', '' );
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' );
$table_prefix = 'wp_';
define( 'WP_DEBUG', false );
if ( ! defined( 'ABSPATH' ) ) {
    define( 'ABSPATH', __DIR__ . '/' );
}
require_once ABSPATH . 'wp-settings.php';
設定値

wp-config.phpを作成します。AUTH_KEY~NONCE_SALTの値(認証用ユニークキー)はこちらで作成できます。変更しなくても問題はありませんが正式な環境では変更したほうが良いでしょう。

myadmin@ubuntu:~$ sudo tee /var/www/html/wp-config.php <<"EOF"
<?php
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wordpress' );
define( 'DB_PASSWORD', 'password' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8' );
define( 'DB_COLLATE', '' );
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' );
$table_prefix = 'wp_';
define( 'WP_DEBUG', false );
if ( ! defined( 'ABSPATH' ) ) {
    define( 'ABSPATH', __DIR__ . '/' );
}
require_once ABSPATH . 'wp-settings.php';
EOF

WordPressの所有者変更

オーナーとグループをwww-dataに変更します。

myadmin@ubuntu:~$ sudo chown -R www-data:www-data /var/www/html

Apache設定

/etc/httpd/conf.d/wordpress.conf

/etc/httpd/conf.d/wordpress.confを作成します。このファイルは管理画面等に対するアクセス制御を設定しています。

myadmin@ubuntu:~$ sudo tee /etc/apache2/sites-available/wordpress.conf <<EOF
<files wp-config.php>
    Require all denied
</files>
<files wp-login.php>
    Require local
    Require ip 10.0.0.0/18
    SecRuleEngine Off
</files>
<Location /wp-admin>
    Require local
    Require ip 10.0.0.0/18
    SecRuleEngine Off
</Location>
EOF

wordpress.confを有効化します。

myadmin@ubuntu:~$ sudo a2ensite wordpress

設定を有効化します。

myadmin@ubuntu:~$ sudo systemctl restart apache2.service
myadmin@ubuntu:~$ systemctl status apache2.service

アクセス確認とインストール

対象ホストのFQDNにブラウザでアクセスするとWordPressのインストーラーが起動します。

目次に戻る

Ubuntu 22.04 WordPress CMS 構築

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る