さくらレンタルサーバでSubversion用Apacheサーバを構築する
***** ご注意 *****
2012/6/5追記 (annbeyさん、ご指摘頂きありがとうございます)
本方法による、さくらレンタルサーバ内でのApache別プロセスの起動は、さくらレンタルサーバの禁止事項で禁止されています。
規約を十分把握していない状態で、このような記事を掲載してしまい申し訳ありません。
同様の事をご検討されているさくらレンタルサーバ利用者の方々はご注意ください。
2012/6/8追記 (annbeyさん、共有頂きありがとうございます)
なお、さくらVPSでは、本方法の使用は大丈夫のようです。
私は、さくらVPSで本方法を実際に試したことはありませんが、ご興味のある方はお試しください。
****** 以下、記事 *****
さくらレンタルサーバに元々インストールされている80番ポート向けのApacheには、mod_dav_svnなどのSubversionサーバとして機能するために必要なモジュールがインストールされていない。
そこで、別のポート向けに別のApacheサーバをインストールし、それをSubversionサーバとして稼働させる。
その際のログは以下の通り:
# Apacheをインストール > cd ~/tmp > wget http://ftp.riken.jp/net/apache//httpd/httpd-2.2.22.tar.gz > tar xvfz httpd-2.2.22.tar.gz > cd httpd-2.2.22 > ./buildconf > ./configure --prefix=/home/<user folder>/local/apache2 --enable-dav --enable-so --enable-maintainer-mode --enable-ssl > make > make install > cd .. # APRをインストール > wget http://ftp.riken.jp/net/apache//apr/apr-1.4.6.tar.gz > tar xfvz apr-1.4.6.tar.gz > cd apr-1.4.6 > ./configure --prefix=/home/<user folder>/local/apache2/ > make > make install > cd .. # APR Utilをインストール > wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//apr/apr-util-1.4.1.tar.gz > tar xvfz apr-util-1.4.1.tar.gz > cd apr-util-1.4.1 > ./configure --prefix=/home/<user folder>/local/apache2/ --with-apr=/home/<user folder>/local/apache2/bin/apr-1-config > make > make install > cd .. # Subversionをインストール > wget http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz > tar xvfz subversion-1.6.17.tar.gz > cd subversion-1.6.17 > ./configure --prefix=/home/<user folder>/local/apache2/modules --with-apache-libexecdir=/home/<user folder>/local/apache2/ --with-apr=/home/<user folder>/local/apache2/bin/apr-1-config --with-apr-util=/home/<user folder>/local/apache2/bin/apu-1-config --with-apxs=/home/<user folder>/local/apache2/bin/apxs > make > make install
上記、試行錯誤の結果を整理したものなので、抜け等がある可能性がありますがご了承ください。
続いて、Apacheの設定ファイルを編集する:
--- /home/<user folder>/local/apache2/conf/httpd.conf.bak 2012-02-19 08:25:59.000000000 +0900 +++ /home/<user folder>/local/apache2/conf/httpd.conf 2012-02-19 09:01:52.000000000 +0900 @@ -37,7 +37,7 @@ # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 -Listen 80 +Listen 8080 @@ -50,7 +50,8 @@ # # Example: # LoadModule foo_module modules/mod_foo.so +LoadModule dav_svn_module modules/mod_dav_svn.so +LoadModule authz_svn_module modules/mod_authz_svn.so # <IfModule !mpm_netware_module> @@ -415,3 +416,13 @@ SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> + +<Location /svn> + DAV svn + SVNParentPath /home/<user folder>/svn + + AuthType Basic + AuthName "Subversion Authentication" + AuthUserFile /home/<user folder>/local/apache2/conf/svn.repos.passwd + Require valid-user +</Location>
上記設定は、Subversionリポジトリが~/svn以下あり、Basic認証用のパスワードファイルがsvn.repos.passwdと言うファイル名で~/local/apache2/conf以下にあることが前提です。またリポジトリは、認証されたユーザでなければ閲覧・編集できません。
この辺りの詳しい情報は、別の関連サイトをあたって下さい。
以上が完了したら、設定ファイルの構文チェックを行い、サーバをスタートさせる:
> ~/local/apache2/bin/apachectl configtest > ~/local/apache2/bin/apachectl start
Webブラウザや、Subversionクライアントからリポジトリにアクセスし、ログイン・閲覧が問題なくできるか確認する。