仕事でも利用しているCentOS5のサーバをセットアップしたいと思います。
Ansibleの呼び方が最初「あんしぶる」と思っていたのですが「あんしぼぉ」のようです。
恥ずかしい。
必要なもの
ローカルCentOS6のepelリポジトリを利用してインストールする方法が手っ取り早かったので
vagrantも利用してCentOS6を用意しました。
Windows上で扱うのは出来るかどうかわからなかったので、仮想マシンを用意しました。
// epel repository追加 rpm -ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm // Ansibleインストール yum -y install ansibleサーバ
AnsibleはPythonが必要なのですが、基本的には標準でインストールされています。
インストールされているバージョンが2.5以上なら問題ないようですが、CentOS5の場合は
2.4のためpython-simplejsonが必要です。
Ansibleでの実行結果がJSON形式で返ってきますが、2.4ではJSONを扱う?
パッケージが無いようなのでインストールする必要があります。
Ansibleでサーバをセットアップする前に
SSHでサーバにアクセスできる必要があります。Ansibleで対象のサーバを操作する場合はインベントリファイル(inventory-file)と呼ばれる
ファイルに設定した内容しか操作対象にされません。
// インベントリファイルは実行時に指定することが出来るのでファイルを作成します echo [サーバのIPアドレス] > hosts // Python2.4がインストールされている場合はpython-simplejsonをインストール // rawモジュールでpython-simplejsonをインストール // -i:インベントリファイルの指定 // -k:このオプションを指定するとSSH接続するときのパスワードを求められます // (サーバ側でパスワードなしのSSH接続の設定を行っていない場合このオプションをつけないとサーバへの認証が失敗するので、今回はこのオプションを付けました) // -u:サーバ接続時のユーザの指定 // -m:実行するAnsibleのモジュールの指定 // -a:モジュールの引数の指定 // (""で括らないと失敗してしまいました) ansible -i hosts [サーバのIPアドレス] -k -u [サーバのユーザ名] -m raw -a "yum -y install python-simplejson"疲れてしまいましたので今回はこのあたりで。