Raspberry サーバー作成手順メモ

2017.12.04



1  仕様

ハードウェア Raspberry pi  Type B  (ARM1176JZF-S  700MHz  RAM 512MB, 電力3.5W)
OS            jessie-raspbian
ipアドレス (10)にて192.168.1.205に固定


2 手順

(1) raspbian をダウンロード

  https://www.raspberrypi.org/downloads/raspbian/
   
    downloadはなるべくtorrentを使った方が速い。

   ダウンロードのアイコンの下に改ざんチェックのためのハッシュ値SHA-256が表記されている。
   ダウンロードが完了したら次のようにしてハッシュ値が正しいか確認する。
      例 ダウンロードファイルが2016-03-18-raspbian-jessie.zip の場合
  
openssl sha256  2017-11-29-raspbian-stretch-lite.zip


(2) 展開   $ unzip  2017-11-29-raspbian-stretch-lite.zip

(3) SDRAMに書き込み

       SDRAMは  /deb/sdb  32GB   (gpartedで右上のリストをクリックして調べると/dev/sdbということがわかる。たぶん)

   #dd if=2017-11-29-raspbian-stretch-lite.zip  of=/dev/sdb
 
 書き込みが終わったら一度、起動する。(起動する前にgpartedで領域を拡張すると起動しなくなる)

(4) Swap領域の作成(必要に応じて)

    gpartedで領域を作成する。
  /etc/fstabに登録
proc            /proc           proc    defaults          0       0
PARTUUID=117891eb-01  /boot           vfat    defaults          0       2
PARTUUID=117891eb-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that
PARTUUID=117891eb-03  none               swap    sw     0       0


(5) 起動とログイン、初期設定       HDMIとモニターを接続、USBキーボード、MOUOSEを接続

   初期ログインID:pi
    パスワード:raspberry
  キャラクタベースの設定ツール:raspi-config
    windowの起動コマンド:startx
    スーパーユーザ:sudo  su
    終了:shutdown  -h now

 (6) ロケールの設定

  $ sudo su
    # LANG=C
    # raspi-config
 で メニューが出てきたら
 Internationalisation Options を選択、
  Change Locale は ja-JP.UTF-8.UTF-8
    Time zone は Asia →Tokyo
    keybord layout は それなりのを選択して
 再起動するとstartxのメニューなどが日本語になる。


(7)アップデート(のろいので時間がかかる)

  # apt-get update ; apt-get upgrade -y

(8)ユーザーの追加とpiユーザの削除

    # adduser  hogehoge
  hogehogeをpiと同様にsuを使えるように設定する
# cd /etc/sudoers.d
# cp 010_pi-nopasswd 020_hogehoge-nopasswd
020_hogehoge-nopasswdを開いてpiをhogehogeに書き換える
hogehoge ALL=(ALL) NOPASSWD: ALL
 
 piユーザを削除
 
# deluser pi
 再起動してpiで入れないことを確認する

(9)日本語入力とフォントの追加

    # apt-get install ibus-anthy  fonts-takao   fonts-ipaexfont

    いちどx-windowを再起動する
  画面右下の地球とキーボードのアイコンを右クリ→設定→インプットメソッド
  →「日本語」→「Anthy」→追加 の順にクリックする。

  日本語入力のon/offは半角/全角 ボタン

(10)ipアドレスの固定 

エディタとしてvimをインストールしておくとvi より楽。

/etc/network/interfaces
interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

iface eth0 inet manual

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

iface wlan0 inet static
address 192.168.1.205
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1


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


(11) 公開鍵ペアの作成  パソコン側(Raspberryをサーバー側としたとき)でssh-keygenを実行
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hogehoge/.ssh/id_rsa): (その ままEnterを押す。鍵の保存先は.ssh/)
Created directory '/home/hogehoge/.ssh'.
Enter passphrase (empty for no passphrase): (パスフレーズを入力)
Enter same passphrase again: (パスフ レーズを再入力)
Your identification has been saved in /home/hogehoge/.ssh/id_rsa.
Your public key has been saved in /home/hogehoge/.ssh/id_rsa.pub.
The key fingerprint is:
0f:48:8c:4d:89:7b:d9:2c:09:b4:95:cc:2c:22:6c:e0 hogehoge@akagera
The key's randomart image is:
+--[ RSA 2048]----+
|+  ..#oo         |
|oo. +B*          |
|.E .ox+=         |
|    ..=.o        |
|     ...S        |
|         o       |
|          .      |
|                 |
|                 |
+-----------------+

上のssh-keygenを実行するとカレントディレクトリの.sshフォルダに秘密鍵id_rsaと公開鍵id_rsa.pubが作ら れる
これをssh-copy-idコマンドでサーバー(raspberry)に登録する。

$ssh-copy-id -i  ~/.ssh/id_rsa.pub   raspberrypi.local
raspberrypi.localの部分はサーバーのアドレス

(12)パスワードログインの禁止

/etc/ssh/sshd_config の次の2箇所を次のように変更して再起動する。
#PasswordAuthentication yes
 
PasswordAuthentication no


usePAN yes
 
usePAM no



(13)ファイアウォールufwのインストールと設定

下の例はインストールとssh 、httpの通信の許可
$ sudo apt-get install ufw
$ sudo ufw allow ssh
$ sudo ufw enable
$ sudo ufw allow http 


(15)ダイナミックDNS

    ダイナミックDNS無料サイトへの登録 www.mydns.jp
  
   以下はmydnsサイトでhogehoge.mydns.jpというのを登録できたことが前提。

ipアドレス通知用シェルをcrontab で1日1回実行
mydns_sh
#!/bin/bash
/usr/bin/wget -O - 'https://mydns012345:abcdefghijk@mydns.jp/login.html' >/home/hogehoge/mydns_log.html
  上の斜体のmydns012345がID,abcdefghijkがパスワード


パーミションを変更する。(パスワードが入っているので他人に見られないように)
$ chmod  700  mydns_sh


登録シェルを試す
$ ./mydns_sh
mydsn_log.htmlをブラウザで確認する。OKだったらcrontabに登録

crontabで毎日夜中の1:03に実行する例
# m h  dom mon dow   command
3 1 * * * /home/karappi/mydns_sh

(16)lighttpdでrubyのcgiを動かす。

(17)usbドングルwifiを使う