ブログの構築には、WordPress をよく使う。PHP + MySQL で動作するので環境を選ばないし、セットアップも簡単だ。昔はカスタマイズしにくい印象だったけど、最近のバージョンをいじってみたら、簡単になっていて少し驚いた。レスポンシブデザインを採用しているので、PC でもスマートフォンでも、見やすいサイトを作れる。
せっかくなので、WordPress をセットアップする方法をメモしておこうと思う。利用したバージョンは、3.51の日本語版で、WordPress 日本語ローカルサイトからダウンロードできる。Linux で構築するので、「.tar.gz 形式」をダウンロードした。
※下記環境を構築した環境は CentOS で、Linux 2.6.32-xxx + Apache 2.2.x + MySQL 5.1.x で、root 権限で作業しています。
ダウンロードしたファイルを展開
展開先は、WordPress をインストールするディレクトリを指定する。展開すると、wordpress というディレクトリができるので、展開先を指定せず、展開後にディレクトリの中身を移動してもいい。
tar zxpvf wordpress-3.5.1-ja.tar.gz -C <展開先>
展開したファイルとディレクトリのオーナーを変更する。WordPress はプラグインのインストール時に、Apache が書き込み権限を持っていないと、FTP のアカウントを要求されるので、ユーザーは管理用ユーザー、グループはapacheにしている(apache グループは、Apache が属しているグループ)。プラグインを自由にインストールしたい場合は、グループに対して書き込み権限を与えようと思う。
chown -R <管理者ユーザー>:apache *
httpd.conf の編集
最後に Apache の設定ファイル、httpd.conf を編集して、WordPress をインストールしたディレクトリを Apache に設定する。設定方法はいろいろある。/var/www/html の下に wordpress を展開したのであれば、何もしなくても動く(と思う)。今回は、別のディレクトリにインストールしたので、設定を追加した。wordpress は .htaccess を生成するので、AllowOverride は All に設定した。余談だが、Apache の設定で最後に「/」がついている場合とついていない場合で挙動が変わる。今回は話がそれるので割愛するが、いつかメモを残しておきたい。
Alias /blog /<インストールディレクトリ> <Directory "/<インストールディレクトリ>"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory>
設定が終わったら、記述ミスがないかチェック(configtest)して、Apache を再起動(restart)する。
/etc/init.d/httpd configtest /etc/init.d/httpd restart
wp-config.phpの編集
インストールまで終わった段階で、Apache にアクセスすると、以下の画面が表示される。
wp-config.phpがないと動かないと。サンプルが用意されているので、WordPress をインストールしたディレクトリでコピーすればよい。
cp wp-config-sample.php wp-config.php
wp-config.php で編集が必要なのは、データベースの設定と認証用ユニークキーの箇所のみ。下記は、サンプルのままなので、環境に合わせて設定を行えばよい。データベースの設定は、接続情報と文字セットの情報になる。認証用ユニークキーは、コメントで書いてあるが「WordPress.org の秘密鍵サービスで自動生成する」のが簡単だ。
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');
MySQL の設定
上記の設定に従って、MySQL のデータベースを作成する。
mysql -u root CREATE DATABASE <データベース名> DEFAULT CHARACTER SET utf8; GRANT ALL PRIVILEGES ON <ユーザー名>.* TO <データベース名>@"localhost" IDENTIFIED BY "<パスワード>"; FLUSH PRIVILEGES;
ログイン!
データベースの作成まで完了したら使えるようになるが、管理者ユーザーの作成などの初期設定が必要になる。
初期設定が完了すると・・・
がっかりしない(^^;;;インストールは15分だったけど、ブログを書くのは1時間かかった(^^;