*

Raspberry Pi 2(Raspbian) 初期設定

公開日: : 最終更新日:2015/10/29 投稿者:raru Linux, サーバ

性懲りもせずにRaspberry pi2を購入しました。
初代に比べて相当スペックが向上しており、4coreのメモリ1GBです。
さくらのVPSの1GBプランよりはこちらの方が性能が良いかもしれませんね(固定IPがないですが)

今回は以下の流れです。
・OS準備などraspberry piのセットアップ準備
・インストール
・OS初期設定

購入と準備

購入商品一覧

まずは今回私が購入したもの一覧。

raspberry pi2購入物

raspberry pi2購入物

本体、ケース、電源、SD、無線用USBアダプタになります。
無線用USBは後から見たら150Mbpsでした。ん〜……、このご時世では少し不満。他のにすればよかったと後悔です。
初代のraspberry piであればcpuの貧弱さからこれぐらいでも処理しきれなさそうだからよかったかも?
どちらにせよ、今もI/Oはmicro sdなので案外大丈夫なのかもしれません。

で、今回購入したケースを組み立てたのが以下。

raspberry pi2ケース組み立て

raspberry pi2ケース組み立て

わりとおしゃれです。
5枚くらいのプレートで挟み込む感じでした。CPUに取り付ける柔毛みたいなものも付いていました。
これで熱処理効率がupしますね。
ただこのケース、埃とか普通に入るのでそこのところをどうするか悩みどころです。

もろもろの準備

SDのフォーマットやOSの書き込みなど、まずは準備が必要になります。
細かい準備は初代のraspberry piと同じでしたのでこちらを参照してください。
私自身がいろいろ忘れてて自分の記事を参考にしました。

OS (Raspbian)のインストール

今回はRaspbianをOSとして採用しました。
本当はpidoraがよかったのですが、どうもpidoraの更新が止まっていそうなのと、raspberry pi2にいまいち対応しきれていないという情報を入手しました。
さすがに動作不安定だと設定時に問題の切り分けがしづらいですし、OSレベルで不可能なことがでそうなのでpidoraは諦めます。

では、さっそくRaspbianのインストールを行います。

1. Expand Filesystem <- 選択して/のパーティション拡張
2. Change User Password <- ユーザのパスワード変更
3. Enable Boot to Desktop/Scratch <-デフォルトのCUIに
4. Internationalisation Options <- ja_JP.UTF-8, asia/tokyo
5. Enable Camera <- 設定しない
6. Add To Rastrack <-参加しない
7. Overclock <- 設定しない
8. Advanced Options <- sshだけ有効化。
9. About raspi-confing <- 特にみない

簡素にはなりますが、Raspbianは起動直後にいろいろと自動で進み最終的には設定画面のようなものが開きます。
そこでは上記のようなメニューが表示されており、そこから初期設定を行います。
今回は上にコメントであるような設定を行いました。

簡単にいくつか補足説明をすると
4番でキーボードの設定も可能ですが、私は表示が文字化けしていて何がなんだかわからなかったのと、今後はsshで繋ぐので特に何も設定していません。
6番は、「みんなでraspberry piの位置を登録しようぜ!」っていう団体?への参加らしく、いやなのでしませんでした。
7番のオーバークロックは熱が怖いのと、初期状態の動作を試したかったので特に設定していません。基本やめておいた方がいいんじゃないかなって思います。

またこの画面で設定を忘れてもコンソールから以下のコマンドを入力することで再度表示可能です。

sudo raspi-config

初期設定

ここから、簡単なOSの初期設定を行います。
redhat (CentOS)に慣れきった私にはややストレスのたまる作業になりました。
ファイルが所定の位置にないこととはこんなにもストレスなのですね。

またここからはsshで接続して行っていますが、初期ではpiというユーザが存在しています。
そのユーザでアクセスしましょう。

ネットワーク(Nic)設定

まずはraspberry piに固定IPを振ります。
今回は自宅の閉じたネットワークに内にあり、publicなネットワークには属さない前提です。

pi@raspberrypi ~ $ sudo cp /etc/network/interfaces /etc/network/interfaces.org
pi@raspberrypi ~ $ sudo vi /etc/network/interfaces
pi@raspberrypi ~ $ sudo vi /etc/network/interfaces
pi@raspberrypi ~ $ diff /etc/network/interfaces.org /etc/network/interfaces
5,6c5,10
< allow-hotplug eth0
< iface eth0 inet manual
---
> #allow-hotplug eth0
> #iface eth0 inet manual
> iface eth0 inet static
> address 192.168.aaa.bbb
> netmask 255.255.255.0
> gateway 192.168.aaa.1

pi@raspberrypi ~ $ sudo /etc/init.d/netwok restart

address部にあるaaaは各々の環境に合わせて設定を行ってください。
raspberry pi以外のパソコンでipを確認すると何を設定すればいいのかわかります。
macであればコンソールからifconfigを行った時にでる192.168.aaa.cccの、aaa部分を引用します。(実際には数字)
windowsであればコマンドプロンプトからipconfigです。
bbbの部分は自分で2〜255の間で好きに設定して構いません。

debianにはserviceコマンドみたいなものはないんでしょうかね?
多分あると思うのですが。

パッケージの更新

次はパッケージを更新します。
debian系では初期状態ではapt-getというコマンドがあります。
で、それとは別にaptitudeというコマンドがあるのですが、raspbianではデフォルトでインストールされているようです。
apt-getが基本にあり、それを拡張したaptitudeみたいなイメージです。
大きな違いはアンインストールするときの挙動で、aptitudeの方が関連するパッケージをちゃんと削除してくれます。
ただaptitudeでインストールしたログがないと綺麗に削除できないようなので、新しく使い始めるのであればaptitudeを利用していきましょう。

pi@raspberrypi ~ $ sudo aptitude update

// 以下 2015/10/27追記
pi@raspberrypi ~ $ sudo aptitude full-upgrade

さっくりと完了です。
full-upgradeの削除の速度がわりと普通だったので、やはり初代raspberry piに比べて2は相当スペックがあがっているのではないでしょうか。
ストレスありません。

<2015/10/27追記>
updateだけでは更新されてませんでした!
upgradeをしないとパッケージリスト更新しているだけでした!
そりゃ早いわけだ!

ユーザ追加

管理用ユーザを追加します。

pi@raspberrypi ~ $ sudo adduser hogehoge
ユーザ `hogehoge' を追加しています...
新しいグループ `hogehoge' (1002) を追加しています...
新しいユーザ `hogehoge' (1001) をグループ `hogehoge' として追加しています...
ホームディレクトリ `/home/hogehoge' を作成しています...
`/etc/skel' からファイルをコピーしています...
新しいUNIXパスワードを入力してください:
新しいUNIX パスワードを再入力してください:
passwd: パスワードは正しく更新されました
hogehoge のユーザ情報を変更中
新しい値を入力してください。標準設定値を使うならリターンを押してください
	フルネーム []: 
	部屋番号 []: 
	職場電話番号 []: 
	自宅電話番号 []: 
	その他 []: 
以上で正しいですか? [Y/n] y

pi@raspberrypi ~ $ sudo /etc/group | grep pi
adm:x:4:pi
dialout:x:20:pi
cdrom:x:24:pi
sudo:x:27:pi
audio:x:29:pi
video:x:44:pi
plugdev:x:46:pi
games:x:60:pi
users:x:100:pi
pi:x:1000:
netdev:x:106:pi
input:x:999:pi
spi:x:998:pi
i2c:x:997:pi
gpio:x:996:pi

pi@raspberrypi ~ $ sudo id pi
uid=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),106(netdev),999(input),998(spi),997(i2c),996(gpio)

pi@raspberrypi ~ $ sudo usermod -G adm,dialout,cdrom,sudo,audio,plugdev,games,users,netdev,input,spi,i2c,gpio hogehoge

行数が多いですが、行っているのはユーザの追加とグループの設定です。
piユーザは初期状態でいくつかのグループに入っているようなので、念のため新規に追加した管理ユーザにも同様のグループへ所属させました。

ここでwheelグループがないと気づいたのですが、debian系ではadmグループがwheelグループにあたるものとして利用されているようです。
またsudoグループというものがあり、このグループに所属している場合にsudoが実行可能になります。

root系権限設定

続いてroot系の権限設定です。

pi@raspberrypi ~ $ sudo passwd root
pi@raspberrypi ~ $ sudo cp /etc/sudoers /etc/sudoers.org
pi@raspberrypi ~ $ ls -l /etc/sudoers*
-r--r----- 1 root root  696  5月  7 07:39 /etc/sudoers
-r--r----- 1 root root  696  9月 20 21:26 /etc/sudoers.org
pi@raspberrypi ~ $ sudo visudo
pi@raspberrypi ~ $ diff /etc/sudoers.org /etc/sudoers
28c28
< pi ALL=(ALL) NOPASSWD: ALL
---
> #pi ALL=(ALL) NOPASSWD: ALL

pi@raspberrypi ~ $ su -
root@raspberrypi:~# cp /etc/pam.d/su /etc/pam.d/su.org
root@raspberrypi:~# vi /etc/pam.d/su
root@raspberrypi:~# diff /etc/pam.d/su.org /etc/pam.d/su
15a16
> auth       required   pam_wheel.so group=adm

// 新規追加ユーザでsudo, su -の動作確認

root@raspberrypi:~# adduser test
root@raspberrypi:~# su - test
test@raspberrypi ~ $ su -
パスワード:
su: 拒否されたパーミッション
test@raspberrypi ~ $ exit
ログアウト
root@raspberrypi:~# userdel -r test
root@raspberrypi:~# userdel -r pi

まずrootユーザにパスワードを設定します。
これでsu -でアクセスができるようになります。

sudoersの設定ではpiからパス無しsudo権限を解除しています。
pam.d/suの設定ではadmグループを管理者管理用グループ指定しています。
これでadmグループのユーザはsu -が実行できるようになります。

また、sudoersファイルの中で %sudoと記載されている部分があります。
ここを%admに変更すると、sudoを実行できるのがsudoグループ配下のユーザではなく、adm配下のユーザに切り替わるはずです。お好みに応じてadmに変更したりしてください。

ここまでできたら新しく通常のユーザを作成し、このユーザがsudo, suを実行できないことを確認できたら完了です。

私はpiユーザを削除しましたが、怖いと感じる方は残しておきましょう。
私はpiユーザという広く知られたユーザがサーバにいることの方が気持ち悪かったです。

iptables設定

最後にiptablesの設定です。

root@raspberrypi:~# aptitude install iptables-persistent
// なんか出てくるが、一から設定するので気にせずOK
root@raspberrypi:~# /etc/init.d/iptables-persistent restart
root@raspberrypi:~# cp /etc/iptables/rules.v4 /etc/iptables/rules.v4.org
root@raspberrypi:~# vi /etc/iptables/rules.v4
root@raspberrypi:~# diff /etc/iptables/rules.v4.org /etc/iptables/rules.v4
3,5c3,9
< :INPUT ACCEPT [13383:1240482]
< :FORWARD ACCEPT [0:0]
< :OUTPUT ACCEPT [7305:742584]
---
> :INPUT DROP [0:0]
> :FORWARD DROP [0:0]
> :OUTPUT ACCEPT [0:0]
> -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
> -A INPUT -p icmp -j ACCEPT
> -A INPUT -i lo -j ACCEPT
> -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
7d10
< # Completed on Sun Sep 20 22:11:09 2015
root@raspberrypi:~# /etc/init.d/iptables-persistent restart

debianではiptables-persistentというのをインストールして利用するみたいです。

今回は内から外は許可して、外から内は全部ドロップ。
22番とping系のみ許可という形にしています。
最小構成っぽい感じですので、あとはお好みに応じて肉付けしてください。

あとがき

本来であればsshの鍵認証設定と、sshd_config周りの設定を行って完了になるのですが、一旦ここまで。
publicに公開するまではこれでも十分だとは思います。

VPSと違ってglobalIPがないので、そういうときの楽しみ方を試行錯誤するのが楽しいですね。
DDNSやルータのポートフォワード設定は簡単だとして、stun,trunサーバを利用したルータ越えの通信設定など行ってみたいです。何かわかってないのでルータ越えにそれが使えるのかすらよくわかりませんが。

少し触っただけですが、raspberry pi2はなかなか動作が軽快です。
学生のサーバ勉強用途としては最強なんではないでしょうか。OSがdebianなのは個人的にはかなり嫌ですがw

購入物




私はファンではないものを購入しましたが、ファンのものを発見しました。静音らしいので、こちらの方がおすすめです。


ファンが別売りでもありましたので、こちらの購入を検討しようと思います。

関連記事

no image

SSL脆弱性/セキュリティ設定

昨今POODLEやらFREAKやらと大きめなOpenSSLの脆弱性が多発していました。 最近では安

記事を読む

no image

CentOSにSSH鍵認証で接続するGitリポジトリを作成

今回友人と共同開発を行なうと思い、ざっくりとGitサーバを建ててみました。 私はSVNの方が好きな

記事を読む

no image

ZabbixでSSL証明書期限チェック

zabbixは初期状態でhttps系の監視が微妙なため、証明書期限の監視設定などを行ってみたいと思い

記事を読む

no image

CentOS 7 で ruby on rails 環境構築

気づいたらCentOS7が出てから時間が立っていました。 そろそろ新しく建てるサーバはCentOS

記事を読む

no image

RaspbianにZabbixをインストール

今回はRaspbianにZabbixをインストールしてみたいと思います。 前回のPidoraでは「

記事を読む

no image

PidoraにZabbix2.2を入れてみた

※完璧な状態ではありません。 こちらの記事のzabbix設定周りを行うと解決する可能性がありま

記事を読む

no image

CentOS6 初期設定

自宅に置いてある安鯖にCentOS6を入れて初期設定を行ないました。 前提条件/設定項目

記事を読む

no image

Raspbianをwheezyからjessieにアップグレード

2015/04頃にdebianのバージョン8 jessieがリリースされたようです。 それに伴い、

記事を読む

no image

RaspbianのZabbix ServerにZabbix Agentをインストール

前回の記事でRaspbianにZabbixサーバをインストールしてみました。 今回はzabbi

記事を読む

no image

SPFの送受信設定

今回はSPFの設定を行います。 SPFとは何かということについてはここでは割愛しますが、メールの送

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑