このサイトはRaspberry Pi+Bにwordpressをインストールして、自宅から公開しています。
そのサーバをAnsibleを使ってセットアップした手順をメモ。セキュリティの都合上、アクセス制御関連は記載していません。
長くなるので、数回に分けて記載します。今回はansible-playbookを実行する直前までです。環境は以下の通りです。
ハードウェア
・Raspberry Pi Model B+
・外付けHDDドライブ(USB)
OS
・RASPBIAN JESSIE LITE(Raspbian GNU/Linux 8.0)
Ansibleサーバは存在し、鍵ペアは作成済みで公開鍵をAnsibleサーバに配置済みの前提です。詳しくは「Raspberry PiをAnsibleで管理する」をご覧ください。
コンソールログイン
モニタとキーボードをつなげて、コンソールログインします。
raspbianのデフォルトユーザーアカウントである”pi”を使用します。
User: pi
Pass: raspberry
rootユーザにsuします。
sudo su -
ネットワーク設定
インタフェース”lo”と”eth0″のIPアドレス設定を行います。
vi /etc/network/interfaces
ファイルの内容は以下の通り。
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address xxx.xxx.xxx.xxx netmask 255.255.xxx.xxx gateway xxx.xxx.xxx.xxx
※編集後”:wq”で保存
raspi-configでディスク領域を拡張
OSイメージを書き込んだままの状態だと、SDカード全ての容量を使用できていないので、raspbianの設定ツールraspi-configを使用して最大容量まで拡張します。
raspi-config
“1 Expand Filesystem”を選択しEnter
容量拡張後、OS再起動を促すメッセージ”Would you like to reboot now?”が表示されるのでを選択しEnter
ssh接続
Raspberry pi起動後、ネットワークの設定が誤っていなければリモートホストからsshログインが可能になるので、ネットワークに接続し、リモートホストからsshでログインします。
ansible用ユーザ作成と設定
Ansibleを使用するための任意の名前でユーザを作成します。ここでは”ansible”としています。
useradd -m ansible passwd ansible
“useradd”コマンドの-mはホームディレクトリを作成するオプションです。
sudo設定
ansible用ユーザにsudo権限を付与します。併せて、piユーザーのsudo権限を剥奪しておきます。
vi /etc/sudoers
ここは本来visudoで設定すべきですが、デフォルトのエディタがnanoになっているらしく、使い方がよくわからなかったのでviで編集しました。
#%sudo ALL=(ALL:ALL) ALL #pi ALL=(ALL) NOPASSWD: ALL ansible ALL=(ALL:ALL) ALL
※編集部分のみ記載。#で始まる行はコメントイン
rootユーザーのパスワード設定
rootユーザのパスワードを設定しておきます。
passwd
鍵認証の準備
一度ログアウトして、5.で作成したansible用ユーザーでログインしなおします。そして、Ansibleサーバ側から鍵認証でアクセスするための公開鍵を設置します。
cd ~ mkdir .ssh chmod 700 .ssh cd .ssh vi authorized_keys chmod 600 authorized_keys
※viコマンド実行後は、公開鍵を貼り付けして保存
一旦ログアウトし、Ansible用ユーザにて鍵認証でログインします。ログイン成功すれば、公開鍵の設置は問題ありません。
不要ユーザ削除
デフォルトで作成されているpiユーザーは不要なので、削除しておきます。
$ sudo userdel -r pi
以上でansible-playbookを実行する前準備は完了です。続きは次回!