前提条件
bashが使える環境(MacやUNIXなど)を想定しています。
下記のサイトなどを参考に
- herokuのアカウントを作る
- heroku toolbeltをインストールする
セットアップする
1行目のHEROKUAPPの値を書き換えて、ターミナルに全体をコピペするだけ。
(場合によっては、2行目でダウンロードするファイルのバージョンをその時の最新に合わせる)
HEROKUAPP=my-blog
curl -O https://ja.wordpress.org/wordpress-4.6-ja.zip
unzip wordpress-4.6-ja.zip
mv wordpress/ $HEROKUAPP
cd $HEROKUAPP/
git init
git add .
git commit -m "import"
echo 'web: vendor/bin/heroku-php-nginx' > Procfile
echo '{}' > composer.json
heroku create $HEROKUAPP
heroku addons:add cleardb -a $HEROKUAPP
heroku addons:add sendgrid -a $HEROKUAPP
curl -o salt.txt https://api.wordpress.org/secret-key/1.1/salt/
AUTH_KEY=`grep "'AUTH_KEY'" salt.txt | sed "s/.*'\\([^']*\\)');/\\1/"`
SECURE_AUTH_KEY=`grep "'SECURE_AUTH_KEY'" salt.txt | sed "s/.*'\\([^']*\\)');/\\1/"`
LOGGED_IN_KEY=`grep "'LOGGED_IN_KEY'" salt.txt | sed "s/.*'\\([^']*\\)');/\\1/"`
NONCE_KEY=`grep "'NONCE_KEY'" salt.txt | sed "s/.*'\\([^']*\\)');/\\1/"`
LOGGED_IN_SALT=`grep "'LOGGED_IN_SALT'" salt.txt | sed "s/.*'\\([^']*\\)');/\\1/"`
NONCE_SALT=`grep "'NONCE_SALT'" salt.txt | sed "s/.*'\\([^']*\\)');/\\1/"`
rm salt.txt
heroku config:set -a $HEROKUAPP \
AUTH_KEY="$AUTH_KEY" \
SECURE_AUTH_KEY="$SECURE_AUTH_KEY" \
LOGGED_IN_KEY="$LOGGED_IN_KEY" \
NONCE_KEY="$NONCE_KEY" \
AUTH_SALT="$AUTH_SALT" \
SECURE_AUTH_SALT="$SECURE_AUTH_SALT" \
LOGGED_IN_SALT="$LOGGED_IN_SALT" \
NONCE_SALT="$NONCE_SALT"
DATABASE_URL=`heroku config -a $HEROKUAPP | grep CLEARDB_DATABASE_URL | sed 's/^.* //'`
DB_NAME=`echo $DATABASE_URL | sed 's/.*cleardb.net\/\([^?]*\).*/\1/'`
DB_USER=`echo $DATABASE_URL | sed 's/mysql:\/\/\([^:]*\).*/\1/'`
DB_PASSWORD=`echo $DATABASE_URL | sed 's/mysql:\/\/[^:]*:\(.*\)@.*/\1/'`
DB_HOST=`echo $DATABASE_URL | sed 's/.*@\(.*\)\/.*/\1/'`
cat wp-config-sample.php |
sed "s/'DB_NAME', '.*'/'DB_NAME', '$DB_NAME'/" |
sed "s/'DB_USER', '.*'/'DB_USER', '$DB_USER'/" |
sed "s/'DB_PASSWORD', '.*'/'DB_PASSWORD', '$DB_PASSWORD'/" |
sed "s/'DB_HOST', '.*'/'DB_HOST', '$DB_HOST'/" |
sed "s/'AUTH_KEY',.*'.*'/'AUTH_KEY', getenv('AUTH_KEY')/" |
sed "s/'SECURE_AUTH_KEY',.*'.*'/'SECURE_AUTH_KEY', getenv('SECURE_AUTH_KEY')/" |
sed "s/'LOGGED_IN_KEY',.*'.*'/'LOGGED_IN_KEY', getenv('LOGGED_IN_KEY')/" |
sed "s/'NONCE_KEY',.*'.*'/'NONCE_KEY', getenv('NONCE_KEY')/" |
sed "s/'AUTH_SALT',.*'.*'/'AUTH_SALT', getenv('AUTH_SALT')/" |
sed "s/'SECURE_AUTH_SALT',.*'.*'/'SECURE_AUTH_SALT', getenv('SECURE_AUTH_SALT')/" |
sed "s/'LOGGED_IN_SALT',.*'.*'/'LOGGED_IN_SALT', getenv('LOGGED_IN_SALT')/" |
sed "s/'NONCE_SALT',.*'.*'/'NONCE_SALT', getenv('NONCE_SALT')/" > wp-config.php
git add Procfile composer.json wp-config.php
git commit -m "set up"
git push heroku master
heroku open最後に自分がセットアップしたWordPressがブラウザで開かれます。