wordmoveの利用・デプロイ
続いて、wordmoveを利用したデプロイが行えるように設定していきましょう。
wordpress用フォルダの作成
まずは、chownコマンドで、ドキュメントルートについてapacheユーザーとapacheグループの所有として設定します。
conohaのVPSにおけるドキュメントルートは/var/www/htmlです。
sudo chown -R apache:apache /var/www/html
さらにパーミションでグループへの書き込み権限を設定します。
sudo chmod -R 775 /var/www/html
最後に、作成したユーザーをapacheに所属させます。
sudo usermod -aG apache [ユーザー名]
wordpressで利用するデータベースの作成
wordpressで利用するためのデータベースを作成します。 今回はDB名をwordpress_dbとします。
mysql -u root -p -e "CREATE DATABASE wordpress_db;"
mysqlのrootユーザーのパスワードが要求されます。 sshでvpsにログインする際に毎回表示されますので、確認して入力しておきましょう。
これで、conoha側の設定は完了です。
vagrant側の設定
続いて、ローカル環境側の設定を行いましょう。
まずは、vccwで作成したフォルダに移動し、vagrant upで仮想環境を立ち上げます。立ち上がったらvagrant sshで仮想環境内にログインしましょう。
cd /vagrant
wp scaffold movefile
上記のコマンドで、synced_folderに移動し、Movefileの雛形を作成することが可能です。Movefileとは、WordPressのデプロイツールであるwordmoveの設定ファイルです。
Movefile.ymlの記述
作成したMovefileはshared_folder内に作成されるため、MacOSの側からテキストエディタで編集することが可能です。Movefile.ymlを開くと
Movefile.yml
(中略)
production:
vhost: "http://example.com"
wordpress_path: "/var/www/your_site" # use an absolute path here
database:
name: "database_name"
user: "user"
password: "password"
host: "host"
port: "3308" # Use just in case you have exotic server config
mysqldump_options: "--max_allowed_packet=50MB" # Only available if using SSH
exclude:
- ".git/"
- ".gitignore"
- ".sass-cache/"
- "bin/"
- "tmp/*"
- "Gemfile*"
- "movefile.yml"
- "wp-config.php"
- "wp-content/*.sql"
ssh:
host: "host"
user: "user"
port: 22
rsync_options: --verbose
上記のような部分があります。 これを
Movefile.yml
production:
vhost: "http://[VPSのIPアドレス]"
wordpress_path: "/var/www/html" # use an absolute path here
database:
name: "wordpress_db"
user: "root"
password: "[mysqlのrootのパスワード]"
host: "localhost"
port: "3308" # Use just in case you have exotic server config
mysqldump_options: "--max_allowed_packet=50MB" # Only available if using SSH
exclude:
- ".git/"
- ".gitignore"
- ".sass-cache/"
- "bin/"
- "tmp/*"
- "Gemfile*"
- "movefile.yml"
- "wp-config.php"
- "wp-content/*.sql"
ssh:
host: "[VPSのIPアドレス]"
user: "[設定したユーザー名]"
port: 22
rsync_options: --verbose
といった形に書き換えて保存しましょう。
wordmoveの利用
Movefile.ymlが出来上がったら、 vagrant側から
wordmove push --all
コマンドを実行しましょう。何度かパスワードを尋ねられますので、VPSで設定したユーザーのパスワードを入力しましょう。
エラーなく処理が完了したら、wordmoveを利用したwordpressのデプロイは完了です。VPSのIPアドレスにアクセスして、wordpressが設定されているのを確認しておきましょう。
VPS側wordpressの初期設定
wordmove push --allが終了した直後にVPSにアクセスすると、wordpressの設定画面になります。DB情報や登録ユーザー情報を入力して、wordpressを利用できる状況にしましょう。 最後にログイン画面からwordpressにログインできれば完了です。
ここまで完了したら、 vagrant sshでログインした仮想環境の側から
wordmove pull --all
を実行して、設定後の環境をローカル側にダウンロードしておきましょう。 今後は、ローカル側でもadminではなくVPS側のwordpressで登録したユーザー名、パスワードでログインできるようになります。
ローカル側のwordpressが一旦英語表記になりますので、 「setting」から
- サイトの言語を日本、
- timezoneをUTC+9
にすることで元どおりになります。
ローカル側の環境で記事を追加して、
wordmove push -d
でVPS側に追加した記事が反映されるか確認してみましょう。
また、テーマについても個別に同期することが可能です。 何らかのテーマをダウンロードして、
wordmove push -t
で追加したテーマがVPS側に反映されることを確認しておきましょう。
wordmoveのオプション一覧
オプション名 | 意味 |
---|---|
--all | ファイル全部 |
-w | /wp-content/ ディレクトリのみpush, pullする |
-u | /wp-content/upload/ ディレクトリのみpush, pullする |
-t | /wp-content/theme/ のみpush, pullする |
-p | /wp-content/plugins/ のみpush, pullする |
-l | /wp-content/language/ のみpush, pullする |
-d | データベースファイルのみpush, pullする |
-v | 様々な情報を表示しながら処理を行う |
-s | dry runモードで実行、実際にはファイル転送されないので、確認のために利用する |
-e | 環境(push先・pull元)を指定してpush, pullする |
-c | wp-config.php のみpush, pullする |
-h | ヘルプを表示 |