-[[戻る>DoldoWorkz#subversion]] --[[''Subversion''>Subversion]] ---[[Subversion/Windowsで使う(TortoiseSVN)]] ---[[Subversion/リポジトリをCORESERVER.JPに置く]]&color(red){''✓''}; *目次 [#s3545e22] Subversionをレンタルサーバ「CORESERVER.JP」に置く設定のメモを書いていきます。~ #contents *レンタルサーバーにCORESERVER.JPを使う [#kf776c78] 会社の同僚にCORESERVER.JPというサーバを教えてもらいました。~ CGIもある程度揃っていて、容量も15ギガで良さげです。~ これの前身?のXREAというサーバーもやってるらしいので、実績もまずますです。~ -[[CORESERVER.JP コアサーバー:http://www.coreserver.jp/]]~ ~ とりあえず、サーバはここに決定!!~ 最初からSubversionが入っているのは良いが、バージョンが古いため、安定バージョンの中で新しいバージョンをインストールして使うことにしました。~ *設定方法 [#vfc79590] **1.「CORESERVER.jp」にSubversion新バージョン(1.6.9)をインストール [#CORESERVERInstallSVN] 以下の説明の元ソースです。~ Linux初心者には、こういう解説はものすご~くありがたいです。~ 以下のWebページの作者に感謝⌣~ -[[CORESERVERにSubversionをインストールする:http://stickstack.org/coreserver/subversion]]~ -[[coreserverにSubversion入れようとしたのだが…:http://hemiolia.com/blog/200801/000138]]~ ~ +&color(blue){''入れるのが初めてであればこの項目は飛ばしてください。''};~ 旧バージョンを全く同じ手順で入れている場合、ホームのルートに「packages」フォルダが出来ていると思います。~ この中に前回インストールしたファイル群が含まれていますので、このフォルダを削除するかリネームして下さい。~ これで古いバージョンのアンインストールは完了です。~ +&color(blue){''過去で既に行っている場合はこの項目は飛ばしてください。''};~ 作業用に「tmp」フォルダを作成~ mkdir ~/tmp +「Oracle Berkeley DB」のファイルをダウンロード~ 「Oracle Berkeley DB」のページから最新バージョンのBerkeley DB 4.8.26.tar.gz(db-4.8.26.tar.gz)をダウンロードして「tmp」フォルダに突っ込む~ --[[Oracle Berkeley DB>http://www.oracle.com/technology/software/products/berkeley-db/db/index.html]] +「Oracle Berkeley DB」をインストールする~ 以下のコマンドを順番に打ち込めばインストール出来ます。~ 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 ※&color(red){''killされたりエラーが出たりして止まってしまったコマンドはもう一度''};行う。~ +「Subversion」のファイル2つをダウンロード~ のページからバージョン1.6.9ファイルを2つダウンロードする~ [[http://subversion.tigris.org/downloads/subversion-1.6.9.tar.gz>http://subversion.tigris.org/downloads/subversion-1.6.9.tar.gz]]~ [[http://subversion.tigris.org/downloads/subversion-deps-1.6.9.tar.gz>http://subversion.tigris.org/downloads/subversion-deps-1.6.9.tar.gz]]~ この2つのファイル(subversion-1.6.9.tar.gz と subversion-deps-1.6.9.tar.gz)を「tmp」フォルダに突っ込む~ +「Subversion」をインストールする~ 以下のコマンドを順番に打ち込めばインストール出来ます。~ 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 ※&color(red){''killされたりエラーが出たりして止まってしまったコマンドはもう一度''};行う。~ ※特に「make」に関してはけっこう待たされるのでKillされることが多いです~ &color(red){''自分の場合は「make」を3回繰り返してようやく成功しました。''};~ +&color(blue){''過去で既に行っている場合はこの項目は飛ばしてください。''};~ カレントフォルダに「.bashrc」ファイルを作成する~ 「.bashrc」という名前(&color(blue){''ファイル名はとても重要''};なので間違えないようにしてください)のテキストファイルを作り、ファイルの内容を以下のようにする~ export PATH=$HOME/packages/bin:$PATH ※当然、ユーザー名の所は自分のユーザー名を入れてね~ +&color(blue){''過去で既に行っている場合はこの項目は飛ばしてください。''};~ 「.bashrc」ファイルを認識させるためにコマンドを打つ~ cd ~ source .bashrc +ログインし直して、以下の3つのコマンドとも、バージョンが1.6.9と出れば成功です。~ ++「svn」コマンドのバージョン 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」コマンドのバージョン 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」コマンドのバージョン 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. **2.puttyのインストールと鍵交換方式による SSH 接続設定 [#i4101e06] +以下のページからputtyをダウンロードしてインストールします~ [[PuTTY ごった煮版>http://yebisuya.dip.jp/Software/PuTTY/]]~ +鍵交換方式によるSSH設定を行います(詳しくは以下のページを参照)~ [[PuTTY で鍵交換方式による SSH 接続:http://www.kuins.kyoto-u.ac.jp/news/47/putty-gen.html]]~ ※&color(red){''Subversionログイン用と、コンソールログイン用で別に設定(鍵作成)''};して下さい。~ この際に「.ssh」フォルダに置く公開鍵(OpenSSH形式)のファイル名を以下の様にします~ Subversionログイン用:「authorized_keys」~ コンソールログイン用:「authorized_keys2」~ +&color(blue){''先ほどSubversionログイン用に作成した「authorized_keys」''};の内容を以下の様に追加します~ 具体例としては、このようになると思います~ --変更前 ssh-rsa ??????...(省略) --変更後 command="/virtual/gyahahaha/packages/bin/svnserve -t" ssh-rsa ??????...(省略) この設定は「svnserve」がある場所のフルパスを指定しています。~ 変更後、この鍵ではコンソールからログインする事が出来なくなりますので注意!~ 同じ事を言いますが設定(鍵作成)は&color(red){''Subversionログイン用と、コンソールログイン用''};で別にして下さい。~ ※この記事は以下のページを参考にさせていただきました~ ありがとうございます~ -[[CoreServer で Subversion が突然使えなくなった。 « Note>http://note.farawaysky.net/201001/mac-os-x-290.html]]~ -[[PuTTY で鍵交換方式による SSH 接続:http://www.kuins.kyoto-u.ac.jp/news/47/putty-gen.html]]~ -[[PuTTY ごった煮版>http://yebisuya.dip.jp/Software/PuTTY/]]~ **3.TortoiseSVNでSSH接続する設定 [#n311d55b] 例えば、カレントにリポジトリのフォルダ「repository」を置いた場合、アクセスするURLの書き方は以下の通りです。~ svn+ssh://ユーザー名@puttyセッション名/virtual/ユーザー名/repository 例として、puttyで指定したセッション名が「coreserverhost」、CORESERVERへのSSHログインユーザー名が「username」の場合は以下の様になります~ svn+ssh://username@coreserverhost/virtual/username/repository *トラブル [#a301e9ee] **コミット時に「post-commit hook failed (exit code 255) with no output.」という警告が出る [#me0481b0] 「post-commit」自体は、コミット後に実行するスクリプトの設定です。~ ほとんどの人はこのフックの利用には、リポジトリのコミットやバックアップに関する連絡メールを送るのに使う様です。~ この設定を何もしていないのに、警告が出る場合はpost-commitを無効化してしまいましょう。~ -[[Subversion によるバージョン管理 フックスクリプト:http://subversion.bluegate.org/doc/book.html#svn.reposadmin.create.hooks]]~ リポジトリ内のfooksフォルダの中のファイル post-commit.tmpl post-commit を以下の様にリネームすると実行されなくなります。 post-commit.tmpl_ post-commit_ ** リポジトリが使えなくなるトラブル発生(2010/1/27~)[#zc032568] 現在、CORESERVER.JPにおいて、2010/1/27から~ expected format ‘3′ of repository found format ‘5′ という&color(red){''エラーが出てリポジトリが使えなくなる現象''};が起きています。~ 探してみると、同じ現象の方が居ました。~ -[[CoreServer で Subversion が突然使えなくなった。 « Note>http://note.farawaysky.net/201001/mac-os-x-290.html]]~ この記事を元に、設定方法に新たな記事「2.puttyのインストールと鍵交換方式による SSH 接続設定」を追加しました。~ ※「authorized_keys?」ファイルの中身をいじってcommandを入れてる所が解決策となります。~ ~ ~ 余談:サーバー管理者の設定ミスなら直してもらえるかも?と思いサポートに問い合わせてみたのですが~ ユーザーが入れたスクリプトの動作は保証していません という返答が来ました。 まぁそりゃそうだよね&sad;~