Raspbianインストール編
B+購入記念にMediaTombとownCloudをインストールして24時間運用してみる。準備したもの
・RaspberryPi ・・・ 1 枚
・SDカード ・・・ 1 枚 (Raspbian用)
・USBメモリ ・・・ 2 本 (MediaTomb用 1本 ownCloud用 1本)
逝っちゃった時の被害を最小限に抑えるため、それぞれ独立させた。
・・・のが有効な方法なのかは不明。
●Raspbianインストール
ホストマシンにSDカードを差し込む
自動認識する場合はアンマウント(全パーティションをアンマウント)
$ umount /dev/mmcblk0p1
ダウンロードしたRaspbianイメージを書き込む
$ sudo dd if=YYYY-MM-DD-wheezy-raspbian.img of=/dev/mmcblk0 bs=1M
固定IPでセットアップするために一旦挿し直す
マウント先のinterfacesファイルを編集
$ sudo vi /media/[マウント先]/etc/network/interfaces
iface eth0 inet dhcp
↓↓
iface eth0 inet static
address 192.168.xxx.yyy
network 192.168.xxx.0
netmask 255.255.255.0
broadcast 192.168.xxx.255
gateway 192.168.xxx.zzz
dns-nameservers 192.168.xxx.zzz
キーボード設定ファイルを編集
$ sudo vi /media/[マウント先]/etc/default/keyboard
XKBLAYOUT="gb"
↓↓
XKBMODEL="jp106"
XKBLAYOUT="jp"
RaspberryPiに挿し込んで、いざ入電!
●Raspbianセットアップ
ホストからラズパイに接続
$ ssh pi@192.168.xxx.yyy
初期設定
$ sudo raspi-config
[ 4 Internationalisation Options ] - [ I1 Change Locale ] - [ [*] ja_JP.UTF-8 UTF-8 ] - [ ja_JP.UTF-8 ]
[ 4 Internationalisation Options ] - [ I2 Change Timezone ] - [ Asia ] - [ Tokyo ]
[ 8 Advanced Options ] - [ A2 Hostname ] - [ 任意のホスト名 ]
[ 8 Advanced Options ] - [ A3 Memory Split ] - [ 16 ]
再起動してから再接続
rootパスワード定義
[HOST]$ ssh pi@192.168.xxx.yyy
$ sudo passwd root
ユーザー作成
$ su -
# useradd -m -s /bin/bash [ 任意のユーザー名 ]
# passwd [ 任意のユーザー名 ]
viを高機能版に変更
# apt-get install vim
# update-alternatives --config editor
⇛ "vim.basic"を選択する
rootログイン禁止、パスワード認証禁止、チャレンジレスポンス認証を許可
# vi /etc/ssh/sshd_config
PermitRootLogin yes
↓↓
PermitRootLogin no
ChallengeResponseAuthentication no
↓↓
ChallengeResponseAuthentication yes
#PasswordAuthentication yes
↓↓
PasswordAuthentication no
ttyの一部を無効化
# vi /etc/inittab
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
↓↓
#2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6
システム&ファーム更新
# apt-get update
# apt-get upgrade
# apt-get autoremove
# rpi-update
不要サービス停止
# update-rc.d dbus disable
# update-rc.d triggerhappy disable
# update-rc.d alsa-utils disable
# update-rc.d lightdm disable
# update-rc.d motd disable
# update-rc.d plymouth disable
# update-rc.d ntp disable
ntpクライアント(ntpdate)インストール&時刻合わせ設定
# apt-get install ntpdate
# vi /etc/default/ntpdate
NTPSERVERS="0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org"
↓↓
#NTPSERVERS="0.debian.pool.ntp.org ...
NTPSERVERS="0.ntp.nict.jp 1.ntp.jst.mfeed.ad.jp 2.ntp.ring.gr.jp"
# crontab -e
0 1 * * * /etc/network/if-up.d/ntpdate > /dev/null 2>&1
アカウントpiを停止するために再起動(作成したアカウントでログインしなおす)
# reboot
[HOST]$ ssh [hogehoge]@192.168.xxx.yyy
$ su -
# passwd -l pi
追加アカウントでsudoが使えるようにする
# visudo
[hogehoge] ALL=(ALL) ALL
fstabを編集しRAMDiskを有効化(/tmpなど をtmpfsへ)
# vi /etc/fstab
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
↓↓
/dev/mmcblk0p1 /boot vfat defaults 0 0
/dev/mmcblk0p2 / ext4 defaults,noatime 0 0
tmpfs /tmp tmpfs defaults,size=32m 0 0
tmpfs /var/tmp tmpfs defaults,size=16m 0 0
tmpfs /var/log tmpfs defaults,size=32m 0 0
仮想メモリ停止
# dphys-swapfile swapoff
# dphys-swapfile uninstall
# update-rc.d dphys-swapfile disable
ログ出力抑制
# vi /etc/rsyslog.conf
(抜粋)
###############
#### RULES ####
###############
#
# First some standard log files. Log by facility.
#
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
#daemon.* -/var/log/daemon.log
#kern.* -/var/log/kern.log
#lpr.* -/var/log/lpr.log
#mail.* -/var/log/mail.log
#user.* -/var/log/user.log
#
# Logging for the mail system. Split it up so that
# it is easy to write scripts to parse these files.
#
#mail.info -/var/log/mail.info
#mail.warn -/var/log/mail.warn
#mail.err /var/log/mail.err
#
# Logging for INN news system.
#
#news.crit /var/log/news/news.crit
#news.err /var/log/news/news.err
#news.notice -/var/log/news/news.notice
#
# Some "catch-all" log files.
#
#*.=debug;\
# auth,authpriv.none;\
# news.none;mail.none -/var/log/debug
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages
#
# Emergencies are sent to everybody logged in.
#
*.emerg :omusrmsg:*
#
# I like to have messages displayed on the console, but only on a virtual
# console I usually leave idle.
#
#daemon,mail.*;\
# news.=crit;news.=err;news.=notice;\
# *.=debug;*.=info;\
# *.=notice;*.=warn /dev/tty8
# The named pipe /dev/xconsole is for the `xconsole' utility. To use it,
# you must invoke `xconsole' with the `-file' option:
#
# $ xconsole -file /dev/xconsole [...]
#
# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
# busy site..
#
#daemon.*;mail.*;\
# news.err;\
# *.=debug;*.=info;\
# *.=notice;*.=warn |/dev/xconsole
ログ初期設定スクリプト
# vi /etc/init.d/make-logfile
#!/bin/bash
#
### BEGIN INIT INFO
# Provides: make-varlog-files
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Required-Start:
# Required-Stop:
# Short-Description: Create /var/log/... files on tmpfs at startup
# Description: Create /var/log/... files needed by system daemon
### END INIT INFO
#
# main()
#
case "${1:-''}" in
'start')
mkdir -p /var/log/ConsoleKit
mkdir -p /var/log/apt
mkdir -p /var/log/fsck
mkdir -p /var/log/mrtg
mkdir -p /var/log/ntpstats
mkdir -p /var/log/samba
mkdir -p /var/log/squid3
mkdir -p /var/log/apache2
chown root.adm /var/log/mrtg
chown ntp.ntp /var/log/ntpstats
chown root.adm /var/log/samba
chown proxy.proxy /var/log/squid3
chown root.adm /var/log/apache2
chmod 750 /var/log/apache2
touch /var/log/lastlog
touch /var/log/wtmp
touch /var/log/btmp
touch /var/log/apache2/access.log
touch /var/log/apache2/error.log
touch /var/log/apache2/other_vhosts_access.log
chown root.utmp /var/log/lastlog
chown root.utmp /var/log/wtmp
chown root.utmp /var/log/btmp
chown root.adm /var/log/apache2
chown root.adm /var/log/apache2/access.log
chown root.adm /var/log/apache2/error.log
chmod 640 /var/log/apache2/access.log
chmod 640 /var/log/apache2/error.log
;;
'stop')
;;
'restart')
;;
'reload'|'force-reload')
;;
'status')
;;
*)
echo "Usage: $SELF start"
exit 1
;;
esac
サービス登録
# chmod 755 /etc/init.d/make-logfile
# update-rc.d make-logfile defaults 01 10
再起動してエラーが発生しないか確かめる
0 件のコメント:
コメントを投稿