slicehostでRails2.2.2を動かすまで

DreamhostでどうしてもRails2.2.2にできなかったので,カッとなってやってしまったログ.

##slicehostに登録する まあ普通に.いわゆるアレ張っておきます:).

[https://manage.slicehost.com/customers/new?referrer=49a030fcbd9a4d672c26bd8e55597026]

OS は慣れてる Ubuntu 8.04.1 を.

##Ubuntu 8.04.1 の構築

###日本語 まずログインしてhttp://de-lab.com/article/slicehost-ubuntu-locale/を参考に.

# dpkg-reconfigure tzdata      # Asia -> Tokyo
# apt-get install language-pack-ja
# dpkg-reconfigure locales
# update-locale LANG=ja_JP.UTF-8
% exit

###接続まで

# apt-get update
# apt-get install zsh
# useradd -m rust -s /usr/bin/zsh
# su - rust
$ ssh localhost
$ vim .ssh/authorized_keys

公開鍵接続できる状態になったので,

# vim /etc/ssh/sshd_config

PermitRootLogin no
UsePAM no

# /etc/init.d/ssh reload

###MySQL

MySQL 5.0のインストール

% sudo apt-get install mysql-server-5.0
% sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.default
% sudo vim /etc/mysql/my.cnf

key_buffer              = 64K
max_allowed_packet      = 1M
thread_stack            = 64K
thread_cache_size       = 4
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
sort_buffer             = 32K
read_rnd_buffer_size    = 32K
join_buffer_size        = 32K
read_buffer_size        = 32K
myisam_sort_buffer_size = 32K
net_buffer_length       = 2K

メモリ食う InnoDB はズバっとあきらめてみる,ひとまず.

###Ruby/Rails

http://www.rubyenterpriseedition.com/をインストールしてみる.どうもまず Ruby が入ってないと,プラットフォームを uname -m で見るらしく,x86_64 とかになってインストールできません.なので,通常の Ruby をセットアップ後に削除する方法で.

% sudo apt-get install ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 irb1.8 libreadline-ruby1.8 libruby1.8 libopenssl-ruby libmysqlclient15-dev
% sudo ln -s /usr/bin/ruby1.8 /usr/local/bin/ruby
% sudo ln -s /usr/bin/ri1.8 /usr/local/bin/ri
% sudo ln -s /usr/bin/rdoc1.8 /usr/local/bin/rdoc
% sudo ln -s /usr/bin/irb1.8 /usr/local/bin/irb
% mkdir sources; cd sources
% wget http://rubyforge.org/frs/download.php/41040/ruby-enterprise-1.8.6-20080810.tar.gz
% tar zxvf ruby-enterprise-1.8.6-20080810.tar.gz
% sudo apt-get install build-essentials libssl-dev
% cd ruby-enterprise-1.8.6-20080810
% sudo ./installer
% export PATH=/opt/ruby-enterprise-1.8.6-20080810/bin:$PATH
% sudo rm /usr/local/bin/irb /usr/local/bin/rdoc /usr/local/bin/ri /usr/local/bin/ruby
% sudo /opt/ruby-enterprise-1.8.6-20080810/bin/gem install rubygems-update
% sudo /opt/ruby-enterprise-1.8.6-20080810/bin/update_rubygems
% sudo vim /etc/login.defs

環境変数なりに /opt/ruby-enterprise-1.8.6-20080810/bin を追加.

###Apacheのインストール

% sudo apt-get install apache2 apache2.2-common apache2-mpm-prefork apache2-utils apache2-prefork-dev
% sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.default
% sudo vim /etc/apache2/apache2.conf
% sudo cp /etc/apache2/site-available/default /etc/apache2/site-available/default.default
% sudo vim /etc/apache2/site-available/default

###Passengerのインストール

% sudo gem install passenger
% sudo su -
% sudo /opt/ruby-enterprise-1.8.6-20080810/bin/passenger-install-apache2-module
% sudo vim /etc/apache2/mods-available/passenger.conf
% sudo vim /etc/apache2/mods-available/passenger.load
% sudo ln -s /etc/apache2/mods-available/passenger.conf /etc/apache2/mods-enabled/
% sudo ln -s /etc/apache2/mods-available/passenger.load /etc/apache2/mods-enabled/

動作確認

% cd ~/sources
% rails test
% cd test
% ruby script/server

ひとまず動くところまでできた.

##追記

Passengerの動作確認してなかったので,追加.

% cd ~/sources
% ruby script/generate controller sample
% vim app/views/sample/index.html.erb
----
hello
----
% vim app/controllers/sample_controller.rb
----
  def index
  end
----

Passengerの設定の抜粋

<VirtualHost *>
        ServerAdmin rust.stnard@gmail.com
        ServerName exsample.slicehost.com
        DocumentRoot /home/conceal-rs/sources/test/public
        PassengerRuby /opt/ruby-enterprise-1.8.6-20080810/bin/ruby
        PassengerMaxPoolSize 2
</VirtualHost>

これで,http://IP_ADDRESS/sample/index にアクセスして hello が表示された.

 
comments powered by Disqus