*Raspberry Piメモ [#s80746e4]


**BOOT用SDカード準備 [#k6978b94]
参考URL:~
http://gold.ap.teacup.com/maz01/319.html
-Windowsマシンで「Raspbian wheezy(2012-12-16-wheezy-raspbian.zip)」をダウンロードし、.imgファイルを取り出す~
http://www.raspberrypi.org/downloads
-Windowsマシンで「Win32DiskImager(Version 0.6 binaries)」をダウンロードする~
https://launchpad.net/win32-image-writer/+download
-Win32DiskImagerを起動、最初にエラーが出るが気にせずスキップ~
ソース=imgファイル、出力先=SDカード を指定して書き込む。~
書き込み時間およそ2分~
-SDカードをRaspberry Pi本体に挿し、本体起動。~
HDMIディスプレイの電源を先にONしておかないと、ディスプレイ認識されないようだ。



**初期設定 [#v5787800]
-1分待つと青い画面になるので以下設定~
[expand_rootfs]~
[Configure keyboard]>[Generic 105-key(Intl) PC]>[Other]>[Japanese]>[Japanese]>[The default for the keyboard layout]>[No compose key]>[No]~
[change_pass]~
[change_timezone]>[Asia][Tokyo]~
[ssh]>[enabled]~
[update]~
[Finish]>コンソールでsudo reboot~
-パーティション再構成のため16GB class10のSDカードで10分程かかる
-コンソールでログイン。ユーザーはpi



**日本語化 [#o8b8ab3f]
これによってコンソールが文字化けするが、日本語対応のSSHクライアントで接続するので問題ない
-sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname~
-sudo dpkg-reconfigure locales~
[en_GB.UTF-8 UTF-8][ja_JP.EUC-JP EUC-JP][ja_JP.UTF-8 UTF-8]にチェック>[ja_GB.UTF-8]~
-sudo apt-get install ibus-anthy~
(10分程かかる)
-sudo reboot~
-startx~
-[左下メニュー]>[設定]>[iBusの設定]>[はい]>[OK]>[インプットメソッド]>[日本語>Anthy>追加]>[閉じる]
-[左下メニュー]>[ログアウト]



**chkconfigのインストール [#j0dc3ca8]
-sudo apt-get install chkconfig
--参考:起動しているサービスのリスト表示方法~
service --status-all
--参考:特定のサービスが起動しているか確認する方法~
service (サービス名) stauts



**SSH接続 [#b12340d0]
-sshdが常駐しているか確認
chkconfig --list
-IPアドレス確認~
ifconifg
-SSHで接続テスト~
Macならターミナルから ssh pi@(IPアドレス)



**vimのインストール [#o3571826]
参考URL:~
http://www.limemo.net/blog/2012/12/raspberry-pi-vi.html~
http://nkm-net.jp/?p=405
-sudo apt-get install vim



**コマンドのalias [#b7b943ac]
-vim /home/pi/.bashrc
 以下追加もしくはコメントアウトを外す
 alias ll='ls -l'
 alias la='ls -A'
 alias vi='vim'



**固定IP化 [#c16f6063]
-sudo vi /etc/network/interfaces~
--以下を#でコメントアウト~
iface eth0 inet dhcp
--代わりに以下を記述~
iface eth0 inet static~
address <割り当てるIPアドレス>~
netmask <サブネットマスク>~
gateway <デフォルトルータのIPアドレス>~
-sudo vi /etc/network/interfaces~
-sudo vi /etc/resolv.conf~
--以下の部分を必要なら変更~
nameserver <DNSサーバのIPアドレス>
-sudo reboot



**DDNS [#wb92ba2b]
参考URL:~
http://qapla.blog52.fc2.com/blog-entry-302.html
-DynDNSでdomain取得~
https://account.dyn.com/dns/dyndns/
-sudo apt-get install ddclient~
インストール中に色々設定する。迷ったら「Yes」で良い。設定をやり直すときはsudo dpkg-reconfigure ddclient
-sudo vi /etc/ddclient.conf で以下の2行を追加~
daemon=300~
ssl=no~
-sudo vi /etc/default/ddclient~
run_daemon="true" に変更~
max_interval=10d を末尾に追加。30日更新がないとストップするので、29dでも良い。
-sudo ddclient -daemon=0 -verbose -noquiet~
SUCCESSと出ない場合は設定が間違っている
-sudo service ddclient start
-ルータの設定をした後、外部からのsshログインを試す



**内向きDNS [#v32fa313]
参考URL:~
http://ryus.co.jp/modules/d3blog/details.php?bid=227
-sudo apt-get install unbound~
-sudo vi /etc/unbound/unbound.conf~
--以下を参考にして元ファイルを編集
 ## base section
 server:
     interface: 0.0.0.0
     do-ip4: yes
     do-ip6: no
     access-control: 192.168.1.0/24 allow
     version: "0.0"
 
 ## local-data section
 # example.com
     local-data: "example.com A 192.168.1.240"
     local-data-ptr: "192.168.1.240 example.com"
-sudo vi /etc/resolv.conf~
最初の行にnameserver 127.0.0.1を記述
-sudo service unbound start
-他のPCのネットワーク設定で「DNSサーバ」の項目をRaspberry PiのIPアドレスにする。DNSが正常動作しているかSSH接続で試す



**Apache+PHP [#n6e9ccf3]
-sudo apt-get update
-sudo apt-get install apache2
-sudo apt-get install php5
-sudo chown pi /var/www
-phpinfo.phpの作成と表示テスト
-mod_rewriteを有効にする
--sudo a2enmod rewrite
-sudo service apache2 restart
-必要に応じて、intlとcurlをインストール
--sudo apt-get install php5-intl php5-curl


**Dropboxへの自動バックアップ [#i8a15a2c]
参考URL:~
http://hiroki.jp/2011/01/24/1551/~
http://blog.sasapurin.com/archives/2013/01/raspberry_pidro.html~
http://blog.rederio.jp/archives/653
-dropbox_uploader.shを/home/piに置く
-https://www2.dropbox.com/developers/appsにアクセスし、App Folderタイプのアプリを作成する。
--App Folderタイプだと、DropboxディレクトリにAppと同一名のディレクトリが作成され、そこがアップロードルートとなる。Full DropboxタイプだとDropboxのルートがアップロードルートとなる。どちらのタイプでも良い。
--API KeyとApp Secretが表示される。
-sudo /home/pi/dropbox_uploader.sh
--初回のAPI Key設定を済ませる
--API Keyのクリアは &#x7e;/dropbox_uploader.sh unlink で可能
-/home/pi/daily_backup.shを作成、以下の内容にする。
--[[daily_backup.sh:https://dl.dropbox.com/u/7534310/RaspberryPi/daily_backup.sh]]~
dropbox_uploader.shはディレクトリ指定でアップロードできないため、個々のファイルをアップロードするスクリプトとなっている。
-sudo crontab -e で5:30に毎日実行するように以下設定
 30 5 * * * /home/pi/daily_backup.sh



**tiarraのインストール [#secd8485]
参考URL:~
http://assimane.blog.so-net.ne.jp/2012-11-25~
http://d.hatena.ne.jp/tksthdnr/20090314/1237051567
-wget http://www.clovery.jp/tiarra/archive/2010/02/tiarra-20100212.tar.gz
-tar xzvf tiarra-20100212.tar.gz
-sudo cp -r tiarra-20100212 /usr/local/tiarra
-sudo cp /usr/local/tiarra/sample.conf /usr/local/tiarra/tiarra.conf
-sudo /usr/local/tiarra/tiarra --make-password
-sudo vi /usr/local/tiarra/tiarra.conf
--[[tiarra.conf:https://dl.dropbox.com/u/7534310/RaspberryPi/tiarra.conf]]を作成
-sudo mv /usr/local/tiarra/tiarra.conf /etc/tiarra.conf
-sudo mkdir /var/log/tiarra
-sudo /usr/local/tiarra/tiarra --config="/etc/tiarra.conf" で動作確認
-sudo vi /etc/init.d/tiarrad
--[[tiarrad:https://dl.dropbox.com/u/7534310/RaspberryPi/tiarrad]]を作成
-sudo chmod 755 /etc/init.d/tiarrad
-chkconfig --add tiarrad



**SDカードの手動バックアップ [#pfc937d5]
参考URL:~
http://mmbrothers.exblog.jp/16816215/
-Windowsマシンで「Win32DiskImager」を使用する
-ImageFileにバックアップ先のファイル名を記述し、Readボタンをクリックするとバックアップが始まる
-16GB class10のSDカードで15分程



**サーバー監視ツールmuninのインストール [#d338a7f3]
参考URL:~
http://www.submit.ne.jp/821~
http://engineersideline.com/debian-gnu-linuxでlinuxサーバー構築/debianの運用管理設定/muninのインストール/
-sudo apt-get install munin
--munin-node は munin と一緒にインストールされた
-mkdir /var/www/munin
-sudo vi /etc/rsyslog.conf
 #cron.*                /var/log/cron.log
 のコメントアウトをはずして
 cron.*                /var/log/cron.log
 に変更
 
 *.*;auth,authpriv.none                -/var/log/syslog
 を
 *.*;auth,authpriv.none,cron.none                -/var/log/syslog
 に変更
-sudo vi /etc/munin/apache.conf
--apacheでlocalhostからしか見られないので設定変更
 Allow from localhost 127.0.0.0/8 ::1
 を以下に変更(外部から見えてしまうので注意)
 Allow from all
-chkconfig --list | grep munin
--起動設定を確認
-sudo reboot
--再起動してみる
-http://[server address]/munin/ にアクセスして起動確認
-sudo ln -s /usr/share/munin/plugins/ping_ /etc/munin/plugins/ping_google.co.jp
-sudo rm /etc/munin/plugins/irqstats
--/var/log/munin/munin-node.logにエラーが出ているので、IRQプラグインを除外する
-sudo service munin-node restart



***muninにping死活監視プラグインを入れる [#vddcf0fb]
標準のプラグインping_は、pingが通らないときに記録がストップしてしまうので別のものを入れることにした~
参考URL:~
http://infobsession.net/wiki/index.php?Python%2F%C0%BD%C2%A4%CA%AA%2Fpings_-munin_plugin~
http://d.hatena.ne.jp/rti7743/20110604/1307219520~
http://d.hatena.ne.jp/over80/20080703/1215100867
-cd /usr/share/munin/plugins/
-sudo wget http://infobsession.net/static/misc/pings_-munin-plugin/00_current/pings_
-sudo chmod +x pings_
-cd /etc/munin/plugins
-sudo ln -s /usr/share/munin/plugins/pings_ pings_server
-sudo ln -s /usr/share/munin/plugins/pings_ pings_server_loss
-sudo vi /etc/munin/plugin-conf.d/munin-node
 末尾に以下追加
 [pings_*]
 timeout 20
 env.cmd LANG=C LC_ALL=C /bin/ping -s 960 -c 10 -i 1 -l 3 -W 0.7 -w 10 %s
 
 [pings_server]
 env.hosts google.co.jp
 
 [pings_server_loss]
 env.type loss
 env.hosts google.co.jp
-sudo service munin-node restart



**MySQLとPHPMyAdminのインストール [#kca045bf]
-sudo apt-get install mysql-server
-sudo apt-get install phpmyadmin
-sudo vim /etc/apache2/apache2.conf 
 末尾に以下追加
 Include /etc/phpmyadmin/apache.conf
-sudo /etc/init.d/apache2 reload



***警告メッセージを消す [#m76bf7f5]
以下のような警告メッセージが気になるので/etc/hostsの編集することにした
 こんな警告が出ていた
 apache2: Could not reliably determine the server's fully qualified domain name,
 using 127.0.1.1 for ServerName
参考URL:~
http://d.hatena.ne.jp/hykt/20081129/1227968494
-sudo vim /etc/hosts~
 以下変更
 127.0.1.1 [domainname] raspberrypi
-sudo /etc/init.d/apache2 reload
-phpmyadminへの接続テスト。http://[server address]/phpmyadmin/にアクセスしてみる



**node.jsのインストール [#w68debc4]
npm(Node Package Manager)はnode関連ライブラリの管理ツール~
nvm(Node Version Manager)はnode本体のバージョン管理ツール~
参考URL:~
http://qiita.com/items/3f1810bf7e721cf9dfd2~
https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager~
http://d.hatena.ne.jp/tilfin/20110923/1317009573~
http://tmlife.net/programming/javascript/nvm-nodejs-install.html~
http://mollifier.hatenablog.com/entry/20110221/p1~
-sudo apt-get update
-apt-cache show nodejs
 Version: 0.6.19~dfsg1-6
現在の最新安定versionは0.10.4。apt-getでnodejsやnpmを入れるのが楽なのだが、~
古いバージョンなのでnvmからインストールするのが定番らしい~
そのためにgitも必要らしい
-sudo apt-get install git-core
-git clone https://github.com/creationix/nvm.git ~/.nvm
-source ~/.nvm/nvm.sh
-nvm install v0.10.4
--nvm helpで使用方法がわかる
--5時間程かかるので、PCがスリープになってsshが切断されることのないようにしておく。
-node -v
 v0.10.4
-npm -v
 1.2.18
-nvm alias default 0.10.4
-vim ~/.bashrc
 末尾に以下追加
 source ~/.nvm/nvm.sh
--一度ログアウト&ログインして、node -vやnpm -vが通るか確認
-sudo mkdir node
-sudo chown pi /var/node
-cd /var/node
-vim helloworld.js
 //新規ファイルの内容は以下のようにする
 var http = require('http');
 http.createServer(function(req, res) {
   res.writeHead(200, {'Content-Type':'text/plain'});
   res.end('Hello World!\n');
 }).listen(8080);
-node helloworld.js
--http://[server address]:8080にアクセスし、Hello Worldが表示されることを確認する
--Ctrl+Cで終了

***expressのインストール [#xcbbeb80]
expressはnodeスクリプトの雛形作成ツール~
参考URL:~
http://meso.hatenablog.com/entry/20120226/1330225959
-npm install -g express
--30-60分程かかる
--テンプレートエンジンとしてjadeかejsの2択で選ぶ。ejsが定番らしいのでejsにする
-express --versionで起動確認
 3.2.0
-cd /var/node
-express express_sample
-cd express_sample && npm install
-node app.js
--http://[server address]:3000にアクセスし、Welcome to Expressが表示されることを確認する
--Ctrl+Cで終了

***websocket.io、socket.ioのインストール [#xcbbeb80]
-npm install -g websocket.io
-echo $NODE_PATHで何も設定されていなかったので
-vim ~/.nvm/nvm.sh
後半部分
 export NVM_PATH="$NVM_DIR/$VERSION/lib/node"
 export NVM_BIN="$NVM_DIR/$VERSION/bin"
となっているところを以下のようにNODE_PATHを1行追加
 export NVM_PATH="$NVM_DIR/$VERSION/lib/node"
 export NVM_BIN="$NVM_DIR/$VERSION/bin"
 export NODE_PATH="$NVM_DIR/$VERSION/lib/node_modules"
--一度ログアウト&ログインして、echo $NODE_PATHを確認
-npm install -g socket.io

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS