前提 - 環境
- Mac OSX 10.10.5
- vagrant 1.8.5
- VirtualBox 5.1.4
- ゲストOS - centos6.8
※ vagrantでのcentos環境の構築は、以前の自分の記事を参考にしてください。
概要
- wordpressをインストールし
- 初期設定を行い
- 5分でサイトを公開しよう
1. wordpressをインストールしてくる
公式からダウンロード出来るので、本体をDLしておきます。
(2016-08-24時点では、バージョンは4.6でした)
2. wordpress用のデータベースを作成する
wordpress用のDBが必要なので作っておきます
mysql> create database wordpress_test;
mysql> grant all on wordpress_test.* to wp_test_user@localhost identified by 'xxxx';
3. 1でダウンロードしてきたwordpress本体をドキュメントルート配下に配置する
$ cd ~/Download/wordpress/* ~/centos/src/
補足
※ 私の環境では、~/centos
に、Vagrantfileが配置されてます。
Vagrant.configure("2") do |config|
config.vm.box = "centos6.7"
config.vm.provision :shell, :path => "provision.sh"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.synced_folder "./src/", "/var/www/html/"
end
※ ホストOSの~/centos/src/
をゲストOSの/var/www/html/
に共有しています。
4. wp-configを編集する
さて、先ほどドキュメントルートに配置した、~/centos/src/
の中に、wp-config-sample.php
というファイルがありますので、こいつをコピーして、wp-config.php
を作ります。
$ cd ~/centos/src/
$ cp wp-config-sample.php wp-config.php
$ vi wp-config.php
編集するのは次の4箇所です
- wordpress用のデータベース名
- wordpress用のユーザ名
- wordpress用のパスワード
- 認証用ユニークキー
上の3つはこの辺にあります。
27 // ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
28 /** WordPress のためのデータベース名 */
29 define('DB_NAME', 'wordpress_test');
30
31 /** MySQL データベースのユーザー名 */
32 define('DB_USER', 'wp_test_user');
33
34 /** MySQL データベースのパスワード */
35 define('DB_PASSWORD', 'xxx');
最後の、認証用ユニークキーというのは、wp-config
にこのような記載があるので、
指示通りに行います。
46 /**#@+
47 * 認証用ユニークキー
48 *
49 * それぞれを異なるユニーク (一意) な文字列に変更してください。
50 * {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org の秘密鍵サービス} で> 自動生成することもできます。
51 * 後でいつでも変更して、既存のすべての cookie を無効にできます。これにより、すべてのユーザ> ーを強制的に再ログインさせることになります。
52 *
53 * @since 2.6.0
54 */
ということなので、 https://api.wordpress.org/secret-key/1.1/salt/ にアクセスしてみます。
すると、なんかランダムな文字列が生成されているので、それを全選択>コピーします。
そして、wp-config
の認証用ユニークキーの下の部分にすべてペーストで上書きしちゃいます。
55 define('AUTH_KEY', '5kN_DjG8/M9db|1IhAz*&gWT8$)CfX`g#GpF-@EgPUh&^>_p1?$s0E?pbu3)Myc! ');
56 define('SECURE_AUTH_KEY', '-l5|r+n`^@7OuZ*H58m%UubRK-(m%]&okof]-.YtgN-O;2g7A}@&T$_D:~HZWLbC ');
57 define('LOGGED_IN_KEY', '-m*wqGjIoH;}zK=ky&s:@JfWH4@Z3+awc6D[Rfx4PE2l(A-h+Me5@3$z[1-|Rz-W ');
58 define('NONCE_KEY', '+Pr g3t&0i#HT[bu<z0N6 LJjs!}P@Bj.$!rqwv27{/F^lo8xaHNf:G:C<R?$O^- ');
59 define('AUTH_SALT', '3u&_2P(&+|?J70hchy|sI<0:xl9h0eu(3z7wY%`*^E?*<g[p{cm=b6*/wB:J8(77 ');
60 define('SECURE_AUTH_SALT', 'yB@#M4iY$<lp_%_jM^?EenmZ-~Rv2hk`; )76+N%Q6&vT=e1mS|n t+))O6*4Es( ');
61 define('LOGGED_IN_SALT', 'q_Gg&RrvMQM+b+y0R_~FsW(3Rj/|-!4zu}0XKoR$-m.9@^5QLs.e<N^%[D-=+0pW ');
62 define('NONCE_SALT', 't2|$-*At8Z|!@/{4IMh*)`93RVlj*sQF&p~9+6FA=h6k-~F/EYhrD*i-?[^qoOB] ');
こんな感じですね。
5. ブラウザから初期設定を行う
ブラウザで、192.168.33.10
にアクセスします。
おそらく下のような画面が表示されると思います。
データベース確立エラーが起きてしまったら・・・?
-
wp-config
の、データベースの設定に誤りがないか見直しましょう - 実際に
mysql -u [ユーザ名] -p[パスワード] [テーブル名]
でログイン出来るか - mysqlが実際に稼働しているか、
sudo service mysqld status
で動いてるか確認しましょう- 起動してない場合は、
sudo service mysqld restart
で再起動しておきましょう
- 起動してない場合は、
初期設定
ここで、サイトのタイトルやユーザ名、メールアドレスを登録して、wordpressをインストール
すれば完了です。
次に出てくるログイン画面で、実際にログイン出来るか確認してみましょう。
ログインに成功すると、↓のようなダッシュボードが表示されるはずです。
6. パーマリンクの設定
wordpressで投稿した記事のURLは、デフォルトでは記事のid
っぽくなっていますので、
それを日付
や記事の内容に合わせた文字列
に変更することが出来ます。
これは簡単なのでやっておきましょう。
ダッシュボードの左側のメニューから、パーマリンク設定
をクリック
デフォルトで、基本
になっているので、日付と投稿名
などに変えてみます。
この状態で、変更を保存
すると、画面下の方に、
.htaccess が書き込み可能ならこの操作は自動的に行われますが、そうでない場合は .htaccess ファイルに mod_rewrite ルールを書き込む必要があります。以下のフィールドをクリックし、CTRL + a ですべてのコードを選択してください。
という指示があります。
ドキュメントルートにapacheが書き込める権限があれば自動的に.htaccess
が作られるんだと思いますが、
作成されてなければ自分で作ってしまいましょう。
$ vi /var/www/html/.htaccess
内容は、ダッシュボード上にある文字列のコピペでOKです。
もし、パーマリンク設定して、404に遭遇したら・・
順番に疑ってみます
-
mod_rewrite
が有効になってない-
/etc/httpd/conf/httpd.conf
で、190 LoadModule rewrite_module modules/mod_rewrite.so
の行の先頭が#
でコメントアウトされている場合 -
#
を消して上書き >sudo service httpd restart
-
-
.htaccess
が使えない-
/etc/httpd/conf/httpd.conf
の、<Directory "/var/www/html">
の項目を見てみましょう -
AllowOverride None
になっていませんか? - その場合は、
AllowOverride All
にして上書き>sudo service httpd restart
-
これで記事投稿・パーマリンク設定まで出来ました。