はじめに
以前、 WordPressでBackWPupを使ってバックアップを取る方法 でバックアップの仕方を紹介したが、サーバー移行のときに手動で新規サーバーに必要なものをインストールしていては面倒である
そこで今回はAnsibleを使用してみた
しかし、サーバー移行を行おうとしたら2点、躓いた点があったので紹介していく
WordPressのダウンロード
最初shellコマンドを用いて以下の様にWordPressをダウンロードしようとしたところ、ダウンロードしたりしなかったりと不安定であった
roles/wordpress/tasks/main.yml
略 24 - name: Install WordPress 25 shell: 26 mkdir /var/www/wordpress; 27 cd /usr/local/src; 28 wget https://wordpress.org/latest.tar.gz; 略
そこで、以下のように変えたところ安定して動作するようになった
こちらのほうがmain.ymlが短く済むので見やすくもなる
roles/wordpress/tasks/main.yml
- name: Download wordpress get_url: url=https://wordpress.org/latest.tar.gz dest=/usr/local/src
WordPressの解凍と移動
ダウンロードしてきたWordPressの解凍と移動を以下の方法で行おうとしていたがそもそも解凍されなかった
どうやら、これは公式によるとtarではなくunarchiveを使用しないといけないとのことであった
roles/wordpress/tasks/main.yml
略 29 tar -zxvf latest.tar.gz; 30 cp wordpress/* /var/www/wordpress/; 略
そこで以下のように書き換えたら上手く動いた
roles/wordpress/tasks/main.yml
- name: Install WordPress unarchive: src=/usr/local/src/latest.tar.gz dest=/var/www
おわりに
shellコマンドのほうが使い慣れているためshellコマンドを優先的に使いがちだが、
Ansibleを使う際はなるべくshellコマンドは使わない方が安全なようである