Ansibleはサーバ構築時の手順をコードにできるOSSです。今回は最近構築した自分のサーバのコード『morizyun/centos_ansible_rails - GitHub』を紹介します。
このAnsibleを使うとCentOSを使っているサーバに次のような環境をたったの数コマンドで構築できます。
* サーバ: Nginx * DB: MySQL or PostgreSQL * Firewall: iptables * サーバ監視: NewRelic * Ruby: RVM & Rails * SSH: Mosh * 開発に必要なライブラリのインストール
🗽 動作条件
AWSやVULTRで動作確認がなんとなくできている状況ですが、多分CentOS系のOSなら動く気がします。
VULTRの場合は拙著『[VULTR 日本リージョン/MEM 768MB/SSD 15GB VPS $5/月! Rails鯖のためのAnsibleコードあり]
(/blog/VULTR-server-ssd-vps-easy-to-use/)』
を使うと捗ると思います!
🎉 AnsibleをMacに導入
MacでAnsibleを使えるようにする最低限のコマンド。
# Pythonのインストール |
もう少しPythonの開発環境をしっかり構築したい場合は、拙著『Python開発環境構築 徹底解説[pyenv, Mavericks]』を良かったらご覧ください!
🐝 Ansibleの実行手順
まずは『morizyun/centos_ansible_rails - GitHub』
のコードを入手。
git clone https://github.com/morizyun/centos_ansible_rails.git |
hosts_production
にIP、URSER名、SSH鍵のパスを設定する。
vi hosts_production |
次のような内容を追記。
[web] |
また、playbook_production.yml
の設定を変更。
vars: パラメータなど |
設定画完了したら、次のコマンドを実行してhostsを読み込み。
export ANSIBLE_HOSTS=./hosts_production |
ついに実際にAnsibleのコードを実行。sshのログインユーザーのsudoパスによって2種類あります。
(A) sshでログインするユーザーがsudoになる時にパスワードが必要ない場合は、次のコマンドを実行。
ansible-playbook ./playbook_production.yml |
(B) sshでログインするユーザーがsudoになる時にパスワードが必要な場合は、次のコマンドを実行。
実行すると最初にsudoのパスワードを聞かれるので入力。
ansible-playbook ./playbook_production.yml -K |
🗻 お願い
今回公開したコードは、力技で逃げているだけの部分も多いのでお気付きの点があればPRよろしくお願いします!
morizyun/centos_ansible_rails - GitHub