超速でCentOS6.6(さくらのVPS)をセットアップする俺史上最強のFabricスクリプトをさらす
先日公開したはじめてでも爆速でCentOS6.6(さくらのVPS)をセキュアにセットアップする方法まとめの事実上の後編だ。本記事ではセットアップ手順をFabricのスクリプトにして公開する。
Fabricスクリプトのセットアップ
ダウンロード
GitHubで公開してるので、それを取ってこよう。
$ git clone git@github.com:tmknom/setup-centos.git $ cd setup-centos
自分の環境用に設定を変更する
テキストエディタで fabfile.py を開いて、設定を変更しよう。
以下の項目は必ず変更してほしい。
また、次の項目も変更をすることを推奨するぞ。(変えなくても動くけど)
こんな感じの記述が上のほうにあるので探してくれ。
$ vi fabfile.py ######## 基本設定 ######## # 作成する作業用ユーザ USER_NAME = 'your_name' # ← 必ず変更する! # 作業用ユーザのパスワード PASSWORD = 'your_password' # ← 必ず変更する! # rootのメールアドレス ROOT_MAIL_ADDLESS = '' # ← 変更推奨 # 設定するSSHのポート番号 SSH_PORT = '50022' # ← 変更推奨 ######## fabric向け設定 ######## # 接続先のVPSサーバのIPアドレス env.hosts = ["XX.XX.XX.XX"] # ← 必ず変更する!
使用するにあたっての前提条件
このスクリプトは、以下の作業が完了している前提で使用する。
- Fabricのインストール
- SSH公開鍵の作成
未実施の場合は、(参考)事前準備の項目を参考に実施しておこう。
Fabricスクリプトの使い方
基本的な使い方
一番スタンダードなのは setup タスクだ。
$ fab setup
このコマンドを叩くと、ログ監視ツールの導入の部分まで一気にやってくれる。
fail2banなどのセキュリティ系のツールも一気に入れたい場合は、 setup_all タスクを使おう。
$ fab setup_all
ただこの setup_all タスク、本記事公開時点では、tripwireのパスフレーズ入力が自動化できていない。気が向いたら直すけど、とりいそぎは手入力で我慢してね><
ネットワークが遅い場合
全員が該当するかは不明だけど、さくらのVPSでネットワークが遅い場合がある。そんな時は sakura タスクも合わせて実行してみてほしい。
$ fab sakura setup $ fab sakura setup_all
筆者の環境では遅かったので、スクリプト検証中はいつも sakura タスクを併用していた。
ちなみに sakura でやってることは、この記事のコマンドを実行しているだけだ。
その他のタスク
本記事の公開時点で提供しているタスクは全部で5つだ。
$ fab --list Available commands: install_security_tools sakura setup setup_all setup_min
setup_min タスクでは、システムの最新化と自動更新までを実行する。logwatchとか勝手に入れんじゃねぇ!って人は試してみてほしい。
$ fab setup_min
install_security_tools タスクでは、セキュリティ系ツールのインストールのみを実行する。
$ fab install_security_tools
setup タスクでセットアップしたけど、あとからセキュリティ系ツールも入れたいなぁって時に使ってほしい。
ちなみに、↓の二つのコマンドはやってることは同じだ。
$ fab setup_all $ fab setup install_security_tools
まとめ
setup タスクを使うと、まっさらな状態から1分程度でセットアップが完了するようになった!ヽ(´ー`)ノ
setup_all タスクでも5分程度で完了してとっても捗るぞ!
まだまだ発展の余地はてんこ盛りなので、好きなようにアレンジして活用してほしい。
最新のソース置き場
GitHub - tmknom/setup-centos: CentOSをセットアップするスクリプト
(参考)事前準備
Fabricのインストール
Fabricが必要なので、入れてない場合はインストールしよう。MacだとHomebrewでインストールできた。
$ brew install fabric $ fab -V Fabric 1.10.1
SSH公開鍵の作成
SSH公開鍵は作成されてる前提でスクリプトは作っている。ない場合は作成しておこう。
$ ssh-keygen -t rsa -C "your_email@example.com"
また、公開鍵は、デフォルトの ~/.ssh/id_rsa.pub を前提としている。違う公開鍵を使いたい人は、直接スクリプトを編集してほしい。