编译 subversion 方式建立apache svn服务器

想架设一个svn服务器

又很懒 想yum install结果他非要装httpd 这个不知道怎么绕过

只能自己编译了

1 下载subversion 代码

http://subversion.tigris.org/

2 需要安装APR

http://apr.apache.org/download.cgi

./configure
make
make install 就可以

这个是两个东西 需要先装apr 再装apr-util (./configure –with-apr=/usr/local/apr)

3 缺少SQLite 的话 下载

http://www.sqlite.org/download.html

中的sqlite-amalgamation 解压缩到 原代码目录/sqlite-amalgamation

大概是这个文件 sqlite3xxxx.c

4编译安装

./configure –with-apxs=/usr/local/apache/bin/apxs –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr
make
make install

5 配置apache  假设已经编译了dav (以/var/www/svn/asyz)

创建 svn仓库

/var/www/svn$ svnadmin create asyz

httpd.conf 中载入 模块

LoadModule dav_svn_module modules/mod_dav_svn.so

建立一个svn的虚拟主机

<VirtualHost *:80>
ServerAdmin farmer1992@gmail.com
DocumentRoot “/var/www/svn”
<Location />
DAV svn
SVNPath /var/www/svn/asyz
</Location>
ServerName svn.phpsix.net
</VirtualHost>

现在 访问 svn.phpsix.net 就可以使用了

6 进阶 密码验证

创建密码文件

$ /htpasswd -cm svn 用户名

c 表示创建 以后加入用户可以使用

$ /htpasswd -m svn 用户名

<VirtualHost *:80>
ServerAdmin farmer1992@gmail.com
DocumentRoot “/var/www/svn”
<Location />
DAV svn
SVNPath /var/www/svn/asyz
AuthType Basic
AuthName “Subversion repository”
AuthUserFile /var/www/svn/svn #刚才建立的密码文件
Require valid-user

</Location>
ServerName svn.phpsix.net
</VirtualHost>
注意 一点给apache 权限去读svn仓库

Read More