WordPress(ワードプレス)は、無料で使えるブログソフトウェアです。サイトをデザインするテンプレートや、色々な機能を追加するプラグインが豊富なことが特徴で、簡単にブログサイトを作ることが出来ます。また、単なるブログだけではなく、企業サイトやニュースサイトでも WordPress が使われているのを、よく見かけるようになりました。「全世界のサイトの4分の1はWordPressで作られている」とも言われているようです。そこで今回は、CentOS に WordPress をインストールする手順をメモしておきました。
WordPress 日本語版の推奨動作環境
WordPress 日本語版の推奨動作環境は以下の通りです。(2016年9月7日時点)
- PHP バージョン 5.6 以上
- MySQL バージョン 5.6 以上 または MariaDB バージョン 10.0 以上
WordPress は、人気があるがゆえにサイバー攻撃の標的にされることも多いです。セキュリティ対策のためにも、推奨動作環境にインストールすることをオススメします。WordPress の公式サイトでも注意を呼びかけています。
古い PHP や MySQL しか利用できないレガシーな環境でも、PHP 5.2.4 以上、かつ MySQL 5.0 以上であれば WordPress は動作しますが、公式サポートは終了しており、サイトがセキュリティの脆弱性にさらされる危険があります。
CentOSにLAMP環境をインストール
まず初めに CentOSに、Apache、MySQL、PHP をインストールしておきます。(いわゆるLAMP環境です)下の記事はCentOSにLAMP環境をインストールした時のメモです。よければご参照ください(WordPressの推奨動作環境に対応しています)
ドメイン名 と ドキュメントルート
今回インストールする WordPress のドメイン名とドキュメントルートは、以下で設定しています。ご自分の環境に合わせて読み替えてください。
- ドメイン名:blog.example.com
- ドキュメントルート:/var/www/blog/
WordPress のダウンロードと配置
概要
WordPress は、PHPで作られていますので、WEBサーバーのドキュメントルート以下に配置するだけで動作します。今回はドキュメントルート直下に配置していますが、サブディレクトリに配置して http://www.example.com/blog/ のようにすることも可能です。
また、WordPress の管理画面から、テーマやプラグインを編集したり、画像をアップロードしたりしますので、WEBサーバーの実行ユーザーが、配置した WordPress のディレクトリやファイルに、書き込みできることが必要です。
ダウンロードと配置
最新の WordPress 日本語版をダウンロードします。(下記のURLで常に最新版をダウンロードできます)
解凍します。
解凍すると「wordpress」というディレクトリができますので、ディレクトリ名を変更し、ドキュメントルートとなる場所へ移動します。
sudo mv -i blog /var/www/
ドキュメントルート以下のオーナーを、WEBサーバーの実行ユーザーに変更します。CentOSでApacheをパッケージからインストールしている場合は「apache」が実行ユーザーです。
以上で WordPress の配置は完了です。
MySQL データベースとユーザーの作成
MySQLに WordPress 用のデータベースとユーザーを作成します。
MySQLサーバーに接続します。
Enter password: <MySQLのrootユーザーのパスワードを入力>
データベースを作成します。下の場合「wordpress」がデータベース名になります。データベース名はなんでも構いませんが、使えない文字もありますので、英数小文字のみで作成することをオススメします。
MySQLのユーザーを作成します。こちらも「wordpress」がユーザー名になりますが、なんでも構いません。ここで設定するパスワードは日常的に入力するものではありません。思い切って複雑なパスワードを設定しましょう。
MySQLとの接続を終了します。
続いて、ここで作成したデータベースとユーザーの名前と、設定したパスワードを WordPress の設定ファイルに入力します。
WordPress の設定ファイルの編集
設定ファイルのサンプル(wp-config-sample.php)の名前を変更して、そのまま設定ファイル(wp-config.php)として利用します。
sudo mv -i wp-config-sample.php wp-config.php
・設定ファイルを編集します。
sudo vi wp-config.php
↓
define('DB_NAME', 'wordpress');
define('DB_USER', 'username_here');
↓
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'password_here');
↓
define('DB_PASSWORD', '<パスワード>');
・認証用ユニークキーの設定
WordPress.org の秘密鍵サービス https://api.wordpress.org/secret-key/1.1/salt/ にアクセスし、表示されたユニークキーを WordPress の設定ファイルにコピペします。
sudo vi wp-config.php
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');
↓
https://api.wordpress.org/secret-key/1.1/salt/ で表示されたユニークキーををコピペ
設定ファイルに、MySQLのパスワードを入力していますので、WEBサーバーの実行ユーザー以外は読取りできないようにしておきます。
以上で、WordPress の設定ファイルの編集は終了です。
Apache httpd バーチャルホストの設定
他のWEBサイトと同居するため、今回はバーチャルホストを設定しました。Apache httpd バージョン2.2 と 2.4 で少しだけ設定方法が異なります
httpd 2.2 の場合
sudo vi /etc/httpd/conf/httpd.conf
NameVirtualHost *:80 <VirtualHost *:80> ServerName blog.example.com DocumentRoot "/var/www/blog" <Directory "/var/www/blog"> Options FollowSymLinks AllowOverride All </Directory> SetEnvIf Request_URI "\.(gif|jpg|png|css|js)$" nolog ErrorLog logs/blog.example.com_error_log CustomLog logs/blog.example.com_access_log combined env=!nolog </VirtualHost>
httpd 2.4 の場合
バージョン2.4の場合は「NameVirtualHost *:80」は不要です。また、アクセス制限の記述「Require all granted」が無い場合は全ての接続が拒否されてしまいます。
sudo vi /etc/httpd/conf/httpd.conf
<VirtualHost *:80> ServerName blog.example.com DocumentRoot "/var/www/blog" <Directory "/var/www/blog"> Options FollowSymLinks AllowOverride All Require all granted </Directory> SetEnvIf Request_URI "\.(gif|jpg|png|css|js)$" nolog ErrorLog logs/blog.example.com_error_log CustomLog logs/blog.example.com_access_log combined env=!nolog </VirtualHost>
httpd の再起動
バーチャルホストの設定が終わったら、httpd を再起動します。
CentOS6の場合
CentOS7の場合
WordPress の初期設定
WEBブラウザで http://blog.example.com/ (URLはご自分の環境に読み替えてください)を開くと、WordPress の初期設定画面が表示されます。各項目を入力して「WordPress をインストール」をクリックしてください。(ユーザー名は「admin」や「root」など、推測しやすいユーザー名は避けた方が良いでしょう)
「成功しました !」の画面が表示されれば、WordPress の初期設定終了です。「ログイン」をクリックします。
初期設定画面で入力した、ユーザー名とパスワードでログインします。
[ダッシュボード]→[更新] をクリックして、更新できるプラグインやテーマなどをすべて更新します。
続いて、最低限必要なプラグインを有効化します。
プラグインの有効化
[プラグイン]→[インストール済プラグイン] をクリックします。
WP Multibyte Patch は必須
「WP Multibyte Patch」の「有効化」をクリックします。日本語のサイトの場合このプラグインは必須です。
Akismet について
WordPress で運営しているサイトには、かなりのコメントスパムやトラックバックスパムが投稿されますので、コメント欄を使う場合は、Akismetプラグインも有効にすることをオススメします。このブログの場合、20,000件以上ものスパムがあったようですが、ほぼブロックしてくれています。
説明にもありますが、Akismetプラグインを有効にするには、ユーザー登録(無料)が必要です。私は2年ほどAkismetプラグインを使っていますが、トラブルも無く安心して使えるプラグインだと思います。
Hello Dolly について
謎のプラグイン(笑)とされてきましたが、どうも WordPress プラグインの書き方を学ぶためのサンプルのようです。
プラグインの書き方の基本について学ぶには、上手に書かれたプラグインの PHP ソースコードを眺めると良いでしょう。例えば、Hello Dolly のように WordPress に同梱されているプラグインがその一例です。
プラグインの作成 - WordPress Codex 日本語版 より引用
ジャズミュージシャン Louis Armstrong(ルイ・アームストロング)のファンの方には申し訳ないのですが、必要がなければ削除しても構わないと思います。私はなにか深い意味があるような気がして削除していませんでした(^^;)
終わりに(WordPressのセキュリティ対策について)
記事の中でも書きましたが、WordPress は多くのWEBサイトで使われているため、サイバー攻撃の標的とされる可能性が高いと言われています。WordPress に限りませんが、今や安全なWEBサイトを運営するためには、セキュリティ対策が必要になります。次回は WordPress のセキュリティ対策について調べてみたいと思います。
コメント