Rasbian入れたら最初にすること
久しぶりの投稿。 Rasberry piの初期セットアップって、いつもモニターからやってて 画面をどう見せるのがいいんかわかりません。
とりあえず起動した後にやっている設定をメモメモ。
起動後、だーっと画面にメッセージが表示された後に config toolが起動する。
1.Expand FileSystem を選択してエンター 2.Change User Password を選択してエンター。 ユーザーpiのパスワードを設定する。
4.Internationalisation Options Change locale ja_JP.UTF-8をにカーソルを合わせてスペースキー ラズパイ搭載のHDMI出力だとうまく表示されないので、設定後はコンソールからリモートで扱うのが良い・ Change Timezone Asia→Tokyo JapanではなくてTokyo
Change Keybord Layout Generic 105-key PCを選択
で左右のキーをでFINISHを選択するとRebootされる。
再起動後に sudo apt-get update
とりあえずこんあものではないでしょうかね。
Raspberry Pi2 に RASPBIANを入れる
なんかラズパイを触ることになったので、 起動までをめもめもめも。
全体の流れとしては ・OSイメージのDL ・microSDにimageを焼く ・microSDをラズパイにぶっさして起動 って感じです。
1.OSイメージファイルのダウンロード&解凍 Downloads | Raspberry Piから好きなイメージをダウンロードする。 今回はRASPBIAN。
2.OSイメージファイルを作業用PCでmicroSDカードへコピー 解凍して、SDカードに焼く。
以下はMacでの実施方法
$ diskutil list /dev/disk0 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *251.0 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_CoreStorage 250.1 GB disk0s2 3: Apple_Boot Recovery HD 650.1 MB disk0s3 /dev/disk1 #: TYPE NAME SIZE IDENTIFIER 0: Apple_HFS Macintosh HD *249.8 GB disk1 Logical Volume on disk0s2 DD60EE5D-5717-4626-AF18-299AA9D31971 Unlocked Encrypted /dev/disk2 #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *15.5 GB disk2 1: Windows_FAT_32 NO NAME 15.5 GB disk2s1
今回はマウントしているのはdisk2なので
$ diskutil unmountDisk /dev/disk2 Unmount of all volumes on disk2 was successful
以下のコマンドで書き込み bs=1mでスピードアップなんだそう。
$ sudo dd if=2015-05-05-raspbian-wheezy.img of=/dev/rdisk2 bs=1m
Ctrl+Tで進捗が確認可能 imgファイルのサイズが 3276800000バイトなので以下みたいになったら完了。
3276800000 bytes transferred in 368.013262 secs (8904027 bytes/sec)
これで書き込み完了。
あとはこのSDをラズパイにさして、 HDMIケーブル作成して起動。
参考サイト http://techblog.clara.jp/2015/02/raspberry-pi-2-model-b_install_and_ssh_connect/ https://www.generation.ne.jp/topics/raspberry01/
rake db:migrateで作ったDBにアクセスする時にエラー
rake db:migrate で作成したあと rails sで起動して、http://192.168.33.10:3000/Userにアクセスしたら出たエラー
Cannot render console from 192.168.33.1! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
これは
vi config/application.rb
で、以下を追加
config.web_console.whitelisted_ips = '0.0.0.0/0'
で解決した。
でもまだエラーがあって、
ActionController::RoutingError (No route matches [GET] "/User1"):
これはいろいろやってみたけど developmet.rbとか書き換えてみたり。。なぞ。
もう今日はおわりーと思って db:migrateでつくったやつ戻そうとコマンド調べて実行
rake db:migrate:reset == 20150909130346 CreateUsers: migrating ====================================== -- create_table(:users) -> 0.0012s == 20150909130346 CreateUsers: migrated (0.0026s) =============================
!?!!!!
users? ほうほう http://192.168.33.10:3000/users
見れますた。ちゃんとメッセージは見ましょうってことですな。
scaffoldの使い方
Railsには、scaffordという仕組みがあるらしいです。 なんかいい具合に、DBに反映してくれるらしい。
rails generate scaffold User name:string score:integer
これはdb/migrateに string型でnameと integer型でsocreという項目のあるUserってDB作ってよってことらしい。
そして
rake db:migrate
でDBが作成されるんだそうだ。
Rails sで起動したサーバーにローカルPCから接続できない
Ruby on Railsを勉強中です。 いや、Rubyも書いたことないけど、まぁなんとかなるでしょ、と始めましたが、 環境作りで手間取っております。
とりあえずVagrant upで落としてきたイメージを起動するところは到達。
rails new
コマンドもたどり着いた。
で、
rails s
でhttpサーバーが起動されるところまできたのだけど、 ブラウザから接続できない。。。。
ipも間違ってない、ポートフォワーディングの設定もあっている。。。 なんかオプションか?とおもいつつ
rails s -h
と打ったら、--binding=IP を発見。
-p, --port=port Runs Rails on the specified port. Default: 3000 -b, --binding=IP Binds Rails to the specified IP. Default: localhost -c, --config=file Uses a custom rackup configuration. -d, --daemon Runs server as a Daemon. -u, --debugger Enables the debugger. -e, --environment=name Specifies the environment to run this server under (test/development/production). Default: development -P, --pid=pid Specifies the PID file. Default: tmp/pids/server.pid -h, --help Shows this help message.
このPCってlocalhostだよなと思いつつ、 ふとAWSのanywhereの表現の0.0.0.0にのっとって
rails s -b 0.0.0.0
にしてみたら、つながった。 PCはMacなので、ifconfigとかしてみたらわかるかと思ったけど、、
rails s -b en0のip rails s -b vboxnet0のip
でも繋がらなかった。 まぁ動くからいいか。。。