lucidにruby1.9.1とrails3.0betaをいれてみた
ubuntu 10.04 alpha3でやっとserver版がvmware上にインスコできるようになったので(画面はまだ表示されないけどopenssh-serverを入れとくとアクセスはできる)、ruby1.9.1とrails3.0betaを入れてみました。
まずは基本環境
sudo aptitude update
sudo aptitude upgrade
sudo aptitude install open-vm-tools
次にmysql、sqlite3、imagemagick、gitをインストール
sudo aptitude install sqlite3 libsqlite3-dev mysql-server libmysqlclient16-dev
sudo aptitude install libmagick9-dev
sudo aptitude install git-core
rubyとgemをインスコ
sudo aptitude install ruby1.9.1-dev ruby1.9.1 ri1.9.1 rdoc1.9.1 irb1.9.1 libreadline-ruby1.9.1 libruby1.9.1
sudo ln -s /usr/bin/ruby1.9.1 /usr/bin/ruby
sudo ln -s /usr/bin/ri1.9.1 /usr/bin/ri
sudo ln -s /usr/bin/rdoc1.9.1 /usr/bin/rdoc
sudo ln -s /usr/bin/irb1.9.1 /usr/bin/irb
wget http://rubyforge.org/frs/download.php/69365/rubygems-1.3.6.tgz
tar xzvf rubygems-1.3.6.tgz
cd rubygems-1.3.6
sudo ruby setup.rb
sudo ln -s /usr/bin/gem1.9.1 /usr/bin/gem
sudo gem update
sudo gem update —system
rails3.0betaをインスコ
sudo gem install tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler i18n —no-ri —no-rdoc
sudo gem install rails —pre —no-ri —no-rdoc
.bashrcの最後に追加のおまじない
export GEM_HOME=/usr/lib/ruby1.9.1/gems/1.9.1
あと、どういうわけかtestというアプリ名を付けると立ち上がりません。
tumblrのsecondaryブログでできないこと
replyができない。
tomblooのamazonアフィーリンクができない。
twitterが出来るようになってた。
rails3.0betaインスコしてみました
当方leopardなものでrails3.0に必要なruby1.8.7をmacportsを使ってインスコしたのですが、portのupdateやcleanupやいろいろ手間かかりました。script/serverがscript/rails serverに変っていることに気がつくのに10分ほどかかってしまいました。久々に2chのrailsスレをみたら活況を呈してました。
railsはコピペベースから始めて動くこと優先で始めたので3.0を機にまじめに勉強してみたいと思います。
インストール方法はこちら。これを機にruby1.9も勉強するか悩み中。

せっかくなんでredmineをインスコ
前回、前々回に続いてredmineのインスコしてみます
git clone git://github.com/edavis10/redmine.git
mysql -u root -p
create database redmine character set utf8;
create user ‘redmine’@’localhost’ identified by ‘hogehoge’;
grant all privileges on redmine.* to ‘redmine’@’localhost’;
exit
cd redmine
mv config/database.yml.example config/database.yml
nano config/database.yml
production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password: hogehoge
encoding: utf8
RAILS_ENV=production rake config/initializers/session_store.rb
rake generate_session_store
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
sudo chown -R demo:demo files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets
sudo nano /opt/nginx/sites-available/redmine
server {
listen 80;
root /home/demo/redmine/public;
passenger_enabled on;
}
sudo ln -s /opt/nginx/sites-available/redmine /opt/nginx/sites-enabled/redmine
sudo rm /opt/nginx/sites-enabled/default
sudo /etc/init.d/nginx restart
太字のイタリックはそれぞれ変えてください。あとはemailの設定とか、レポジトリの設定とか、バックアップの方法とかが残ってます。
rails使えるまでが非常に簡単になっている件について 続きの続き
sudo mkdir /opt/nginx/sites-enabled
sudo mv /opt/nginx/conf/nginx.conf /opt/nginx/conf/nginx.conf.default
sudo nano /opt/nginx/conf/nginx.conf
user www-data;
worker_processes 1;
events {
worker_connections 1024;
}
http {
passenger_root /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.9;
passenger_ruby /usr/local/bin/ruby;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
include /opt/nginx/sites-enabled/*;
}
sudo nano /opt/nginx/sites-available/default
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
sudo ln -s /opt/nginx/sites-available/default /opt/nginx/sites-enabled/default
sudo /etc/init.d/nginx restart
rails使えるまでが非常に簡単になっている件について 続き
sudo aptitude install git-core
git clone git://github.com/jnstq/rails-nginx-passenger-ubuntu.git
sudo mv rails-nginx-passenger-ubuntu/nginx/nginx /etc/init.d/nginx
sudo chown root:root /etc/init.d/nginx
sudo /usr/sbin/update-rc.d -f nginx defaults
sudo aptitude install libmagick9-dev
sudo gem install rmagick
sudo gem install mysql #すでにはいっているみたいだけどうまくいかないのでもう一回
rails使えるまでが非常に簡単になっている件について
VM上でのUbuntu 9.10 Serverでのインストール
すごい簡単
sudo aptitude update
sudo aptitude upgrade
sudo aptitude install open-vm-tools #vm上でなければ sudo aptitude install build-essential
sudo aptitude install sqlite3 mysql-server libmysqlclient16-dev
wget http://rubyforge.org/frs/download.php/66163/ruby-enterprise_1.8.7-2009.10_amd64.deb
sudo dpkg -i ruby-enterprise_1.8.7-2009.10_amd64.deb #これでgemもruby1.8.7も終了
sudo aptitude install libssl-dev
sudo gem install passenger
sudo passenger-install-nginx-module
sudo gem install rails
gitを建築プロジェクトに使ってみた今回の結果 補足
前のエントリーが結構なreblogをいただいたので補足します。
コマンドラインの使用は使ったことのない人にとっては逆にそれにしか使わないので、上カーソルで非常にシンプルに使えます。今回はMacでのプロジェクトだったのですが、windowsな方を巻き込んだとしても、windowsでのgit使用は日本語ファイル名の文字化け問題があるのですが、cygwin utf-8版を使っていただくことで問題なく使用可能です。
フォルダのサイズは4GBまでいきました。が、各自のスクラップまでUPされた結果でこうだったのでそれを整理し”git gc”を行うと1.8GBまでになりました。実際のファイルは600MBで残りは”.git”になります。
速度的にはサーバー側が貧弱なこともありあらたに”git clone”すると10分を超える時間がかかりますが、途中でのgit push pullは気にならない範囲です。1つのファイルのサイズはだいたい10MB程度でしょうか。
一番の問題点はほとんどがバイナリファイルなためコンフリクトに対応できない点です。ビューアー的なものもありません。でもって今回はどう対処したかと言うと、今回使ったアプリがsketchupでしたのでオブジェクトをコピーペーストした際にレイヤ名属性も一緒に移動することを利用してレイヤ名に”各自の名前_”を付けて行ない、各自の名前のファイル名で保存し最後に手作業でマージすることで対処しました。
autocadであれば上記の機能に加え外部参照機能がありますので、ファイルを小分けすることでコンフリクトが起きることを減らすことができます。
jwcadだと上記どちらの機能もありませんのでどうしたか悩ましいところです。しっかりとした図面リストのつくり込みを最初に行うことで対処することになると思います。
gitを建築プロジェクトに使ってみた今回の結果
gitを建築プロジェクトのレポジトリとして使っているところはあまりないと思うのですが、今回はターミナルなんぞ開いたこともないというような人を巻き込み実用してみたのでそのプロジェクトのフェーズ1が終わったいま、少しばかりまとめてみたいと思います。
- とりあえず教えたコマンドは
git clone
git add .
git commit -m “”
git push
git pull
- 扱うファイルはほぼバイナリなのでバックアップ、レポジトリ、バージョニングにしかつかわない
- ブランチの説明は初ターミナルの人にはややこし過ぎるので、アプリ内(今回はsketchup)のレイヤでその代替とするルール決め。 一般的によくやられる好き勝手なファイル名をつけてその人のブランチやバージョニングとしても他の人には全くを持ってわからないのでここはかなり徹底
- 前のファイルの戻るときのコマンドも教えきれないのでredmineをつかってそこからのダウンロードで対応
- コンフリクトがおきてもバイナリ中心で基本的に対処できない(svnのロックの使用も検討したけど、大量の”.svn”がきらいという個人的理由で却下)
- ファイルは消すな動かすな
(rmなんぞ怖くておしえられない)
ターミナルを開いたこともない人の感想
- 最新ファイルが上記4コマンドでみんなに伝えられるのが便利
(bashで上カーソルキーも教えました)
- 日付がファイル名についたファイルとかがなくなりそれぞれのプロジェクトフォルダがすっきり
- 時々エラーがでてわけがわからん
レポジトリを管理してた側の感想
- sketchupがファイル参照機能を持っていればもっと簡単だったのに
- エラーの原因のほとんどはpushする前にpullしなかったこと
- 各自のスクラップをもレポジトリに上げる輩続出
(ここでのどのファイルを消していいかの確認とその時にレポジトリには自分だけ理解できるファイルはおくなの徹底で最後にはほぼ無くなった)
- 自分だけわかればいいと言うデータの作り方が多少は改善された
- 管理はやっぱりいる
- redmineのレポジトリブラウザがjpgとか、pngはそのまま表示されればいいのに
(いけるのかどうかgitもredmineもしらべてみたくなった)
補足追加しました