サーバ構築備忘録

Raspberry Pi 3にRaspbianをインストール

2016/06/17

LINEで送る
Pocket

まずはOSをインストール

先日Raspberry Pi 3にUbuntu Mate 16.04をインストールしたのですが、ちょっとした事情でRaspbianをインストールしてみました。

以下はその備忘録です。(Ubuntu Mateの記事(こちらこちら)を書き直しているので重複している部分があります。)

Raspbianを直接SDカードに書き込んでもいいのですが、初心者にはNOOBSを使ってインストールすることがおすすめらしいです。
  1. こちらでNOOBSをダウンロード。(NOOBS LITEはRasbianのイメージを含んでいないため、インストール時にダウンロードする必要があるらしい。何回かインストールを試す可能性があるので、ここは素直にNOOBSを選択)。
  2. こちらからFAT32フォーマッタをダウンロードしてSDカードをFAT32でフォーマットする。(64GBのSDカードだと標準だとexFATになってしまうため)
  3. 1でダウンロードしたZIPファイルの中身をSDカードの直下にコピーする。
できたSDカードをraspberry Piに挿しこみます。
  1. キーボード、マウス、HDMIケーブル、LANケーブルという最低限のモノだけを接続して電源を入れてみます。
  2. OSの選択画面が出るのでRaspbianを選択してInstall。
  3. SDカードの中身がすべて上書き消去されるがよいかと聞かれるのでYes。
  4. しばらく待っているとOSのインストールが終わったという表示がされるのでOK。再起動される。
Raspbianが起動されるのでセッティングをしていきます。
  • まずはアップデート。
    >sudo apt-get update
    >sudo apt-get upgrade
    >sudo rpi-update
    >reboot
  • LX Terminalを起動して
    >sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname uim uim-anthy jfbterm
    >reboot
  • Menu → Raspberry Pi Configuration → Localisation → Set Locale で Language:ja(Japanese) Country:JP(Japan) Character Set:UTF-8 を選択してOK。
  • 同じくSet Timezone で Area:Japan を選択してOK。
  • 同じくSet Keyboard で Country:Japan Variant:Japanese を選択してOK。
  • 同じくSet WiFi Country で JP Japan を選択してOK。
    ここでいったんリブート。
  • 同じくRaspberry Pi Configuration → System で Login as user 'pi'のチェックを外しておく。
  • LX Terminalを起動して
    >sudo passwd root
    でrootのパスワードを設定する。
    >passwd
    でpiのパスワードを変更する。
    >sudo adduser hogehoge
    でユーザhogehogeを追加する。
    >sudo gpasswd -a hogehoge
    でユーザhogehogeがsudo出来るようにする。
    >sudo gpasswd -d pi
    でユーザpiがsudo出来ないようにする。
    >sudo vi /etc/sudoers
    の最下行の
    pi ALL=(ALL) NOPASSWD: ALL
    の先頭に#を付けてコメントアウトする。
OSのインストールと設定はとりあえずこのくらいで完了。

 

USB-HDDの接続

 まずはUSB-HDDが認識されているか確認

sudo fdisk -l

を実行すると

Device      Boot        Start             End         Sectors        Size  Id  Type
/dev/sda1               2048 1953525147 1953523120   931.5G  83  Linix

というように表示されているはずです。

 自動マウントの設定

マウント先を/dataにします。

>sudo mkdir /data

誰でも書き込みができるようにパーミッションを変えておきます。

>sudo chmod 777 /data

ハードディスクのUUIDを調べてfstabにマウントの仕方を追加します。

>sudo blkid /dev/sda1
/dev/sda1: UUID="03477732-9368-4457-90b1-b3ad65040a39" TYPE="ext4" PARTUUID="1c7849fd-01"

UUIDはHDD各々に個別のIDなので、これをfstabで指定することによりこのHDDをどこにマウントするか固定できます。

>sudo vi /etc/fstab

を実行して、最後に次の行を追加します。

UUID=03477732-9368-4457-90b1-b3ad65040a39 /data ext4 defaults 0 1

これでリブートすればUSB-HDDを自動的に/dataにマウントしてくれます。

念のためにリブートした後で

>df -h

を実行すると

/dev/sda1         917G    72M  871G    1% /data

という行があります。

以上でUSB-HDDに関する作業は完了です。

 

固定IPの設定

Ubuntu MATEと違い設定ファイルをすぐに発見。
>sudo vi /etc/dhcpcd.conf
で最下行に

interface eth0
static ip_address=192.168.11.100/24
static routers=192.168.11.1
static domain_name_servers=192.168.11.1

と追加してrebootすれば固定IPの設定は完了。

念のために

>ifconfig -a

を実行すると

eth0に192.168.11.100が割り当てられていることが確認できます。

 

SSHの設定

まずは、rootのログインを不可にする。

>sudo vi /etc/ssh/sshd_config

28行目の
PermitRootLogin without-password

PermitRootLogin no
にする。

デフォルトではSSHのパスワード認証が可能となっているので、これを公開鍵認証のみに変更する。

>sudo vi /etc/ssh/sshd_config

52行目の
#PasswordAuthentication yes

PasswordAuthentication no
にする。

>sudo systemctl restart sshd

を実行して、先ほどの設定を有効にする。

>ssh-keygen -t rsa
Enter file in which to save the key (/home/hogehoge/.ssh/id_rsa):このままEnter
Enter passphrase (empty for no passphrase):パスフレーズを入力してEnter
Enter same passphrase again:もう一度同じパスフレーズを入力してEnter

ホームディレクトリの下の.sshディレクトリの中にid_rsaという秘密鍵とid_rsa.pubという公開鍵のセットが作られる。

公開鍵の名前とパーミッションを変更する。
>mv .ssh/id_rsa.pub .ssh/authorized_keys
>chmod 600 .ssh/authorized_keys

秘密鍵をクライアントに持ってくる。
(USBメモリを使って持ってくる。)
WindowsからはPuTTYjpを使って接続する。

こちらからPuTTYjpをダウンロードして解凍。
解凍したフォルダにある「puttygen.exe」を実行
「Load」ボタンを押してUSBメモリにあるid_rsaを選択(All Files (*.*))
パスフレーズを入力
「Save private key」をクリックして秘密鍵をローカルディスクに保存する
PuTTY Key Generatorを終了する
「puttyjp.exe」を実行
「PyTTy Configuration」の
  • セッション→取得したドメインのホスト名
  • 接続 → データの自動ログインのユーザ名
  • 接続 → SSH → 認証のためのプライベートキーファイル(上で保存したppkファイル)
  • ウィンドウ → 外観 でフォントをMSゴシック
  • ウィンドウ → 変換 で文字コードの設定をUTF-8
  • セッション → セッション一覧に適当な名前
を設定して保存。
開くをクリックしてパスフレーズを入力しプロンプトが表示されればOK。

 

ダイナミックDNSへの自動登録

SSHでの接続で取得済みのドメイン名を利用したが、これはMyDNS.jpに直接ログインしてIPアドレスを登録したもの。
毎回手動で登録するのは大変なので、raspbianから自動で登録するようにします。

MyDNS.jpにHTTPのベーシック認証でログインすればIPアドレスを更新してくれるのでそれを定期的に実行する。
具体的には

>crontab -e
で最後に
0,30 * * * * wget -q --spider http://マスターID:パスワード@www.mydns.jp/login.html
と追加すればOK。

これで毎時0分と30分にHTTPのベーシック認証でログインします。

wgetの意味はman wgetで。
要はwww.mydns.jpにマスターIDとパスワードでログインするがデータはとってこない。
それに関する情報は表示しないといったところです。

とりあえず今日のところはここまでです。

次はLAMP環境の構築ですが、Ubuntuで構築するかRaspbianで構築するか悩んでます(^^;)

 

jounaldの最大サイズを制限

>sudo vi /etc/systemd/journald.conf

で20行目をアンコメントし
SystemMaxFileSize=50M
に変更する。

有効にするためリブートする。

LINEで送る
Pocket

ランキングリンク

ランキングに参加しています。応援クリックお願いします。
にほんブログ村 その他生活ブログ 断捨離へ

-サーバ構築備忘録
-,