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を使えるようにする最低限のコマンド。
1 2 3 4 5 6 7 8 |
|
もう少しPythonの開発環境をしっかり構築したい場合は、拙著『Python開発環境構築 徹底解説[pyenv, Mavericks]』を良かったらご覧ください!
Ansibleの実行手順
まずは『morizyun/centos_ansible_rails - GitHub』 のコードを入手。
1 2 |
|
hosts_production
にIP、URSER名、SSH鍵のパスを設定する。
1
|
|
以下のような内容を追記。
1 2 3 4 5 |
|
また、playbook_production.yml
の設定を変更。
1 2 |
|
設定画完了したら、以下のコマンドを実行してhostsを読み込み。
1
|
|
ついに実際にAnsibleのコードを実行。sshのログインユーザーのsudoパスによって2種類あります。
(A) sshでログインするユーザーがsudoになる時にパスワードが必要ない場合は、以下のコマンドを実行。
1
|
|
(B) sshでログインするユーザーがsudoになる時にパスワードが必要な場合は、以下のコマンドを実行。 実行すると最初にsudoのパスワードを聞かれるので入力。
1
|
|
お願い
今回公開したコードは、力技で逃げているだけの部分も多いのでお気づきの点があればPRよろしくお願いします!
morizyun/centos_ansible_rails - GitHub