■
移転しました。
Rubyのインストール
本番サイトではCentOS4のためRubyの最新版がyumで入手できない。
このためソースからコンパイルしてインストールする。
yum に RPMforge リポジトリを追加する
Rubyをインストールするためのcheckinstallをインストールするために、インストール
多くの有用なサードパーティ・パッケージを供給している RPMforge のリポジトリを yum に追加する。
http://centos.oss.sc/fundamentals/yum_rpmforge/
# wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.i386.rpm # rpm -Uhv rpmforge-release-0.3.6-1.el4.rf.i386.rpm # vi /etc/yum.repos.d/rpmforge.repo ----- enabled = 1 ↓ enabled = 0 ----- # wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt # rpm --import RPM-GPG-KEY.dag.txt # yum --enablerepo=rpmforge list
checkinstallインストール
Rubyをインストールするためcheckinstallをインストールする。
tar ボールからのインストールを監視して RPM を作ってくれる便利なツールです。
http://centos.oss.sc/fundamentals/checkinstall/
yum --enablerepo=rpmforge install checkinstall
Ruby本体
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p111.tar.bz2 # tar jxf ruby-1.8.6-p111.tar.bz2 # ./configure --prefix=/usr # make # checkinstall --fstrans=no checkinstall 1.6.0, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran This software is released under the GNU GPL. The package documentation directory ./doc-pak does not exist. Should I create a default set of package docs? [y]: y Preparing package documentation...OK Please choose the packaging method you want to use.Slackware [S], RPM [R] or Debian [D]? r Please write a description for the package. End your description with an empty line or EOF.>> 後はEnterを押し続ける。 # rpm -Uvh /usr/src/redhat/RPMS/x86_64/ruby-1.8.6-p111-1.x86_64.rpm # ruby -v ruby 1.8.6 (2007-09-24 patchlevel 111) [x86_64-linux]
Railsインストール
まずはzlib # yum install zlib-devel -y # cd /root/src/ruby-1.8.6-p111/ext/zlib # ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib # make # make install ここからrails本体 # cd /root/src # wget http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz # tar zxvf rubygems-0.9.4.tgz # cd rubygems-0.9.4 # ruby setup.rb # gem update --system ← 失敗しても何度か繰り返してると成功する # gem -v 0.9.5 # gem install rails --include-dependencies # rails -v Rails 1.2.5 バリデーションの入力エラーメッセージなどを日本語にする対応 # gem install gettext gem install gettext Updating metadata for 104 gems from http://gems.rubyforge.org complete Building native extensions. This could take a while... Successfully installed gettext-1.10.0 1 gem installed
ruby-openssl
テストプロジェクト実行時にopensslのエラーが出る時があるので、いれとく。
# cd ~/src/ruby-1.8.6-p111/ext/openssl # ruby extconf.rb # make # make install # irb > require 'openssl' => true
一般ユーザー作成
useradd shohu passwd shohu
サンプルプロジェクト作成
# su - shohu $ mkdir project $ cd project $ rails test $ cd test サーバー起動 $ ruby script/server &
以下URLでアクセス確認!!
テストサイトで使うモジュールインストール
# gem install amazon-ecs # gem install mongrel --include-dependencies # gem install mongrel_cluster mongrelクラスタ確認 # su - shohu $ cd project/test $ mongrel_rails cluster::configure -p 3000 -N 3 $ mongrel_rails cluster::start
以下URLでアクセス確認!!
http://localhost:3000/
http://localhost:3001/
http://localhost:3002/
$ mongrel_rails cluster::stop
Apacheインストール
デフォルトバージョンが2.0.52と古いため最新のApache2.2.6を入れる
ここでは簡単かのように書かれているが、汗と涙と笑いと感動と苦悩などがここにはあった。
ZLIBが古いとhttpdのrpmが作成できないことがあるのでzlibをいれとく
# wget http://www.zlib.net/zlib-1.2.3.tar.gz # tar zxvf zlib-1.2.3.tar.gz # cd zlib-1.2.3 # ./configure -s # make # make install
yum install autoconf libtool doxygen gcc-c++ openldap-devel db4-devel expat-devel pkgconfig openssl-devel cd /root/src wget http://ftp.kddilabs.jp/infosystems/apache/apr/binaries/rpm/SRPMS/apr-1.2.8-1.src.rpm wget http://ftp.kddilabs.jp/infosystems/apache/apr/binaries/rpm/SRPMS/apr-util-1.2.8-1.src.rpm wget http://ftp.riken.jp/net/apache/httpd/binaries/rpm/SRPMS/httpd-2.2.3-1.src.rpm rpmbuild --rebuild apr-1.2.8-1.src.rpm rpmbuild --rebuild apr-util-1.2.8-1.src.rpm rpmbuild --rebuild httpd-2.2.3-1.src.rpm cd /usr/src/redhat/RPMS/x86_64/ rpm -ihv apr-1.2.8-1.i386.rpm apr-devel-1.2.8-1.i386.rpm rpm -ihv apr-util-1.2.8-1.i386.rpm apr-util-devel-1.2.8-1.i386.rpm rpm -ihv httpd-2.2.3-1.i386.rpm mod_ssl-2.2.3-1.x86_64.rpm 起動 /etc/rc.d/init.d/httpd start
ブラウザ以下URLにアクセスし、ページを表示することを確認 http://124.146.168.187/
負荷分散設定
Apache設定ファイルの変更を行う。
# cd /etc/httpd/conf # cp -ap httpd.conf httpd.conf.orig # vi ----- <VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /home/shohu/project/test/public <Directory "/home/shohu/project/test/public"> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f RewriteRule (.*) $1 [L] ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / balancer://mongrel_cluster/ stickysession=_exam_session_id nofailover=On ProxyPassReverse / balancer://mongrel_cluster/ <Proxy balancer://mongrel_cluster/> BalancerMember http://127.0.0.1:3000 route=0 BalancerMember http://127.0.0.1:3001 route=1 BalancerMember http://127.0.0.1:3002 route=2 </Proxy> </VirtualHost> ----- # /etc/rc.d/init.d/httpd restart mongrelをクラスタ起動する # su - shohu $ cd project/test $ mongrel_rails cluster::start
MySQL5のインストール
CentOS4のyumでMySQL5をインストールするために、以下を設定する。
vi /etc/yum.repos.d/CentOS-Base.repo ----- : #additional packages that extend functionality of existing packages [centosplus] : enabled=1 [contrib] : enabled=1 -----
MYSQLインストール
$ su - # yum install mysql mysql-server mysql-devel # vi /etc/my.cnf ----- [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 default-character-set=utf8 [mysql.server] user=mysql basedir=/var/lib default-character-set=utf8 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid default-character-set=utf8 ----- ルート権限で起動 # /sbin/service mysqld start MySQLを自動起動するように設定 # /sbin/chkconfig mysqld on MySQLのパスワード変更 # mysqladmin -u root password 'XXXXXX'
MySQL / Ruby アダプタインストール
# gem install mysql -- --with-mysql-config=/usr/bin/mysql_config Select which gem to install for your platform (i386-linux) 1. mysql 2.7.3 (mswin32) 2. mysql 2.7.1 (mswin32) 3. mysql 2.7 (ruby) 4. mysql 2.6 (ruby) 5. Skip this gem 6. Cancel installation > 3 Building native extensions. This could take a while... Successfully installed mysql-2.7