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 の構築
日本語
まずログインしてHugeDomains.com - Shop for over 300,000 Premium Domainsを参考に.
# 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
Welcome — Ruby Enterprise Editionをインストールしてみる.どうもまず 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
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 が表示された.