Wordpress + Vagrant の覚え書き

Shunsuke Sawada

HerokuでWordpress動かすかー。じゃあローカル開発環境を整えるかーとなったけど、
この所ずーっとRailsだったので、すっかり忘れてしまっていた。

まずはローカル開発環境あたり。

Apacheサーバー

1
2
3
4
5
6
7
8
9
$ service httpd
 => Usage: httpd
{start|stop|restart|condrestart|try-restart|force-reload|reload|status|fullstatus|graceful|help|configtest}

Apache設定ファイルの編集
$ sudo vi /etc/httpd/conf/httpd.conf

再起動
$ service httpd restart

  

VirtualHostの設定

1
2
3
4
5
6
7
<VirtualHost *:80>
    ServerName     dev.yoursite.com
    DocumentRoot   "/var/www/html/yoursite"
    setEnv WLWP_DB_NAME xxxxxxxxx
    setEnv WLWP_DB_USER xxxxxxxxx
    setEnv WLWP_DB_PASSWORD xxxxxxxxx
</VirtualHost>

 
あとはHostsファイルでIPを紐付けてあげればいい。
自分はMacでHosterを使っている。
http://www.redwinder.com/macapp/hoster/

MySQL

1
2
3
4
5
$ mysql -u root -p

mysql> show databases;

mysql> create database YourDB default character set utf8; 

MySQLでやろうかと思ったけど、気が変わってPostgresqlにした。

Postgresql

1
2
3
4
5
$ sudo -u postgres psql

postgres=# create database my_database owner yourname;
postgres=# \l 確認
postgres=# \q 終了

Amazon s3を画像アップロード用に使う

WP Read-Onlyというプラグインを使う。
使い方はこのサイト参考。
http://blog.mah-lab.com/2013/05/04/wordpress-on-heroku-file-upload/
使い方といっても、普通にイントールして、アクセスKeyとSecretを入力すればいいんだけど、
このプラグインの最終更新日がとても古いせいか、Regionの選択肢が少ない。

WPRO Plugin Settings ‹ Washoku Lovers — WordPress

なので加えた。
この例ではSydneyを追加。
Region一覧はAmazonの公式から ↓
http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region

wpro.php 350行目あたり

php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<select name="wpro-aws-endpoint" id="wpro-aws-endpoint">
<?php
    $aws_regions = array(
        's3.amazonaws.com' => 'US East Region (Standard)',
        's3-us-west-2.amazonaws.com' => 'US West (Oregon) Region',
        's3-us-west-1.amazonaws.com' => 'US West (Northern California) Region',
        's3-eu-west-1.amazonaws.com' => 'EU (Ireland) Region',
        's3-ap-southeast-1.amazonaws.com' => 'Asia Pacific (Singapore) Region',
        's3-ap-southeast-2.amazonaws.com' => 'Asia Pacific (Sydney) Region', //追加した
        's3-ap-northeast-1.amazonaws.com' => 'Asia Pacific (Tokyo) Region',
        's3-sa-east-1.amazonaws.com' => 'South America (Sao Paulo) Region'
    );
    // Endpoints comes from http://docs.amazonwebservices.com/general/latest/gr/rande.html

    foreach ($aws_regions as $endpoint => $endpoint_name) {
        echo ('<option value="' . $endpoint . '"');
        if ($endpoint == get_option('wpro-aws-endpoint')) {
            echo(' selected="selected"');
        }
        echo ('>' . $endpoint_name . '</option>');
    }
?>
</select> 

普通にWordpressでアップロードした画像がS3に保存された。
めちゃ簡単。Wordpressすごいな。Railsもいいけど使いようだな。

参考

viコマンド
http://uguisu.skr.jp/Windows/vi.html

VirtualHost
http://www.atmarkit.co.jp/ait/articles/1001/29/news107.html

MySQLコマンド
http://blog.livedoor.jp/vine_user/archives/51650747.html

Shunsuke Sawada

おすすめの記事

justhostがハッキングされてる件
Wordpressのアップロード作業を楽にする
qTranslateで Hide Untranslated Content オプションがうまく動かなくなった場合の対処