Gitorious 導入メモ

導入メモ。
http://cjohansen.no/en/ruby/setting_up_gitorious_on_your_own_server の記述の最初の部分に沿って以下。

$ sudo aptitude install git-core git-svn
$ sudo aptitude install apg build-essential libpcre3 libpcre3-dev sendmail \
make zlib1g zlib1g-dev ssh
$ sudo aptitude install -y ruby1.8 libbluecloth-ruby libopenssl-ruby1.8 ruby1.8-dev \
    ri rdoc irb
$ sudo ln -s /usr/bin/ruby1.8 /usr/bin/ruby

で、次の ruby-enterprise なソレですが、

Ubuntu なリンクから wget して

$ sudo dpkg -i ruby-enterprise_1.8.7-2011.03_amd64_ubuntu10.04.deb

で、/etc/profile に以下を追加して

export LD_LIBRARY_PATH="/usr/local/lib"
export LDFLAGS="-L/usr/local/lib -Wl,-rpath,/usr/local/lib"

/etc/ld.so.conf を以下に修正。

/usr/local/lib
include ld.so.conf.d/*.conf

その後、上記修正を盛り込み。

$ sudo su
# . /etc/profile
# ldconfig

なんか ruby1.9 をソースから、とか書いてあるんですが、、
とりあえず以下。

$ sudo aptitude install libc6-dev libssl-dev libmysql++-dev \
    libsqlite3-dev libreadline5-dev

で、ソースをげとして云々。

$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
$ tar xvzf ruby-1.9.1-p243.tar.gz
$ cd ruby-1.9.1-p243
$ ./configure --prefix=/usr/local
$ make && sudo make install

確認。

$ which ruby
/usr/local/bin/ruby
$ ruby -v
ruby 1.9.1p243 (2009-07-16 revision 24175) [x86_64-linux]
$

次は mysql bindings とのことにて以下。

$ wget http://rubyforge.org/frs/download.php/51087/mysql-ruby-2.8.1.tar.gz
$ tar xzvf mysql-ruby-2.8.1.tar.gz
$ cd mysql-ruby-2.8.1
$ sudo ruby extconf.rb
$ make && sudo make install

次は rubygem らしい。

$ wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
$ tar xvzf rubygems-1.3.5.tgz
$ cd rubygems-1.3.5
$ sudo ruby setup.rb
$ sudo ln -s /usr/bin/gem1.8 /usr/bin/gem

ここで Debian デフォとは道を分かつ訳ですな。
と思ったら /usr/local/bin 配下でした。

$ which gem
/usr/local/bin/gem
$

なのでシンボリックリンクは張ってません。次はまた aptitude で以下。

$ sudo aptitude install libonig-dev libyaml-dev geoip-bin \
    libgeoip-dev libgeoip1

あるいは以下。

$ sudo apt-get install -y imagemagick libmagickwand-dev

なんかどっさりパケジが入る模様。で、次は mysql ? って言いつつ以下。

$ sudo aptitude install mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reading extended state information      
Initializing package states... Done
No candidate version found for mysql-client-5.0
No candidate version found for mysql-server-5.0
No candidate version found for mysql-client-5.0
No candidate version found for mysql-server-5.0
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 0B will be used.
Writing extended state information... Done
Reading package lists... Done             
Building dependency tree       
Reading state information... Done
Reading extended state information      
Initializing package states... Done

$

え?
仕方が無いので以下。

$ sudo aptitude install mysql-client-5.1 mysql-server-5.1 libmysqlclient16-dev 

で、次は以下とのことですが、wget が遅い。

$ wget http://www.sphinxsearch.com/downloads/sphinx-0.9.8.tar.gz
$ tar xvfz sphinx-0.9.8.tar.gz
$ cd sphinx-0.9.8
$ ./configure
$ make && sudo make install

で、次が apache-activemq-5.2.0-bin.tar.gz を云々とのことですがその前に

$ sudo aptitude install uuid uuid-dev openjdk-6-jre

して wget しようとしたら NG でした。以下が正しい?

$ wget http://www.apache.org/dyn/closer.cgi/activemq/apache-activemq/5.2.0/apache-activemq-5.2.0-bin.tar.gz
$ 

で、今回からオペレーションが微妙に違うな。

$ sudo tar xzvf apache-activemq-5.2.0-bin.tar.gz  -C /usr/local/
$ sudo sh -c 'echo "export ACTIVEMQ_HOME=/usr/local/apache-activemq-5.2.0" \
    >> /etc/activemq.conf'
$ sudo sh -c 'echo "export JAVA_HOME=/usr/" >> /etc/activemq.conf'
$ sudo adduser --system --no-create-home activemq
$ sudo chown -R activemq /usr/local/apache-activemq-5.2.0/data

というか、wget したソレは html だったorz
ただしくは以下?

$ wget http://ftp.kddilabs.jp/infosystems/apache//activemq/apache-activemq/5.2.0/apache-activemq-5.2.0-bin.tar.gz

駄目。載ってるポインタが全部駄目だ。apache.org の中にも 5.2 なリンクが無い。latest で良いのかなぁ、と言いつつ 5.5.0 でナニ。

$ wget http://www.eu.apache.org/dist//activemq/apache-activemq/5.5.0/apache-activemq-5.5.0-bin.tar.gz

結構巨大。で上記のコマンド実行して設定ファイルが云々とありますが、どうも例示されてるナニな記述は盛り込まれてそうなのでスルー。
あとはスタートアップをナニ。

$ wget http://launchpadlibrarian.net/15645459/activemq
$ sudo mv activemq /etc/init.d/activemq
$ sudo chmod +x /etc/init.d/activemq
$ sudo update-rc.d activemq defaults

作業再開

まだまだ長い。次は memcached とのこと。

$ sudo aptitude install  memcached
$ sudo update-rc.d memcached defaults

何故か update-rc.d しないとダメなんですね。次は apache2 です。

$ sudo aptitude install apache2

で、gitorious 本体を持ってくるもよう。

$ sudo groupadd gitorious
$ sudo usermod -a -G gitorious christian
$ sudo mkdir -p /var/www/git.myserver.com
$ sudo chown christian:gitorious /var/www/git.myserver.com
$ sudo chmod -R g+sw /var/www/git.myserver.com

で、以下。

$ cd /var/www/git.myserver.com
$ mkdir log
$ mkdir conf
$ git clone git://gitorious.org/gitorious/mainline.git gitorious
$ sudo ln -s /var/www/git.myserver.com/gitorious/script/gitorious /usr/local/bin/gitorious
$ cd gitorious/
$ rm public/.htaccess
$ mkdir -p tmp/pids
$ sudo chmod ug+x script/*
$ sudo chmod -R g+w config/ log/ public/ tmp/

って clone できんな。ああ、クローズドな network だからなのか。プロキシ経由で http で clone できんかな。HTTP 経由だと以下な URL らしい。

失敗したので http にしてリトライしてみたらイケました。やれやれだ。

git-daemon スクリプト

よく見てなかったのでビビッたのですが、修正対象はやはり script/ 配下ではなくて doc/templates/ubuntu/ の git-daemon らしい。
修正したのは以下。

RUBY_HOME="/usr/local/"
# RUBY_HOME="/opt/ruby-enterprise"
GITORIOUS_HOME="/var/www/git.myserver.com/gitorious"
# GITORIOUS_HOME="/var/www/gitorious"

で、リンク張って

$ sudo ln -s \
  /var/www/git.myserver.com/gitorious/doc/templates/ubuntu/git-ultrasphinx \
  /etc/init.d/git-ultrasphinx
$ sudo ln -s \
  /var/www/git.myserver.com/gitorious/doc/templates/ubuntu/git-daemon \
  /etc/init.d/git-daemon

属性などをナニ。

$ sudo chmod +x /etc/init.d/git-ultrasphinx
$ sudo chmod +x /etc/init.d/git-daemon
$ sudo update-rc.d -f git-daemon start 99 2 3 4 5 .
$ sudo update-rc.d -f git-ultrasphinx start 99 2 3 4 5 .

で、gem でもごもごしろ、って言ってますが、

$ sudo gem install bundler
ERROR:  Error installing bundler:
        bundler requires RubyGems version >= 1.3.6

何スかこれ。って書いてあるママか。使っている gem のバージョンは残念なことに 1.3.5 ということになっております。
これ、ruby-enterprise が /usr/local/bin で云々な影響なのか。/usr/local/bin に居る gem は削除させて頂いて、って enterprise な ruby と 1.9 な ruby が完全にカブッてしまってますね。こりゃヤり直しかな。

リトライ

以下を基に再試行してみます。

とほほ。