Ansible でノート PC を構築するときの備忘
前情報
うちのノート PC は、OS に Lubuntu を使っています。壊れたりして、初期化が必要になったら、Lubuntu インストール後に Ansible を使って初期設定するようにしてます。
なお、初期化に必要な設定ファイル(.vimrcとか、.tmux.confとか)は、bitbucketに置いています。Ansible playbook も bitbucket に置いてます。
今回試した環境(2017/5/1)
- Lubuntu 16.04.2 LTS
- ansible 2.3.0.0
Ansible を実行するために
Lubuntu をインストール後に、Ansible を実行するまでの手順が必要です。そこは、自動化できないので、備忘として記載しておきます。
SSHD インストール
Lubuntu には openssh-server が入っていないので、インストールします。
$ sudo apt install openssh-server
Ansible インストール
まずは、どのversionがインストールされるか確認
$ sudo apt show ansible
バージョンが2.1.0以上であることを確認します。 2.1.0より低かったり、パッケージが見つからない場合は、リポジトリを追加します。
$ sudo apt-add-repository ppa:ansible/ansible $ sudo apt update
その後、インストールして、バージョンを確認します。
$ sudo apt install ansible $ ansible --version
bitbucket の SSH key 作成
Ansible playbook 内で設定ファイルをgit cloneするときに必要なため、SSH鍵を作成して bitbucket に登録しておきます。bitbucket専用の鍵にしたいので、鍵の移動と名前も変更しておきます。
$ ssh-keygen $ mkdir ~/.ssh/bitbucket/ $ mv ~/.ssh/id_rsa* ~/.ssh/bitbucket/ $ cd ~/.ssh/bitbucket/ $ mv id_rsa bitbucket.id_rsa $ mv id_rsa.pub bitbucket.id_rsa.pub
bitbucket.id_rsa.pub
をbitbucketのSSH keyとして登録します。その後、~/.ssh/config
にコンフィグを記載しておきます。
Host bitbucket.org HostName bitbucket.org IdentityFile ~/.ssh/bitbucket/bitbucket.id_rsa User git
Ansible playbook ダウンロード
構築用のAnsible playbookをどこかのディレクトリに適当に配置
SSH でのアクセス設定
SSH Agentを起動し、自ホスト向けの鍵を登録しておきます。
$ ssh-keygen $ eval `ssh-agent` $ ssh-add ~/.ssh/id_rsa
自ホストからのSSHアクセス用の公開鍵を登録します。
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys $ chmod 600 .ssh/authorized_keys
SSH鍵で自ホストにログインできることを確認、うまく言っていればパスワードを聞かれずにログインできます。
$ ssh <user>@127.0.1.1
playbook 実行
playbookのディレクトリに移動し、以下を実行。site.ymlの設定を確認して、対象のホストに間違いがないかは見ておく必要ありです。
ansible-playbook -i production site.yml --ask-sudo-pass