Subversionをレンタルサーバ「CORESERVER.JP」に置く設定のメモを書いていきます。
会社の同僚にCORESERVER.JPというサーバを教えてもらいました。
CGIもある程度揃っていて、容量も15ギガで良さげです。
これの前身?のXREAというサーバーもやってるらしいので、実績もまずますです。
とりあえず、サーバはここに決定!!
最初からSubversionが入っているのは良いが、バージョンが古いため、安定バージョンの中で新しいバージョンをインストールして使うことにしました。
以下の説明の元ソースです。
Linux初心者には、こういう解説はものすご~くありがたいです。
以下のWebページの作者に感謝
mkdir ~/tmp
cd ~/tmp tar xvzf db-4.8.26.tar.gz cd db-4.8.26/build_unix/ ../dist/configure --prefix=$HOME/packages --enable-compat185 make make install※killされたりエラーが出たりして止まってしまったコマンドはもう一度行う。
cd ~/tmp tar xvzf subversion-1.6.9.tar.gz tar xvzf subversion-deps-1.6.9.tar.gz cd subversion-1.6.9 ./configure --prefix=$HOME/packages --with-ssl make make install
※killされたりエラーが出たりして止まってしまったコマンドはもう一度行う。
※特に「make」に関してはけっこう待たされるのでKillされることが多いです
自分の場合は「make」を3回繰り返してようやく成功しました。
export PATH=/virtual/ユーザー名/packages/bin:$PATH※当然、ユーザー名の所は自分のユーザー名を入れてね
cd ~ source .bashrc
svn --version
svn, version 1.6.9 (r901367) compiled ??? ?? ????, ??:??:?? Copyright (C) 2000-2009 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). The following repository access (RA) modules are available: * ra_neon : Module for accessing a repository via WebDAV protocol using Neon. - handles 'http' scheme - handles 'https' scheme * ra_svn : Module for accessing a repository using the svn network protocol. - handles 'svn' scheme * ra_local : Module for accessing a repository on local disk. - handles 'file' scheme * ra_serf : Module for accessing a repository via WebDAV protocol using serf. - handles 'http' scheme - handles 'https' scheme
svnadmin --version
svnadmin, version 1.6.9 (r901367) compiled ??? ?? ????, ??:??:?? Copyright (C) 2000-2009 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). The following repository back-end (FS) modules are available: * fs_fs : Module for working with a plain file (FSFS) repository.
svnserve --version
svnserve, version 1.6.9 (r901367) compiled ??? ?? ????, ??:??:?? Copyright (C) 2000-2009 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). The following repository back-end (FS) modules are available: * fs_fs : Module for working with a plain file (FSFS) repository.
ssh-rsa ??????...(省略)
command="/virtual/gyahahaha/packages/bin/svnserve -t" ssh-rsa ??????...(省略)この設定は「svnserve」がある場所のフルパスを指定しています。
※この記事は以下のページを参考にさせていただきました
ありがとうございます
例えば、カレントにリポジトリのフォルダ「repository」を置いた場合、アクセスするURLの書き方は以下の通りです。
svn+ssh://ユーザー名@puttyセッション名/virtual/ユーザー名/repository
例として、puttyで指定したセッション名が「coreserverhost」、CORESERVERへのSSHログインユーザー名が「username」の場合は以下の様になります
svn+ssh://username@coreserverhost/virtual/username/repository
「post-commit」自体は、コミット後に実行するスクリプトの設定です。
ほとんどの人はこのフックの利用には、リポジトリのコミットやバックアップに関する連絡メールを送るのに使う様です。
この設定を何もしていないのに、警告が出る場合はpost-commitを無効化してしまいましょう。
post-commit.tmpl post-commitを以下の様にリネームすると実行されなくなります。
post-commit.tmpl_ post-commit_
現在、CORESERVER.JPにおいて、2010/1/27から
expected format ‘3′ of repository found format ‘5′
というエラーが出てリポジトリが使えなくなる現象が起きています。
探してみると、同じ現象の方が居ました。
この記事を元に、設定方法に新たな記事「2.puttyのインストールと鍵交換方式による SSH 接続設定」を追加しました。
※「authorized_keys?」ファイルの中身をいじってcommandを入れてる所が解決策となります。
余談:サーバー管理者の設定ミスなら直してもらえるかも?と思いサポートに問い合わせてみたのですが
ユーザーが入れたスクリプトの動作は保証していません
という返答が来ました。 まぁそりゃそうだよね