jpdvbrec リプレイス

jpdvbrecを作り直しました。



jpdvbrecとはlinuxで動作するHDDレコーダのようなもの。
詳しくはこちら。www.sysgreenplus.net

今回は以下のようなテーマをもって、作成しました。

  • RSpecでテストコードを書く
  • Ruby on Rails 3.1で作成
  • スパゲッティなコードを書かない


前回はRuby on Rails初心者でとりあえず動くものを作成していったので、ソースがとっても汚いです。

今回は、テストコードを書きながら作成したので、そこそこ綺麗に書けたと思います。
けど、番組表部分は汚いままです。

約1年間、Ruby on Railsを独学で勉強して作り直したので、成長がよく見えます。



インストール手順については作成できていないので、とりあえずメモ。

OSはUbuntu Server 11.10


$ sudo apt-get install openssh-server

$ sudo adduser rails
$ sudo gpasswd -a rails admin
$ sudo gpasswd -a rails video

$ su - rails

$ sudo apt-get install curl git-core
$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
$ source .profile
$ rvm version

$ sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev
$ rvm install 1.9.2-p290
$ rvm use 1.9.2-p290
$ rvm gemset create jpdvbrec
$ rvm gemset use jpdvbrec
$ gem install bundle
$ gem install capistrano
$ gem install capistrano_colors

$ sudo apt-get install nginx

$ sudo apt-get install mysql-server
※rootのパスワードは適当
$ sudo apt-get install libmysqlclient-dev

$ mysql -u root -p
※さっきのrootパスワードを入力
mysql> GRANT ALL ON *.* TO jpdvbrec@localhost IDENTIFIED BY 'yF1T651a';
mysql> CREATE DATABASE jpdvbrec_production CHARACTER SET utf8;
mysql> exit

$ sudo mkdir /record
$ sudo chmod 777 /record

$ sudo apt-get install unzip
$ wget http://sites.sysgreenplus.net/www/software/jpdvbrec/install/epgdumpr1.zip
$ unzip epgdumpr1.zip
$ cd epgdumpr1
$ make
$ sudo cp ./epgdump /usr/local/bin

$ wget http://2sen.dip.jp/cgi-bin/dtvup/source/up0798.zip
$ unzip up0798.zip
$ cd dvb_apps-0.97/cmds/
$ make
$ sudo cp ./s2scan /usr/local/bin

$ sudo apt-get install libglib2.0-dev
$ sudo apt-get install libpcsclite-dev
$ sudo apt-get install pcscd
$ wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.zip
$ unzip c44e16dbb0e2.zip
$ cd pt1-c44e16dbb0e2/arib25/
$ make
$ sudo make install

$ git clone https://github.com/greendrop/recdvbisdb.git
$ cd recdvbisdb/
$ make
$ sudo make install

$ git clone https://github.com/greendrop/recoutdvbisdb.git
$ cd recoutdvbisdb
$ make
$ sudo make install

$ git clone https://github.com/greendrop/jpdvbrec.git
$ cd jpdvbrec
$ cap deploy:setup
deploy server: localhost
Password:(railsユーザのパスワード)
$ cap deploy
deploy server: localhost
Password:(railsユーザのパスワード)
$ cap deploy:migrate
deploy server: localhost
Password:(railsユーザのパスワード)

$ sudo apt-get install sysv-rc-conf
$ sudo ln -s /home/rails/rails_apps/jpdvbrec/current/script/jdr_unicorn /etc/init.d
$ sudo ln -s /home/rails/rails_apps/jpdvbrec/current/script/jdr_schedule /etc/init.d
$ sudo sysv-rc-conf jdr_unicorn on
$ sudo sysv-rc-conf jdr_schedule on

$ cap deploy:start
deploy server: localhost
Password:(railsユーザのパスワード)

$ cd /etc/nginx/sites-available
$ sudo vim jpdvbrec
upstream unicorn-jpdvbrec {
  server unix:/tmp/unicorn_jpdvbrec.sock;
}

server {
  listen 80;
  root /usr/share/nginx/www;
  index index.html index.htm;
  server_name localhost;

  location /jpdvbrec {
    try_files $uri $uri.html $uri/index.html @unicorn-jpdvbrec;
  }

  location @unicorn-jpdvbrec {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_pass http://unicorn-jpdvbrec;
  }
}

$ cd /etc/nginx/sites-enabled
$ sudo rm default
$ sudo ln -s /etc/nginx/sites-available/jpdvbrec /etc/nginx/sites-enabled
$ sudo ln -s /home/rails/rails_apps/jpdvbrec/current/public/ /usr/share/nginx/www/jpdvbrec
$ sudo /etc/init.d/nginx restart


http://[サーバIP]/jpdvbrec をブラウザで開く。


コメント

このブログの人気の投稿

2019年4月 やってるお金の投資

Rails Devise認証のカスタマイズメモ

One Netbook One Mix 2S + IPEGA PG-9083でニンテンドースイッチもどき