Raspberry Pi　初期設定

#追記
久々にraspiをいじったところ色々と変わっていたので[こちら](https://qiita.com/sigma7641/items/4b44b44802b236bccf4a)にまとめました。ヘッドレス(モニタやキーボードなし)でsshをできるようにしていますが、モニタがある場合も基本的には同じだと思います。

# 目的

最近Raspberry Piを始めました。文鎮化するたびにいくつもサイトを回っていつも使う設定するのが面倒になったので自分用にまとめを作ります。  

# 項目

- 下準備
- 本体の設定とアップデート
- vimのインストール
- ipアドレスの固定
- ファイル共有のためのsambaの設定
- webべースの設定で使えるwebminのインストール

# 下準備

## 用意するもの（ハード）

- Raspberry Pi 3 Model B(以下raspi)
    - 本体
- SD card
    - OS（Raspbian）を焼きます
- HDMIケーブル
    - ディスプレイとraspiの接続に使います
- キーボード
    - USB接続できるもの
    - raspiに直接つないで設定します
- ディスプレイ
    - HDMI接続できるもの
    - たいていTVで代用できます
- インターネット環境
    - アップデートやインストールなどもろもろに必要です
- PC
    - SDカードにOSを焼くときに必要です
    - SDカードが利用できるものです。
    - windows想定で書きます。

## 用意するもの（ソフト）

- [Raspbian](https://www.raspberrypi.org/downloads/raspbian/)
    - Raspbian Stretch Lite
    - を想定していますがRaspbian Stretch with desktopやRaspbian Stretch with desktop and recommended softwareでもできるはずです。
- [SDメモリカードフォーマッター](https://www.sdcard.org/jp/downloads/formatter_4/index.html)
- [Win32DiskImager](https://sourceforge.net/projects/win32diskimager/)


## SDカードにOSを焼く

### フォーマット

まず、SDカードをフォーマットします。SDカードをPCに入れて、**SDメモリカードフォーマッター**を立ち上げてください。
![SDカードフォーマッタ.png](https://qiita-image-store.s3.amazonaws.com/0/308715/050bffdf-c8c6-6805-eb23-ef1876f9821a.png)
フォーマットします。
![スクリーンショット (13).png](https://qiita-image-store.s3.amazonaws.com/0/308715/ecabcf3a-59dd-31b2-850f-3a2f3065c95c.png)

### OSを焼きます

Win32DiskImagerを立ち上げて、フォルダのマークをクリックして用意してあったRaspbianのimgファイルを選択してください。準備ができたらWrite。
![スクリーンショット (14).png](https://qiita-image-store.s3.amazonaws.com/0/308715/54ff8e86-9692-dd5f-1130-97a7ba221670.png)

終わったら、下準備は完了です。

# 本体の設定とアップデート


raspiにSDカードを入れて電源を入れてください。Raspbian Stretch Liteでなければデスクトップが立ち上がるはずです。マウスを持っている人は英語で設定のためのウィンドウが自動で開くのでそれに従っても大丈夫です。しかし、今回はマウスを用意していないので、ctl+alt+tで端末を起動します。

まずは、パスワード設定や、ネットワークをつなぎます。

```bash
sudo raspi-config
```
で、設定画面を開きます。

## パスワード設定

パスワード設定のためには、**１**の**Change User Password**を選択します。2回入力を求められるので入力してください。入力しても文字は表示されません。

## Wi-Fi設定

wi-fi設定のためには**2**の**Network Options**を押してください。**N2**のWi-Fiを選択。アルファベットで国名一覧が表示されるので日本に住んでいる方は**JP Japan**を選択します。SSIDを入力してPassワード入力してください。イーサネットがあってつなげられる場合はいりません。

## タイムゾーン設定

**4**の**Localisation Options**の**I1**で日本語に設定することができますが追加で設定をしないと大量の豆腐に囲まれる可能性があります。**I2**で住んでいる国のタイムゾーンに設定できます。日本の場合は**Asia**で**Tokyo**を選んでください。Japanはありません。


## 本体のアップデート

```bash
# 本体のアップデート
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
# ファームウェアのアップデート、必要がない場合はやらなくていいです。
sudo apt-get install -y rpi-update
sudo rpi-update
```
これで、本体のアップデートは完了です。

# vimのインストール

信者ではないですが私はこれを使っています。エディターなので好きなものを入れてください。

```bash
sudo apt-get install vim
```

# ipアドレスの固定

複数台のraspiとsshを利用するので固定しています。1台の場合は固定しなくともrasberrypi.localで十分かもしれません。固定する場合は**/etc/dhcpcd.conf**に以下の文を追加してください。

```bash
interface wlan0 #wi-fiの設定
 static ip_address=192.168.1.xx/24 #固定したいipアドレス
 static routers=192.168.1.1 #ルーターのアドレス
 static domain_name_servers=192.168.1.1 #ルーターのアドレス

 interface eth0 #イーサネットの設定　wi-fiと同じ
 static ip_address=192.168.1.xx/24
 static routers=192.168.1.1
 static domain_name_servers=192.168.1.1
```

# sambaの設定

```bash
sudo apt-get -y install samba #インストール
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old #バックアップをとります
```
/etc/samba/smb.confの最下部に以下の文を追加してください。

```
[raspberrypi]
   comment = Raspberry Pi
   path = /home/pi #接続したときに初めに開くpathです。
   guest ok = yes
   read only = no #新規ファイルを作ったり編集可能にします。
   browsable = yes
   force user = pi #どのユーザーで入るのかを決めます。
```

sambaのユーザーを作ります。

```bash
sudo smbpasswd -a pi
sudo service smbd restart
```

ここまで、できれば同じネットワークにつながったパソコンのエクスプローラに**\\\\192.168.1.xx**と入れれば**/home/pi**と接続することができます。

- 参考にしたページ
    - [Raspberry Pi 3 に Samba 4.2 をインストール](https://blog.smallserver.jp/raspberry-pi-3-%E3%81%AB-samba-4-2-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/)
    - [第14回 Raspberry Piのファイルサーバ設定をする](https://tool-lab.com/make/raspberrypi-startup-14/)

# webminの設定

そのままでは、apt-getでインストールできないのでリポジトリを追加します。
**/etc/apt/sources.list**の最下部に以下の文を追加します。

```bash
deb https://download.webmin.com/download/repository sarge contrib
```

これを使えるようにします。

```bash
sudo su -
cd /root
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc
exit
sudo apt-get install apt-transport-https
sudo apt-get update
```

あとは、

```bash
sudo apt-get install webmin
```
でインストールができます。**https://192.168.1.xx:10000/**にブラウザで接続すればwebminを使えます。

- 参考にしたページ
    - [GUI管理ツールWebminをインストールする](https://support.conoha.jp/v/guiwebmin/)
    - [Raspberry Pi アプリのリモート開発(準備編)](https://qiita.com/b-wind/items/06a9cce8fc9d1ab47047)