2011年7月13日水曜日

さくらのレンタルサーバーに Rails 3 をインストールする

さくらのレンタルサーバーに Rails 3 をインストールします。

参考ページ:http://www.masahiko.info/it/archives/000980.html

スタンダードプラン以上ならインストール出来るはずです。
現在の Ruby と gem のバージョンは以下のようになっています。
これらを 1.9.2 p180 に変更し、Rails を導入します。
(shell は、bash を利用しています)

[cisse@www806 ~]$ ruby --version
ruby 1.8.7 (2009-12-24 patchlevel 248) [i386-freebsd7]
[cisse@www806 ~/src]$ gem --version
1.3.7

$HOMEに「src」フォルダを作成。

$ mkdir ~/local
$ mkdir ~/local/src
$ cd ~/local/src

$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p180.tar.gz
$ tar xzvf ruby-1.9.2-p180.tar.gz

$ cd ruby-1.9.2-p180
$ ./configure --prefix=$HOME/local
$ make
$ make install

RubyとRubyGemなどのパスを設定


$ vi ~/.bashrc

export PATH=$HOME/local/bin:$HOME/usr/local/bin:$PATH
export RUBYLIB=$HOME/local/lib/ruby/site_ruby/1.9.1:$HOME/local/lib/ruby
export GEM_HOME=$HOME/local/lib/ruby/gems

以下のコマンドで環境設定の変更を適用。
source ~/.bashrc

正しく適用されているかを確認する。
[cisse@www806 ~/local/src/ruby-1.9.2-p180]$ ruby --version
ruby 1.9.2p180 (2011-02-18 revision 30909) [i386-freebsd7.1]
[cisse@www806 ~/local/src/ruby-1.9.2-p180]$ gem --version
1.3.7

Rails をインストールする
$ gem install rails

rails がインストールされているかを確認
[cisse@www806 ~/local/lib/ruby/gems/bin]$ rails
-bash: rails: command not found

コマンドが見つからない!
gem list でインストールされているかを確認する。
[cisse@www806 ~]$ gem list -d rails

*** LOCAL GEMS ***

rails (3.0.9)
Author: David Heinemeier Hansson
Rubyforge: http://rubyforge.org/projects/rails
Homepage: http://www.rubyonrails.org
Installed at: /home/cisse/local/lib/ruby/gems

Full-stack web application framework.

/home/cisse/local/lib/ruby/gems にインストールされている。
$ env | grep "^PATH"
PATH=/home/cisse/local/lib/ruby/gem/bin:/home/cisse/local/bin:/home/cisse/usr/local/bin:/home/cisse/local/bin:/home/cisse/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/cisse/bin

よくみると、gem になっていて、s が抜けている。
ということで、~/.bashrc を修正。

export PATH=$HOME/local/lib/ruby/gem/bin:

export PATH=$HOME/local/lib/ruby/gems/bin:

[cisse@www806 ~]$ rails -v
Rails 3.0.9

無事にインストールされました。

2011年7月11日月曜日

DVD を iPhone で見る

入院中は暇なんで、持っているDVDを iPhone で見るための手順。
ちなみに Mac です。

1) Mac The Ripper を使う。

Mac The RIpper で DVD をリッピングします。
リッピングした情報は、win7 でも見れるから便利です。

2) Handbrake を使って変換

Handbreake (http://handbrake.fr/) をダウンロード。

2011年7月10日日曜日

Paralleles 6 に Windows 98 SE をインストールする

Wizardry コレクションをやりたいので、Win98 環境を整えることに。
その作業メモです。

- ちなみに CDROM ブート出来る、Windows 98 SE の CDROM は持っています。

1) 仮想マシンを作成します。ターゲットOSはWin98にしました。
 ハードディスクは、 0.4GB (410MB) 、メモリは256MB としました。
2) 起動フロッピーのイメージをネットで探したところ、http://www.allbootdisks.com/ にあり、そのフロッピーイメージを parallels でマウントして、ブートします。
3) ブートすると、fdisk と format を使ってインストール用ドライブを作成します。
4) CDROMのsetup.exeを実行して、インストールを開始します。
 (1時間くらいかかるかな)

5) インストール後に Parallels Tools をインストールします。
参考:http://download.parallels.com/desktop/v6/docs/en/Parallels_Desktop_Users_Guide/22573.htm

まず、Prallels Tools のインストール媒体(isoイメージ)をマウントします。
場所は、/Library/Parallels/Tools/prl-tools-other.iso

5-1) ディスプレイアダプタ

Win 98 上で、マウントしたCDROMが見えているのを確認します。
スタートメニュー → 設定 → コントロールパネルをクリック。画面をクリック。
設定タブをクリック。
詳細をクリック。
アダプタタブをクリック。


検索場所の指定でマウントしたCDROMのD:¥Drivers¥Video¥Win9x
再起動します。

2011年7月9日土曜日

iPhone の内容を工場出荷状態に戻す

iOS 5 β2 から 4.3 に戻したいんだけど、リストアをクリックしてもエラーが出て戻らないので DFU モードから強制的に 4.3 にします。

1.iPhone を DFU モードでブートする

iPhone の電源を切ります。
PC 側では、iPhone を繋げたままにして、iTunes を起動しておきます。

iPhoneのホームボタンとスリープボタンを同時押し、そのまま10秒待ちます。
10秒経ったらスリープボタンだけを離します。

さらに5秒ぐらい待つと、PC側の iTunes から「iTunesはリカバリーモードのiPhoneを見つけました。iTunesでご利用になる前に、このiPhoneを復元する必要があります。」というメッセージが表示されます。

この時点 iPhone を DFU モードにすることが出来ました。
(ホームボタンは離してもOK)

2.iPhoneを復元する

iTunes には、iPhone が表示されているので、そのメニューから「復元」ボタンを押します。
10分前後で iOS4.3.3にダウングレードした状態になります。

2011年7月4日月曜日

MAC OS X で PostgreSQL 8.4 をインストールする

sudo port install postgresql84
sudo port install postgresql84-server

sudo mkdir -p /opt/local/var/db/postgresql84/defaultdb
sudo chown postgres:postgres /opt/local/var/db/postgresql84/defaultdb
sudo su postgres -c '/opt/local/lib/postgresql84/bin/initdb -E UTF8 --no-locale -D /opt/local/var/db/postgresql84/defaultdb'

#sudo ln -s /opt/local/lib/postgresql84/bin/postgres /opt/local/bin/
#sudo ln -s /opt/local/lib/postgresql84/bin/pg_ctl /opt/local/bin/

sudo su postgres -c 'pg_ctl -D /opt/local/var/db/postgresql84/defaultdb start'

sudo su - postgres
createuser --no-superuser --createdb --no-createrole hogeuser

Mac で RVM を導入する

RVM を導入します。

$ mkdir -p ~/.rvm/src/
$ cd ~/.rvm/src
$ git clone --depth 1 git://github.com/wayneeseguin/rvm.git
$ cd rvm
$ ./install

以下の1行を .bash_profile に追記。
$ vi ~/.bash_profile

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

RVM で Ruby を導入してみます。

インストールすることが出来るバージョンは以下のコマンドで見ることが出来ます。

$ rvm list known
# MRI Rubies
...
[ruby-]1.8.7[-p334]
[ruby-]1.9.2[-p180]
[ruby-]1.9.2-head
ruby-head

1.9.2 p180 を導入してみます。
rvm install でインストール、rvm use で使いたい ruby をスイッチできます。
システムに標準でインストールされている ruby (macruby)は、system

$ rvm install 1.9.2

MacOS:akifumi:~$ ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10]
MacOS:akifumi:~$ rvm use 1.9.2
Using /Users/akifumi/.rvm/gems/ruby-1.9.2-p180
MacOS:akifumi:~$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.6.0]

普段使いは、1.9.2 にしたい。
$ rvm use 1.9.2 --default

Windows でRSA公開鍵を作成する方法

WinSCPをインストールする。

puttygen.exe を実行する。

C:\Program Files\WinSCP に WinSCP をインストールしてあれば
C:\Program Files\WinSCP\PuTTY\puttygen.exe に存在する。

Parameters グループは以下の設定であるかを確認(だぶん初期設定状態)
Type of key to generate: SSH-2 RSA
Number of bits in a generated key: を 1024

Actions グループの Generate ボタンを押下する。

Please うんたらと出るので、マウスをグリグリ動かす。

Key グループに生成された公開鍵が表示されるので利用する。
(authorized_keys に追加)

mac os x で公開鍵を作成する方法

ターミナルを開いて、以下のコマンドを入力。

$ ssh-keygen

パスフレーズを聞かれるので、2回入力する。

フォルダ /Users/youaccount/.ssh/ の
「id_rsa」が秘密鍵、「id_rsa.pub」が公開鍵となる。

iPhoneがiTunes,Xcodeで認識しなくなった

タイトル通りなんですが、iPhone を mac に接続しても iTunes や Xcode で認識しなくなりました。
お約束で、iPhone 、mac の双方を再起動。
→ でもダメ

途方にくれているところ、以下のページにズバリな回答。
http://blog.iphone-studio.com/2009/01/iphone_29.html

ようするに iTunes を再インストールすることで、認識しました。
よかった!

さくらのVPSでカスタムインストールしたときのメモ

参考にしたページ:
http://tanaka.sakura.ad.jp/archives/001065.html
http://blog.myfinder.jp/2010/09/vpsssh.html

CentOS 5.5 の 32bit 版をインストールします。
ネットワーク設定で、IPv4 はマニュアル設定で進めて、事前に表示されたIPアドレス、DNS、ゲートウェイIPアドレスを入力します。

リモートコンソールでログインします。
まずは、ユーザーを作成します。wheelにも所属させます。

# useradd youraccount
# passwd youraccount
# usermod -G wheel youraccount

sudo出来るように設定します。
wheelグループの設定の前にコメントがあるのでコメントを削除します。
# visudo

@@@
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
@@@

sshdの設定を行います。ポート番号を10022、rootのログインを禁止、パスワードログインを禁止します。
以下の4項目を変更して、sshdを再起動します。

# vi /etc/ssh/sshd_config
Port 10022
PermitRootLogin no
PasswordAuthentication no
UsePAM no

# /etc/init.d/sshd restart

ログインするユーザの公開鍵を作成します。
事前に作業を行うPCで公開鍵を作成しておきます。
(Mac OS Xで作成する場合はこちら
VPS上で作成した authorized_keys に、作業PCで作成した公開鍵を追記します。

Mac OS Xの場合は、

最後にパーミッションを変更します。

# su - youraccount
$ ssh-keygen -t rsa
$ vi ~/.ssh/authorized_keys

$ chmod 600 ~/.ssh/authorized_keys

sudo ログを分離する。

# visudo
以下を追記。
@@@
Defaults syslog=local3
@@@

# vi /etc/syslog.conf
以下を追記。
@@@
local3.* /var/log/sudo.log
@@@

syslogを再起動。
# /etc/init.d/syslog restart

cat /var/log/sudo.log
で追記されているかを確認。

logrotate の設定を変更
vi /etc/logrotate.d/syslog
のローテート対象ファイルに /var/log/sudo.log を追加。

ファイアウォールの設定
# /usr/bin/system-config-securitylevel-tui
Securiy Level を Enabled
SELinux を Disable
Customize ボタンを押下すてポートの設定。
Allow incoming: で WWW, Secure WWW にチェックをする。other ports に 10022,3000 を追加。

ソフトのアップデート
$ sudo yum -y update

root宛のメールを転送する。
# sed -i '/^root:/d' /etc/aliases
# echo "root: hogehoge@zzz.xxx" >> /etc/aliases
# newaliases

メールが正しく転送されるかをテスト
# echo test | mail root

いらないサービスをoffにします。
chkconfig acpid off
chkconfig auditd off
chkconfig autofs off
chkconfig avahi-daemon off
chkconfig bluetooth off
chkconfig cups off
chkconfig firstboot off
chkconfig gpm off
chkconfig haldaemon off
chkconfig hidd off
chkconfig isdn off
chkconfig kudzu off
chkconfig lvm2-monitor off
chkconfig mcstrans off
chkconfig mdmonitor off
chkconfig messagebus off
chkconfig netfs off
chkconfig nfslock off
chkconfig pcscd off
chkconfig portmap off
chkconfig rawdevices off
chkconfig restorecond off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig smartd off
chkconfig xfs off
chkconfig yum-updatesd off

認証付き Git リポジトリに clone したときのエラー

CentOS 5.5 Gnome インストール環境で
認証付きのGitリポジトリにcloneしたときに、以下のエラーが出てしまう。

$ git clone https://dokokanogitrepos/passtuki.git
Cloning into passtuki ...

(gnome-ssh-askpass:13543): Gtk-WARNING **: cannot open display:

なんかパスワード入力を求めるときに画面にダイアログを出そうと
しているようなんだけど。ssh でログインしているので、そんなものはありません。

以下のコマンドを実行して、環境変数から削除します。
$ unset SSH_ASKPASS

そうしたら無事にclone出来ましたとさ。

RailsのDBカラムに使えない名前とドラブる名前の一覧

ちゃんとTest~ って乗ってました。

http://wiki.rubyonrails.org/rails/pages/ReservedWords

Test~ って名前を付けたしまった場合の対処はこちらのページに解説が。
http://nov.tdiary.net/20091210.html