Contents
概要
WordPressを構築します。
前提条件
OS
CentOS Stream 8を使用します。
SELinux
有効です。無効にする場合はこちらを参照して下さい。
Firewalld
無効です。有効化する場合はこちらを参照して必要な許可設定をして下さい。
その他
下記の設定が完了していることが前提です。
設定
データベース設定
wordpressデータベースを作成し、wordpressデータベースに対して全権限を持つwordpressユーザーを作成しています。
[root@centos ~]# mysql -u root -p MariaDB [(none)]> create database wordpress; MariaDB [(none)]> grant all privileges on wordpress.* to wordpress@localhost identified by 'password'; MariaDB [(none)]> exit
WordPressのダウンロードと展開
最新のWordPressをダウンロードして展開します。
[root@centos ~]# wget http://ja.wordpress.org/latest-ja.zip [root@centos ~]# unzip latest-ja.zip
WordPressの配置と所有者変更
Apacheのドキュメントルート(/var/www/html)にWordPressを配置し、オーナーとグループをapacheに変更します。
[root@centos ~]# cp -r wordpress/* /var/www/html [root@centos ~]# chown -R apache:apache /var/www/html
wp-config.php
wp-config.phpはWordPressの設定ファイルです。
wp-config.phpの作成
/var/www/html/wp-config.phpを作成します。サンプルファイルとしてwp-config-sample.phpが配置されているのでそれをコピーして使用します。
[root@centos ~]# cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
データベース接続設定
データベースへの接続に関する設定です。
[root@centos ~]# vim /var/www/html/wp-config.php define( 'DB_NAME', 'wordpress' ); define( 'DB_USER', 'wordpress' ); define( 'DB_PASSWORD', 'password' ); define( 'DB_HOST', 'localhost' ); define( 'DB_CHARSET', 'utf8' ); define( 'DB_COLLATE', '' );
- DB_NAME
- データベース名です。
- DB_USER
- データベースのユーザー名です。
- DB_PASSWORD
- データベースのパスワードです。
- DB_HOST
- データベースのホスト名です。
- DB_CHARSET
- データベースのテーブルを作成する際のデータベースの文字セットです。
- DB_COLLATE
- データベースの照合順序です。ほとんどの場合変更する必要はありません。
認証用ユニークキー設定
この値を変更するとCookieが無効化され、強制的に全てのユーザーを再ログインさせます。
認証用ユニークキーはこちらで作成できます(値はアクセスする度に変わります)。出力された内容でサンプルの設定値を上書きします。尚、この設定は行わなくてもWordPressは動作しますが、基本的にはデフォルト値から変更しておきましょう。
[root@centos ~]# vim /var/www/html/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' );
Apache設定
wordpress.conf
/etc/httpd/conf.d/wordpress.confを作成します。このファイルは管理画面等に対するアクセス制御を設定します。
[root@centos ~]# vim /etc/httpd/conf.d/wordpress.conf
<files wp-config.php>
Require all denied
</files>
<files wp-login.php>
Require local
Require ip 10.0.0.0/24
SecRuleEngine Off
</files>
<Location /wp-admin>
Require local
Require ip 10.0.0.0/24
SecRuleEngine Off
</Location>
- wp-config.php
- このファイルをHTTPを経由して編集することは無い為、アクセスを禁止しています。
- wp-login.php
- インターネットに対して管理画面を公開しない場合はアクセス元を制限したほうが良いです。また、管理画面に関してはWAFを無効にしています。
- /wp-admin
- wp-login.phpの説明と同じです。
設定を反映する為、Apacheを再起動します。
[root@centos ~]# systemctl restart httpd.service [root@centos ~]# systemctl status httpd.service
アクセス確認とインストール
最後にブラウザから対象のWebサーバーにアクセスすると下記の画面が表示されます。必要な情報を入力後、「WordPressをインストール」を実行するとWordPressの導入が完了します。この操作でwordpressデータベースにテーブルが追加されます。