超速でCentOS6.6(さくらのVPS)をセットアップする俺史上最強のFabricスクリプトをさらす

f:id:tmknom:20150117151657g:plain

先日公開したはじめてでも爆速でCentOS6.6(さくらのVPS)をセキュアにセットアップする方法まとめの事実上の後編だ。本記事ではセットアップ手順をFabricのスクリプトにして公開する。

Fabricスクリプトのセットアップ

ダウンロード

GitHubで公開してるので、それを取ってこよう。

$ git clone git@github.com:tmknom/setup-centos.git
$ cd setup-centos

自分の環境用に設定を変更する

テキストエディタfabfile.py を開いて、設定を変更しよう。

以下の項目は必ず変更してほしい。

  • 作業用ユーザ名:USER_NAME
  • 作業用ユーザのパスワード:PASSWORD
  • 接続先のVPSサーバのIPアドレス:env.hosts

また、次の項目も変更をすることを推奨するぞ。(変えなくても動くけど)

  • rootのメールアドレス:ROOT_MAIL_ADDLESS
  • SSHのポート番号:SSH_PORT

こんな感じの記述が上のほうにあるので探してくれ。

$ 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 を前提としている。違う公開鍵を使いたい人は、直接スクリプトを編集してほしい。

(参考)記事公開時点でのソースコード

今後、スクリプトの更新を行うかもしれないので、本記事公開時点でのソースコードを貼り付けておく。ぺたっとな。

https://gist.github.com/tmknom/f2a21f16f2098ce6933d