さくらVPSに、Rails3.1.1、MongoDB、Git、RVMなどを構築するときの手順
webサービスをリリースするにあたって、どうしてもテストサーバが欲しかったので、さくらの一番安いプランでVPSを借りました。
僕は非常に忘れっぽいので、Railsを起動して動作確認出来るまでのメモを残しておきます。
間違ってることもあるかもしれません。
環境は以下の通り。
- Fedora14
- Rails 3.1.1
- MongoDB
Fedoraのインストール
以下の通りにやればおk。
http://support.sakura.ad.jp/manual/vps/mainte/custom_fedora.html
GroupとUserの追加
Fedoraインストール時に作成したrootユーザでsshログイン。
まずはグループの作成。
# groupadd -g xxx admin
xxxの部分は適当に。adminの部分に好きな名前をどうぞ。
次にユーザの作成。
xxxはさっき作成したグループのIDで。devの部分はお好きな名前でどうぞ。
# useradd -u yyy -g xxx -d /home/dev -m dev
yyyの部分は、
# cat /etc/passwd
で重複の無いIDを確認して指定すると良いです。
次に作成したユーザのパスワード作成
# passwd dev
次にsudoの度にpasswordを求められるのがダルいのでその設定
# visudo
開いたファイルの最終行に
%admin ALL=(ALL) NOPASSWD: ALL
を追加
これでdevユーザが作成されたので、一度ログアウトして、再度sshで接続確認するといいかも。
これ以降は上記で作ったユーザで作業します。
Gitのインストール
僕の場合は、今回のVPSはテストサーバに使いたかったので、Gitも入れます。
色々必要になりそうな物をついでに入れておきます。
$ yum install wget $ yum install gccyum install make $ yum install zlib $ yum install zlib-devel $ yum install perl-ExtUtils-MakeMaker $ yum install tcl $ yum install git
簡単ですね。
MongoDBのインストール
今回のプロジェクトはMongoDBを使っているので入れます。
MySQLと比べてなんと楽なインストールでしょうか。。
$ sudo yum -y install mongodb mongodb-devel mongodb-server
もう起動します。素晴らしい。
$ sudo /etc/init.d/mongod start
RVMのインストール
Rubyはrvmで管理します。
$ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm) $ source ~/.bashrc
1.9.2を入れるのですが、普通にいれてRailsを動かそうとすると、「linecache19」というgem関連で怒られます。多分。。
まぁ僕の環境ではopensslがどーのと言われて怒られました。なのでinstallする時に指定してあげましょう。
ついでにbundleくらいはinstallしましょう。
$ rvm install 1.9.2 --with-openssl-dir=$HOME/.rvm/usr $ rvm 1.9.2 $ gem install bundle
ssh公開鍵の作成
僕は別のVPSにgitosisを構築して運用しているので、テストサーバでもリポジトリからcloneしてくるために、ssh公開鍵を作成しておきます。
$ ssh-keygen -t rsa
次にリポジトリからcloneする為に.ssh/configを作成しておきます。
$ vi ~/.ssh/config
ファイルの内容は以下の感じで。
xxxな部分は各々の環境に合わせて記述してください。
Host部分には好きな名前を設定してください。
$ cat ~/.ssh/config Host hoge.vps Port xxxx HostName xxx.xxx.xxx.xxx IdentityFile ~/.ssh/id_rsa.pub
あとは、scpとかでこのユーザの~/.ssh/id_rsa.pubをローカルに持ってきて、gitosis.confにユーザ名を追加して
keydir/以下に、~/.ssh/id_rsa.pubの名前をユーザ名.pubに変更して置いて、pushすればおk。
で、再度、VPSに接続すればcloneできるハズ。
$ git clone git@hoge.vps:project_name.git
bundle install
無事、プロジェクトをclone出来たら、bundle install。
$ bundle install --path vendor/bundle
なにやら途中であれこれエラーが出るのでまとめて対処
$ sudo yum -y install flex libxml2-devel $ sudo yum -y install libxslt-devel $ sudo yum -y install gcc-c++
3000番ポートを解放する
iptablesこわい。バックアップとって作業。
$ sudo cp /etc/sysconfig/iptables /etc/sysconfig/iptables.org $ sudo vi /etc/sysconfig/iptables
以上の設定が全部終われば、無事、 http://xxx.xxx.xxx.xxx:3000/ にアクセス出来ると思います。
ああ疲れた。
======追記======
rails consoleを使う
$ sudo yum install readline-devel $ cd ~/.rvm/src/ruby-1.9.2-p290/ext/readline/ $ ruby extconf.rb $ make $ make install