LoginSignup
16
28

More than 5 years have passed since last update.

Raspberry Pi 3, Raspberry Pi Zero W を電源ケーブルだけでセットアップ 20180113 版

Last updated at Posted at 2018-01-13

概要

Raspberry Pi 3, Raspberry Pi Zero W の初期設定 20180113 版. 後半はほぼ自分用メモ :)

  1. つなぐのは電源だけ(イーサケーブルやキーボード等はつながない)
  2. ssh と WiFi をあらかじめ有効にして初回起動
  3. 最低限のセキュリティ設定(パスワード変更と ssh 関連)
  4. Raspberry Pi 3 と Raspberry Pi Zero W でテスト済み

以下, セットアップ手順.

PC での作業

イメージをダウンロード

ブラウザで Download Raspbian for Raspberry Pi にアクセスして 2017-11-29-raspbian-stretch-lite.zip をダウンロード.

microSD にイメージを書き込み

Etcher で 書き込み. 書き込み終了後 microSD を抜き差しして再度マウント.

以下, /Volumes/boot は PC にマウントした microSD.

ssh を初回起動から有効にする

ssh という空のファイルがあると初回起動時から ssh が有効になる.

touch /Volumes/boot/ssh

WiFi を初回起動から有効にする

/Volumes/boot/wpa_supplicant.conf というファイルを作って SSIDPASSWORD を書いておく

PASSWORD については, 初回起動後に wpa_passphrase で平文からハッシュ値に修正予定. 他のマシンで wpa_passphrase してハッシュ値を書いておいても OK.

/Volumes/boot/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
    ssid="SSID"
    psk="PASSWORD"
}

microSD を PC からアンマウント.

最低限のセキュリティ設定

ここから Raspberry Pi での作業.

ssh で接続

microSD を Pi に挿して電源をつなぐ. 1 分くらい待って,

ssh pi@raspberrypi.local

デフォルトパスワードは raspberry. つながらない場合は PC での作業を再度確認.

デフォルトパスワードの変更

passwd

~/.ssh を作る

ssh の公開鍵認証を有効にするため Pi 側に ~/.ssh フォルダを作っておく

ssh-keygen

PC にある公開鍵を Pi にコピー

PC のターミナルを開いて scp で PC の公開鍵 id_rsa.pub を Pi の authorized_keys にコピー.

scp ~/.ssh/id_rsa.pub pi@raspberrypi.local:~/.ssh/authorized_keys

念のため ~/.ssh/* のパーミッションや所有者が適切かどうか確認しておく.

公開鍵認証でログインできるか確認

一旦 Pi からログアウトして

ssh pi@raspberrypi.local

でパスワード入力なしでログインできれば OK.

sshd の設定

sudo nano /etc/ssh/sshd_config

ポート変更とパスワード認証不可に設定. 該当する行のコメントアウトを外して修正.

Port 10022
PasswordAuthentication no

修正後 Pi を再起動

sudo reboot

Pi が起動するのを待って再度 PC からログイン. ただしポートは 10022.

ssh -p 10022 pi@raspberrypi.local

無線 LAN ルータのパスワードが平文で書かれているのを修正

wpa_passphrase SSID

して psk=英数字列 の行をコピーしておく.

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

して psk="平文パスワード" の行を消して, 先程コピーしておいた psk=英数字列に変更. Pi 再起動.

ひとまずアカウントとパスワード関連はここまで. 出来ればデフォルトユーザの pi も変えたほうがよい.

raspi-config の設定

sudo raspi-config

2 Network Options - N1 Hostnamepi3pizero などに変更.
4 Localisation Options - I1 Change Localeja_JP.UTF-8 を選択. 次のページは C.UTF-8 を選択(ja_JP.UTF-8 でも OK).
4 Localisation Options - I2 Change TimezoneAsia, Tokyo を選択.
7 Advanced Options - A1 Expand Filesystem で microSD 全体を使えるようにする.
Pi 再起動.

df -h で使える microSD の容量が増えていることを確認.

ホスト名を変更したので, 再起動以後は以下のように接続(pi3 の場合)

ssh -p 10022 pi@pi3.local

システムのアップデート

とりあえずやっておく.

sudo apt-get update
sudo apt-get upgrade

通常の設定

スワップを無効化

free
sudo swapoff --all
sudo apt-get remove dphys-swapfile
sudo reboot

再度ログインして free でスワップが無効化されていることを確認.

/tmp を RAM ディスクにする

df -h
sudo nano /etc/fstab

/etc/fstab の末尾に以下を追加. とりあえず 256 MB くらいにして様子見.

tmpfs           /tmp            tmpfs   defaults,size=256m 0       0

Pi 再起動. 再度ログインして df -h/tmptmpfs になっていることを確認.

USB メモリを自動マウント (usbmount)

sudo apt-get install usbmount
sudo nano /etc/usbmount/usbmount.conf

FS_MOUNTOPTIONS を以下のように指定すると日本語ファイル名が表示可能.

FS_MOUNTOPTIONS="-fstype=vfat,iocharset=utf8,codepage=932,uid=pi,gid=pi,dmask=000,fmask=011"

systemd-udevd.service を修正.

sudo nano /lib/systemd/system/systemd-udevd.service

このページによると, 以下のようにしないとマウントされないらしい.

MountFlags=shared

Pi 再起動. VFAT フォーマットの USB メモリを挿して /media/usb0 にマウントされることを確認. 日本語のファイル名も見えてるはず.

サーバ関連のインストール

Samba のインストール

sudo apt-get install samba
sudo nano /etc/samba/smb.conf

末尾に以下を追加.

[pi3usb0]
path = /media/usb0
read only = No
guest ok = Yes
force user = pi

Pi 再起動. PC からゲストで接続できれば OK.

apache2 のインストール

このページを参考に.

sudo apt-get install apache2
sudo cp -p /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/default.conf
sudo nano /etc/apache2/sites-available/default.conf

以下を追加.

    #DocumentRoot /var/www/html
    DocumentRoot /media/usb0

    <Directory /media/usb0/>
      Options Indexes FollowSymLinks
      AllowOverride None
      Require all granted
    </Directory>

000-default を無効にして default を有効にする.

sudo a2dissite # 000-default を入力
sudo a2ensite # default を入力

/etc/apache2/sites-enableddefault.conf だけがあることを確認.

ls -l /etc/apache2/sites-enabled
total 0
lrwxrwxrwx 1 root root 31 Jan 13 21:13 default.conf -> ../sites-available/default.conf

Pi 再起動. ブラウザから http://pi3.local/ で確認.

クライアント関連のインストール

GNU Screen のインストール

sudo apt-get install screen
nano ~/.screenrc

以下の内容でファイル作成.

# Encoding
defencodig utf-8

# Prefix Key
escape ^Jj

# set scrollback
defscrollback 1000000

# Delete start up screen
startup_message off

# Enable Auto detach
autodetach on

# alternate screen
altscreen on

# Enable mouse scroll
termcapinfo xterm* ti@:te@

screen を実行して Ctrl-j d でデタッチして screen -r でアタッチ出来ることを確認.

GNU Emacs のインストール

Yes, I’m old school.

sudo apt-get install emacs
emacs ~/.emacs.d/init.el

以下を書き込む.

(set-language-environment "Japanese")

(setq inhibit-startup-message t)
(setq initial-scratch-message "")

(menu-bar-mode -1)
(tool-bar-mode 0)

以上

16
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
28