Ansibleを使って新規サーバーにwordpressを移そうとしたら躓いた話

はじめに

以前、  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コマンドは使わない方が安全なようである

AWS構築サービスの全てをまとめた資料を公開中

ハックノート(TOWN株式会社)では、AWSの導入や構築支援を行っています。AWS導入メニューやサービス詳細、構成例や費用を掲載した資料をダウンロードできます。

AWSの新規導入やAWSへの移行を検討の際は、ぜひご参考ください。


APNコンサルティングパートナー

TOWN株式会社はAmazon公認コンサルティングパートナーです。