Raspberry pi でWi-Fi設定からdockerの導入まで

## はじめに
Raspberry piをググりながらいろいろいじってみたときに得た知見のメモ。

具体的な内容は
- cuiでwifi接続
- 複数Wifi環境の個別設定
- 時刻を合わせる
- ユーザ作成
- dockerの導入
- docker-compose の導入

などなど。
より詳しく知りたいときは各項目の参考にしたサイトを参照。

## cuiでwifi接続

### wifi情報の設定


```
sudo vi /etc/wpa_supplicate/wpa_supplicant.conf
```
以下を記述

```
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
  ssid="ssid" #接続する予定のWi-FiのSSID""で括る
  #psk="password" #最後に消す
  psk=hogehogehogehogehogehogehogehogehogehogehoge　#暗号化されたパスワード
}
```

### パスフレーズの暗号化

PSK暗号化は同じくTerminalにて以下のコマンド書式です。MacやWindowsではできませんので、他のRaspbian環境にて用意してください。

```
wpa_passphrase "XXXX(SSID)" "hogehoge(PASSWORD)"
```

上のコマンドの出力をコピペでもいいが，以下のコマンドから追記をすることも可。

```
sudo wpa_passphrase "SSID" "pass" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf
```


### dhcpで固定IPの設定

```
sudo vi /etc/dhcpcd.conf
```

以下を最下部に追記

```
interface wlan0
static ip_address=192.168.1.23/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
```
wi-fiなのでwlan0としているが，有線LANならeth0




参考
- [Raspbian のWi-Fi設定（Raspberry Pi 初期設定）
](https://raspida.com/wifi4raspbian)


## 複数Wifi環境の個別設定

下記のようにファイルを編集することで複数Wifi環境の個別設定することができた。
詳しくは参考サイトを参照。

```/etc/wpa_supplicant/wpa_supplicant.conf
network={
  ssid="ssid1" #接続する予定のWi-FiのSSID""で括る
  psk=hogehogehogehogehogehogehogehogehogehogehoge　#暗号化されたパスワード
  key_mgmt=WPA-PSK
}
network={
  ssid="ssid2" #接続する予定のWi-FiのSSID""で括る
  psk=hogehogehogehogehogehogehogehogehogehogehoge　#暗号化されたパスワード
  key_mgmt=WPA-PSK
}
```

```/etc/network/interfaces
iface eth0 inet manual

allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
```

```/etc/dhcpcd.conf
interface wlan0
ssid SSID1
static ip_address=192.168.1.23/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

ssid SSID2
static ip_address=192.168.20.30/24
static routers=192.168.20.1
static domain_name_servers=192.168.20.1
```

参考
- [RaspberryPi で複数 Wifi 環境に個別設定を行う方法](http://kouki-hoshi.hatenablog.com/entry/2016/07/16/153836)


## 時刻を合わせる

```
date --set='2018/7/8 19:50:00
```

## ユーザ作成
ユーザの作成は以下

```
$ sudo adduser username
ユーザー `hogehoge' を追加しています...
新しいグループ `hogehoge' (1001) を追加しています...
新しいユーザー `hogehoge' (1001) をグループ `hogehoge' に追加しています...
ホームディレクトリ `/home/hogehoge' を作成しています...
`/etc/skel' からファイルをコピーしています...

新しい UNIX パスワードを入力してください:（パスワードを入力）
新しい UNIX パスワードを再入力してください:（もう一回入力）
passwd: password updated successfully
Changing the user information for hogehoge
Enter the new value, or press ENTER for the default
        Full Name :（特に入力する必要がなければそのままEnter）
        Room Number :（同上）
        Work Phone :（同上）
        Home Phone :（同上）
        Other []:（同上）
以上で正しいですか? [Y/n] y
```

sudo権限の付与をするには

```
$ sudo gpasswd -a hogehoge sudo
```

## dockerの導入

```$ curl -sSL https://get.docker.com | sh```

非root状態でも利用するには

```$ sudo usermod -aG docker [username]```

を実行後に再ログイン


参考
- [Raspberry PiにDockerを入れる](https://qiita.com/hisurga/items/7aca7484ac5bfd084294)



## docker-compose の導入

```
$ git clone https://github.com/docker/compose.git
$ cd compose
$ docker build -t docker-compose:armhf -f Dockerfile.armhf .
$ docker run --rm --entrypoint="script/build/linux-entrypoint" -v $(pwd)/dist:/code/dist -v $(pwd)/.git:/code/.git "docker-compose:armhf"
```

dist の下にdocker-compose が作成されるのでコピー


```
sudo cp dist/docker-compose-Linux-armv7l /usr/local/bin/docker-compose
```

参考
- [Raspberry Pi 3にdocker-composeを入れる](https://qiita.com/katsusuke/items/beec05e1afcd67ebd3dc)