Install DTrace for Linux その1
概要
102回のKernel読書会で見て面白そうと思ったのでLinux環境にて準備。
ちなみに失敗しています。。とりあえずメモ。
インストール
環境はCentOS系。
ダウンロードしたアーカイブを解凍し、READMEを確認すると下記の記述。
Installation
============Very simple:
$ make all
$ make install
$ make load (need to be root or have sudo access)
一瞬で終わりそうだが、このファイルの末尾に下記の記述有り。
For AS4/Centos
==============
yum install elfutils-libelf-devel
これをインストールしておかないとmakeのしょっぱなでコケる。
さて、インストール後に $ make clean した後で Very simple な手順を実行するのであるが、
(中略)
symlink ../../driver/intr_x86-64.S build-2.6.18.8-linode19/driver/intr_x86-64.S
Executing: /hoge/dtrace-20091010/tools/make-me
make -C /usr/src/linux/ M=/hoge/dtrace-20091010/build-2.6.18.8-linode19/driver
make: *** /usr/src/linux/: No such file or directory. Stop.
make[1]: *** [all0] Error 2
tools/bug.sh
======================
== Sorry - but dtrace failed to compile on your system.
== Please forward the following file to:
==
== file: /tmp/dtrace-bug.21540
== mail: dtrace@crisp.demon.co.uk
==
== and the information provided will be used to help
== enhance the tool and fix the underlying issue.
==
== Latest news and blog updates on dtrace available here. Please
== check for latest problem reports.
==
== http://www.crisp.demon.co.uk/blog/
==
== Latest downloads available from here:
==
== ftp://crisp.dynalias.com/pub/release/website/dtrace
== ======================
(generating a make run - this may take a few moments...)
make: *** [all] Error 1
と言われる。
CentOSの場合/usr/src/linux/ は /usr/src/readhat/ になっているためシンボリック貼ってみたりするが、
Executing: /hoge/dtrace-20091010/tools/make-me
make -C /usr/src/linux/ M=/hoge/dtrace-20091010/build-2.6.18.8-linode19/driver
make[2]: *** No targets specified and no makefile found. Stop.
make[1]: *** [all0] Error 2
# ここまで書いて ./configure も通らなければ make test も通らないことに気づく。oops。
どーにもハマりそうなので、Linux向けはまたの機会にする...
ちなみにMacBook上では、威力のほどは確認できました。こういうツールがデフォルトであるかどうかで、後々違ってくるよなぁ。
e-mobileの通信を無線LAN経由でシェアする
Redmine 0.8.5 on Linode(CentOS5.3)
環境構築から導入完了まで一気に.
とりあえず動かすというパラメータなので、パスその他は適宜変更すること.
(redmine.jp でPassenger推奨なのでPassenger導入は実施したが、DBは取り急ぎsqlite3とした.)
- 環境
開発ツール
# yum groupinstall "Development Tools" => 後々必要になりそうなものが多い(svnなど)のでとりあえず入れる. 必要なのだけ入れるのが定石だが.
Ruby
# cd /usr/local/src # wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz # tar zxf ruby-1.8.7-p174.tar.gz # cd ruby-1.8.7-p174 # ./configure --prefix=/usr/local # make && make install # which ruby /usr/local/bin/ruby # ruby -v ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]
RubyGems
# wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz # tar zxf rubygems-1.3.5.tgz # cd rubygems-1.3.5 # ruby setup.rb # which gem /usr/local/bin/gem # gem -v 1.3.5
Ruby on Rails
# cd /usr/local/src/ # wget http://www.zlib.net/zlib-1.2.3.tar.bz2 =>zlib がないとinstall rails でエラーになる. $ scp ./zlib-1.2.3.tar.bz2 username@74.xxx.xxx.xxx: => ホスト名解決できないとか言われた場合は、ローカルで落としてscpでもすると良い. # tar xvf zlib-1.2.3.tar.bz2 # cd zlib-1.2.3 # ./configure --prefix=/usr/local/ -s # make && make install # cd /usr/local/src/ruby-1.8.7-p174/ext/zlib/ # ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib # make && make install # cd # gem install rails -v=2.2.2 => 3分くらい? # rails -v Rails 2.2.2 # mkdir -p rails => rails用のディレクトリを作成しておく. (いつでも変更可)
sqlite3
# yum -y install sqlite sqlite-devel => いれないと、さくらの時と同じエラーになる. # gem install sqlite3-ruby
Redmine
# rpm -qa |grep openssl openssl-0.9.8e-7.el5 # yum -y install openssl-devel-0.9.8e-7.el5 .... Complete! => zlib同様、opensslが無いと後でエラーになる. # cd /usr/local/src/ruby-1.8.7-p174/ext/openssl/ # ruby extconf.rb # make && make install # cd $HOME/rails => /path/to/rails/ # mkdir redmine # cd redmine via : http://rubyforge.org/scm/?group_id=1850 # svn checkout svn://rubyforge.org/var/svn/redmine/branches/0.8-stable . # cd tmp # wget http://rubyforge.org/frs/download.php/63583/redmine-0.8.5.tar.gz # tar zxf redmine-0.8.5.tar.gz # mv redmine-0.8.5/vendor/rails ../vendor/ => tar.gz の vendor/rails を, svn から checkout したプロジェクトに配置する. => 今回は同一バージョンのため、tar.gz 版を使っても良さそう. # rm -rf redmine-0.8.5* # cd $HOME/rails/redmine/ => /path/to/rails/redmine/ # chmod -R o+w tmp log => Apache実行ユーザから書き込むため. # cd config # cp database.yml.example database.yml # vi database.yml => DB設定をsqlite3に変更する. .... +# production: +# adapter: mysql +# database: redmine +# host: localhost +# username: root +# password: +# encoding: utf8 +production: + adapter: sqlite3 + dbfile: db/redmine.db + timeout: 5000 これ以降もコメントしておく.(MySQLのセットアップをしていないと, デフォルト値ではエラー.) .... # rake db:migrate RAILS_ENV="production" # rake redmine:load_default_data RAILS_ENV="production" # Select language: bg, ca, ... > ja
Passenger
via : Apache上でRuby on Railsアプリケーションを動かす/Passenger(mod_rails for Apache)の利用
http://redmine.jp/tech_note/apache-passenger/
yum から入れても動くと思うし、pathが不満(/etc/httpd)なら指定すれば良いのだが、
Apache はソースから入れたい.
# cd /usr/local/src # wget http://ftp.riken.jp/net/apache/httpd/httpd-2.2.13.tar.gz # tar xvf httpd-2.2.13.tar.gz # cd httpd-2.2.13 # ./configure # make && make install # /usr/local/apache2/bin/apachectl start # /usr/local/apache2/bin/apachectl stop # gem install passenger # env APXS2=/usr/local/apache2/bin/apxs PATH=/usr/local/apache2/bin:$PATH passenger-install-apache2-module => 1行じゃないとコケた. # passenger-install-apache2-module .... -------------------------------------------- The Apache 2 module was successfully installed. => この後設定例が出る. Enter # vim /usr/local/apache2/conf/httpd.conf LoadModule の項付近に下記を追加. LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.5/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.5 PassengerRuby /usr/local/bin/ruby 末尾に下記を追加. "allow from ..." を忘れないこと. ここは設定例と異なる. /path/to/rails/.. は環境に合わせる. <VirtualHost *:80> ServerName www.yourhost.com DocumentRoot /path/to/rails/redmine/public <Directory /> allow from all </Directory> </VirtualHost>
その他
横着したので、"(13)Permission denied" と error_log に出る事象に悩まされた.
上のディレクトリのパーミッションが、その他ユーザに+xされてないとNG.
# えぇ、とりあえず動かそうと思って/root/rails/redmine とかでやってました..
/home/username/rails/redmine/.. などであれば、下記対応で動作する.
# chmod o+x /home/username
以降はブラウザ操作となる.
via : Redmine 0.8.5 on さくらサーバ構築まとめ
http://d.hatena.ne.jp/stacking/20090915/1253039401
via : linode(ubuntu 9.04 64ビット)に redmine を設置する
http://d.hatena.ne.jp/sevenpg/20090920/1253454278
DNS and Apache VirtualHost settings on Linode
- 概要
- 前提
DNS関連
自ドメイン名を入力. Master で "Continue"
ドメイン名, メールアドレス, IPなどを入力し "Save"
さらっと設定が完了
ちなみに設定ファイルは15分置きのバッチで反映される
Linode の DNS Manager で Aレコードを設定する
(面倒なら *(アスタリスク) 指定でも良い)
# なお、CNAMEよりAレコードに記述したほうがDNSへの問い合わせが減るため、Aレコードでの運用が良いと思う.
レジストラ側で、ネームサーバをLinodeに変更する
急ぎで使いたければ自ホストの/etc/hosts を書き換える
(whois, nslookupで参照できる情報の変更は数分で済むようだが、ドメインが別ホストを向いていた場合には時間がかかることもある. 実際半日くらいかかるところもあった模様.)
LinodeのノードIPがaa.bbb.ccc.dddの場合. $ vim /etc/hosts +aa.bbb.ccc.ddd www.hoge.com +aa.bbb.ccc.ddd test.hoge.com
ApacheのVirtualHost設定
無指定(www)はApacheのデフォルト、それ以外は任意のドキュメントルート
(ex. www.hoge.com, test.hoge.com を分ける場合)
# vim /usr/local/apache2/conf/httpd.conf // 以下を追加. # Listen for virtual host requests on all IP addresses NameVirtualHost *:80 <VirtualHost *:80> ServerName www.hoge.com DocumentRoot /usr/local/apache2/htdocs/ <Directory /> allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerName test.hoge.com DocumentRoot /path/to/rails/redmine/public <Directory /> allow from all </Directory> </VirtualHost> # /usr/local/apache2/bin/apachectl restart => 設定を反映する.
Apacheをいじる場合は下記を一読のこと.
via : バーチャルホストの例
http://httpd.apache.org/docs/2.2/ja/vhosts/examples.html
Linode契約からOS起動後の作業まとめ
Linode契約
下記のページで、"Fremont, CA" に空きがあることを確認.
他のVPSではあまり無いようだが、Linodeでは使用するデータセンタを選択できる.
日本からの場合、西海岸であればそこそこ快適なレスポンスを得られるため、
"Fremont, CA" に空きがあることを確認する.
逆に、ここが空いていないと契約は待った方が良い気がする.
Datacenter Availability
http://www.linode.com/avail.cfm
http://www.linode.com/ にアクセス
Sign Up Now! をクリック
次ページではアカウント名, パスワード, 住所などの情報, 課金のカード情報 を入力.
My referral code is: 1cfc1bb96422786fde2ff55904c2b2f6e121d962
:-)
OS起動
"Hurricane Electric Fremont, CA, USA" を選択.
Dashboardが表示される.
右上の"my profile" をクリック.
適切なタイムゾーンを選ぶ.
Dashboardに戻って、"Deploy a Linux Distribution" をクリック
現在選べるディストリビューションは下記の通り.
とりあえずCentOSを選択.(RHEL互換, 普段使ってる, etc)
なお、LinodeではUbuntuが圧倒的に使用されている模様.
なおなお、64bitでないほうが、メモリ消費は少なくてすむ.
OS初期設定
以下はMac OS X でiTermでの作業.
# アップデートより何より、遠隔作業するならSSHの設定を真っ先にやるべきと思う.
# ssh-keygen -t rsa -v Enter Enter # more ~/.ssh/id_rsa.pub 内容をコピーしておく # ssh root@74.xxx.xxx.xxx
ログイン後、VPS側での作業.
# last -a =>ログイン元をチェック # vim /etc/hosts.allow sshd: 127.0.0.1 sshd: .hoge.fuga.ne.jp => SSHアクセス元を自ホストに限定(とりあえず) # vim /etc/hosts.deny sshd: ALL # useradd username # passwd userpass # su username => 一般ユーザを作成. # mkdir -p ~/.ssh # chmod 700 ~/.ssh # vim ~/.ssh/authorized_keys =>コピーした内容を貼付ける. touch で作成, echo で入れ込みならLinodeのAjax Console(ブラウザ)からでもいけるのかも. Ajax ConsoleでEsc(Viのコマンドモード)に入る方法がわからなかったので ターミナルからやってしまった. # chmod 600 ~/.ssh/authorized_keys # exit # vim /etc/ssh/sshd_config PermitRootLogin no PasswordAuthentication no PermitEmptyPasswords no => 最低限の設定. # /etc/rc.d/init.d/sshd reload
iTerm上、command + T で別タブを開く
# ssh -i ~/.ssh/id_rsa username@74.xx.xxx.xxx 以降は下記でログインできるようになる. なんも聞かれないんで不安っちゃ不安... #ssh username@74.xx.xxx.xxx
以降の基本的な設定は他サイトにて。
via : CentOSで自宅サーバ構築
http://centossrv.com/
LinodeでCentOS初期設定
初期設定
vimの設定
# alias vi="vim" 必要ならば下記を実行. via : vim の文字コード自動認識用設定 http://www.kawaz.jp/pukiwiki/index.php?vim#cb691f26
# yum -y install yum-fastestmirror # yum -y install sudo => sudoくらい入れておいても.. # visudo -# %wheel ALL=(ALL) NOPASSWD: ALL +%wheel ALL=(ALL) NOPASSWD: ALL => パスワードを入れたければ NOPASSWD では無い方をコメントアウト. # yum -y install wget => wgetくらい入れてくれてても.. # yum -y install rpm-build => これが無いとrpmインストールできないパッケージ有 # yum -y install yum-priorities # vim /etc/yum.repos.d/CentOS-Base.repo [base], [updates], [addons], [extras] +priority=1 [centosplus] +priority=5 # cd /usr/local/src # wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm # wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm => だめならこっち # rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt # rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm # rpm -i rpmforge-release-0.3.6-1.el5.rf.*.rpm # vim /etc/yum.repos.d/rpmforge.repo [rpmforge] enabled = 0 使う時は下記の要領. "--enablerepo=rpmforge" を付ける. yum --enablerepo=rpmforge -y install perl-Module-Build
iptablesの設定
まずはiptablesということで下記を参照。したところエラーとなった。
http://centossrv.com/iptables.shtml
# ./iptables.sh Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: raw nat mangle filter [ OK ] Unloading iptables modules: [ OK ] Saving firewall rules to /etc/sysconfig/iptables: [ OK ] Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: raw nat mangle filter [ OK ] Unloading iptables modules: [ OK ] Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_ns [FAILED] モジュールが無い模様. iptables に netbios なんて名前の付くモジュールがあることを初めて知る. 必要なさそうなので使用先を確認. # fgrep -i 'ip_conntrack_netbios_ns' /etc/sysconfig/iptables* /etc/sysconfig/iptables-config:IPTABLES_MODULES="ip_conntrack_netbios_ns" ビンゴ. とりあえず外しておく. #IPTABLES_MODULES="ip_conntrack_netbios_ns" IPTABLES_MODULES="" 再実行したところok. # ./iptables.sh Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: raw nat mangle filter [ OK ] Unloading iptables modules: [ OK ] Saving firewall rules to /etc/sysconfig/iptables: [ OK ] Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: raw nat mangle filter [ OK ] Unloading iptables modules: [ OK ] Applying iptables firewall rules: [ OK ]
Redmine 0.8.5 on さくらサーバ構築まとめ
さくらのスタンダードプランへのインストール手順まとめ.
# 同件は色々とまとめられているが、一筋縄ではいかなかったので.
- 環境
- 前提
シェルの入力補間
%cd # set autolist を追加. %vi .cshrc .... set autolist if ($?prompt) then .... # Esc -> ZZ などでvi閉じる. %source $HOME/.cshrc %rehash %./(Tabを押す) MailBox/ db/ sblo_files/ www/
Vim
%mkdir -p $HOME/local/src %cd $HOME/local/src %wget ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2 %wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz %wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz %tar jxf vim-7.2.tar.bz2 %tar zxf vim-7.2-extra.tar.gz %tar zxf vim-7.2-lang.tar.gz %cd vim72 %mkdir patches %cd patches %curl -O 'ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.[001-259]' %cd .. %cat patches/7.2.* | patch -p0 %./configure --enable-multibyte --enable-xim --enable-fontset \ --with-features=big --prefix=$HOME/local %make && make install # vim のエイリアス設定, パスの追加. %cd %vi .cshrc .... alias ll ls -lA alias vi vim # set path に $HOME/local/bin を追加. 必ず /usr/local/bin より前に書くこと. #set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin) set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin $HOME/local/bin /usr/local/bin $HOME/bin) .... # Esc -> ZZ などでvi閉じる. # 保存→即反映する. %source $HOME/.cshrc %rehash # via : vim の文字コード自動認識用設定 # http://www.kawaz.jp/pukiwiki/index.php?vim#cb691f26
via : さくらインターネットの共用サーバに vim をインストールする
http://www.hazama.nu/t2o2/archives/002696.shtml
Subversion
各種最新ソースを取得するにもSVNコマンドが入っていないためインストール.
subversion, apr, apr-util はそれぞれ最新版をチェックして適宜変更.
%cd $HOME/local/src %wget http://subversion.tigris.org/downloads/subversion-1.6.5.tar.bz2 %wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-0.9.18.tar.bz2 %wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-util-0.9.17.tar.bz2 %tar jxf subversion-1.6.5.tar.bz2 %cd subversion-1.6.5 %tar jxf ../apr-0.9.18.tar.bz2 %mv apr-0.9.18 apr %tar jxf ../apr-util-0.9.17.tar.bz2 %mv apr-util-0.9.17 apr-util %./configure --prefix=$HOME/local/ %make && make install # インストールチェック. %svn --help usage: svn <subcommand> [options] [args] Subversion command-line client, version 1.6.5. ...
via :
さくらインターネットでSubversion
http://saikyoline.jp/weblog/2005/10/15/001101.html
さくらインターネットでSubversionの補足。
http://saikyoline.jp/weblog/2007/04/15/013257.html
Ruby
%cd $HOME/local/src %wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz %tar zxf ruby-1.8.7-p174.tar.gz %cd ruby-1.8.7-p174 %./configure --prefix=$HOME/local %make && make install # iconv のインストール. Redmineで使う(はず) %cd $HOME/local/src/ruby-1.8.7-p174/ext/iconv %ruby extconf.rb --prefix=$HOME/local --with-iconv-dir=/usr/local %make && make install
RubyGems
%cd $HOME/local/src %wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz %tar zxf rubygems-1.3.5.tgz %cd rubygems-1.3.5 %setenv RB_USER_INSTALL true %setenv GEM_HOME $HOME/local/gems/1.8 %ruby setup.rb --prefix=/ --destdir=$HOME/local/gems/1.8 # $HOME/local/gems/1.8/bin/gem18 に入る. # setenv に RUBYLIB, GEM_HOME の値を追加. %cd %vi .cshrc ... setenv PKG_DBDIR ~/db/pkg setenv RB_USER_INSTALL true setenv RUBYLIB $HOME/local/lib/ruby/site_ruby/1.8:$HOME/local/gems/1.8/lib setenv GEM_HOME $HOME/local/gems/1.8 # set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin $HOME/local/bin) set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin $HOME/local/bin $GEM_HOME/bin $RUBYLIB/bin) ---- # Esc -> ZZ などでvi閉じる. # 保存→即反映する. %source $HOME/.cshrc %rehash %gem18 --version 1.3.5
Ruby on Rails
%cd # redmine 0.8.5 では, Rails 2.1.2 を指定. %gem18 install rails -v=2.1.2 Successfully installed activesupport-2.1.2 Successfully installed activerecord-2.1.2 Successfully installed actionpack-2.1.2 Successfully installed actionmailer-2.1.2 Successfully installed activeresource-2.1.2 Successfully installed rails-2.1.2 6 gems installed Installing ri documentation for activesupport-2.1.2... Installing ri documentation for activerecord-2.1.2... Installing ri documentation for actionpack-2.1.2... Installing ri documentation for actionmailer-2.1.2... Installing ri documentation for activeresource-2.1.2... Installing ri documentation for rails-2.1.2... Installing RDoc documentation for activesupport-2.1.2... Installing RDoc documentation for activerecord-2.1.2... Installing RDoc documentation for actionpack-2.1.2... Installing RDoc documentation for actionmailer-2.1.2... Installing RDoc documentation for activeresource-2.1.2... Installing RDoc documentation for rails-2.1.2... /* # 先にバージョン指定なしでインストールした場合は下記. gem18 install rails Successfully installed rake-0.8.7 Successfully installed activesupport-2.3.4 Successfully installed activerecord-2.3.4 Successfully installed rack-1.0.0 Successfully installed actionpack-2.3.4 Successfully installed actionmailer-2.3.4 Successfully installed activeresource-2.3.4 Successfully installed rails-2.3.4 8 gems installed Installing ri documentation for rake-0.8.7... Installing ri documentation for activesupport-2.3.4... Installing ri documentation for activerecord-2.3.4... Installing ri documentation for rack-1.0.0... Installing ri documentation for actionpack-2.3.4... Installing ri documentation for actionmailer-2.3.4... Installing ri documentation for activeresource-2.3.4... Installing ri documentation for rails-2.3.4... Installing RDoc documentation for rake-0.8.7... Installing RDoc documentation for activesupport-2.3.4... Installing RDoc documentation for activerecord-2.3.4... Installing RDoc documentation for rack-1.0.0... Installing RDoc documentation for actionpack-2.3.4... Installing RDoc documentation for actionmailer-2.3.4... Installing RDoc documentation for activeresource-2.3.4... Installing RDoc documentation for rails-2.3.4... */ # インストールチェック. %rehash %rails -v 2.1.2 /* # 2重で入れた場合は, Redmineに合わせておく. %gem18 uninstall rails Select gem to uninstall: 1. rails-2.1.2 2. rails-2.3.4 3. All versions > 2 Successfully uninstalled rails-2.3.4 %rails -v Rails 2.1.2 */ # どうでもいいけど、ここまでやった後で昨日(9/13)に0.8.5がリリースされたことを知る. mkdir rails
sqlite3-ruby
# ソースから導入. # gemはエラーになる.(libが足りない?) /* %gem18 install sqlite3-ruby Building native extensions. This could take a while... ERROR: Error installing sqlite3-ruby: ERROR: Failed to build gem native extension. /usr/local/bin/ruby18 extconf.rb checking for fdatasync() in -lrt... no checking for sqlite3.h... no *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. */ %cd $HOME/local/src %wget http://rubyforge.org/frs/download.php/42056/sqlite3-ruby-1.2.4.tar.gz %tar zxf sqlite3-ruby-1.2.4.tar.gz %cd sqlite3-ruby-1.2.4 %ruby setup.rb config --prefix=$HOME/local %ruby setup.rb setup %ruby setup.rb install
Redmine
# ~/www 以外の場所に配置する. %cd $HOME/rails %mkdir redmine %cd redmine # via : http://rubyforge.org/scm/?group_id=1850 %svn checkout svn://rubyforge.org/var/svn/redmine/branches/0.8-stable . %cd tmp # tar.gz の vendor/rails を, svn から checkout したプロジェクトに配置する. # 今回は同一バージョンのため、tar.gz 版を使っても良さそう. %wget http://rubyforge.org/frs/download.php/63583/redmine-0.8.5.tar.gz %tar zxf redmine-0.8.5.tar.gz %mv redmine-0.8.5/vendor/rails ../vendor/ # sweep. %rm -rf redmine-0.8.5* %cd $HOME/rails/redmine/ # Apache実行ユーザから書き込むため. %chmod -R o+w tmp log # DBをsqlite3に変更. %cd config %cp database.yml.example database.yml %vi database.yml .... # production: # adapter: mysql # database: redmine # host: localhost # username: root # password: # encoding: utf8 production: adapter: sqlite3 dbfile: db/redmine.db timeout: 5000 # これ以降もコメントしておく.(MySQLのセットアップをしていないと, デフォルト値ではエラー.) .... # 下記の rake でつまづく場合は, 下記のパスをチェック. # setenv RUBYLIB $HOME/local/lib/ruby/site_ruby/1.8:$HOME/local/gems/1.8/lib # set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin $HOME/local/bin /usr/local/bin $HOME/bin $GEM_HOME/bin $RUBYLIB/bin) # DBセットアップ %rake db:migrate RAILS_ENV="production" %rake redmine:load_default_data RAILS_ENV="production" Select language: bg, ca, ... > ja # 環境設定. $HOME の部分は各自の値に置き換えて入力する. %vi config/enviroment.rb # Be sure to restart your web server when you modify this file. # configuration for SAKURA # ~/.cshrcに設定した環境変数「RUBYLIB」と「GEM_HOME」 $LOAD_PATH.push("/home/hoge/local/lib/ruby/site_ruby/1.8") $LOAD_PATH.push("/home/hoge/local/gems/1.8/lib") ENV['GEM_HOME']||='/home/hoge/local/gems/1.8' ENV['PATH']+=':/home/hoge/local/bin' .... %cd $HOME/rails/redmine # CGI動作のためOptions部をコメント. %vi public/.htaccess .... #Options +FollowSymLinks +ExecCGI # forge(工房)とかにするならRewriteBaseを使う. RewriteBase /myforge ---- # dispatch.cgi のコピー. %cp -p public/dispatch.cgi.example public/dispatch.cgi %vi public/dispatch.cgi # which ruby のパス. #!/home/hoge/local/bin/ruby .... # 実行権付与. %chmod u+x public/dispatch.cgi # 外部アクセス用にシンボリックリンクを張る. # RewriteBase 使用時は、www/myforge などとする. %ln -s $HOME/rails/redmine/public $HOME/www/redmine # ブラウザから下記にアクセス. # http://hoge.sakura.ne.jp/redmine/
fcgi
%cd $HOME/local/src %wget http://fastcgi.com/dist/fcgi-2.4.0.tar.gz %tar zxf fcgi-2.4.0.tar.gz %cd fcgi-2.4.0 %./configure --prefix=$HOME/local %make && make install # fcgi -- --with-.. なので注意. %gem18 install fcgi -- --with-fcgi-include=$HOME/local/include/ --with-fcgi-lib=$HOME/local/lib/ Building native extensions. This could take a while... Successfully installed fcgi-0.8.7 1 gem installed Installing ri documentation for fcgi-0.8.7... Installing RDoc documentation for fcgi-0.8.7... %cd $HOME/rails/redmine/ # 作らないとログ書き込みできないエラーになる. %mkdir log/drb_gateway %chmod 777 log/drb_gateway %cp -p vendor/rails/railties/dispatches/gateway.cgi public/. %cp -p vendor/rails/railties/lib/commands/ncgi/listener script/. %cp -p vendor/rails/railties/lib/commands/ncgi/tracker script/. %chmod 755 public/gateway.cgi # 以下diff形式。'-' を削除, '+' を追加 %vi public/gateway.cgi -#!/usr/local/bin/ruby +#!/usr/bin/env ruby - sleep 0.5 + sleep 1 %vi public/.htaccess - RewriteRule ^(.*)$ dispatch.cgi [QSA,L] + RewriteRule ^(.*)$ gateway.cgi [QSA,L] %vi script/listener -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require 'stringio' require 'fileutils' +require 'rubygems' +gem 'fcgi' + require 'fcgi_handler' def message(s) .... self.env_table = env_table self.stdinput = input || StringIO.new self.stdoutput = output || StringIO.new + $stdin = self.stdinput + $stdout = self.stdoutput super() end .... %vi script/tracker -#!/usr/local/bin/ruby +#!/usr/bin/env ruby # .htaccess で RewriteBase使用時. %vi config/environments/production.rb + +# gateway.cgi configuration +ActionController::AbstractRequest.relative_url_root = "/myforge" via : さくらサーバーでRailsを高速に動作させる方法 http://d.hatena.ne.jp/cimadai/20080923/RubyonRails_on_sakura via : さくらサーバへRedmineをインストールしたときのメモ http://mcnc.jp/wiki/wikird/index.php?cmd=read&page=Linux%2F%A5%DE%A5%CB%A5%E5%A5%A2%A5%EB%2Fweb%2FRedmine%2F%A4%B5%A4%AF%A4%E9%A5%B5%A1%BC%A5%D0%A4%D8%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
さすがに、もうちょっと短くしたい...