[转]Linux下SubVersion的安装和配置

引用:http://techhouse.blog.sohu.com/112937162.html

subverion就不多介绍啦,下面是安装和配置详细

安装环境和软件:

1) RedHat AdvanceServer 4 Update 4

2) subversion-1.6.0

3)apache-2.2.11

4) apache apr-1.3.3

5) apache apr-util-1.3.4

6)sqlite-amalgamation-3.6.11

7)服务器IP:192.168.0.10

安装过程如下:

1)安装Apache Apr

wget http://apache.mirror.phpchina.com/apr/apr-1.3.3.tar.gz

tar -zxvf apr-1.3.3.tar.gz

cd apr-1.3.3

./configure --prefix=/usr/local/apr

make

make install

2) 安装Apache Apr Util

wget http://apache.mirror.phpchina.com/apr/apr-util-1.3.4.tar.gz

tar -zxvf apr-util-1.3.4.tar.gz

cd apr-util-1.3.4

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
make
make install
3)安装Apache Httpd

wget http://labs.xiaonei.com/apache-mirror/httpd/httpd-2.2.11.tar.gz
tar -zxvf httpd-2.2.11.tar.gz
cd httpd-2.2.11
./configure --prefix=/usr/local/apache2.2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-dav

make
make install

4)安装subversion

wget http://subversion.tigris.org/downloads/subversion-1.6.0.tar.gz

tar -zxvf subversion-1.6.0.tar.gz

cd subversion-1.6.0

./configure --prefix=/usr/local/subversion1.6 --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util --with-apxs=/usr/local/apache2.2/bin/apxs

说明:如果configure无法通过,出现没有找到sqlite3.c没有找到的错误,那么需要下载sqlite-amalgamation,设置如下



mkdir subversion-1.6.0/sqlite-amalgamation

wget http://www.sqlite.org/sqlite-amalgamation-3.6.11.tar.gz
tar -zxvf sqlite-amalgamation-3.6.11.tar.gz
cp sqlite-3.6.11/* subversion-1.6.0/sqlite-amalgamation/

然后重新configure即可



make

make install

如果编译成功,那么在/usr/local/apache2.2/modules下会出现mod_dav_svn.so 和 mod_authz_svn.so 模块。

安装过程结束。以下是配置svn和apache,配置过程如下

1)创建svn用户

groupadd svn
useradd -g svn svn
以后代码库的创建维护等,都用这个帐户来操作。

2)创建版本库

切换用户

su - svn

编辑.bash_profile

加上一下配置

SVN_HOME=/usr/local/subversion
export SVN_HOME
PATH=$PATH:$SVN_HOME/bin
export PATH

创建版本库:

svnadmin create --fs-type fsfs testprojects

此时,在/home/svn/testprojects下出现以下文件,如下:

conf/ db/ format hooks/ locks/ README.txt

创建启动Subversion的脚本:
echo '/usr/local/subversion/bin/svnserve -d -r /home/svn/' > start_svn.sh
chmod +x start_svn.sh
./start_svn.sh


将启动脚本放置到开机自动启动脚本中:
以root身份修改文件:/etc/rc.d/rc.local,添加以下文字:
su -c /home/svn/start_svn.sh svn

3)创建一个项目

切换到svn用户

su - svn

新建一个项目,假设为mytest

mkdir /home/svn/mytest

在此文件夹下新建三个子目录

mkdir /home/svn/mytest/trunk

mkdir /home/svn/mytest/branches

mkdir /home/svn/mytest/tags

说明,以上3个目录并不是svn必须的,但是只是一个习惯,详细说明见:http://www.subversion.org.cn/svnbook/nightly/svnbook.html#svn.intro.install

将此目录导入到版本库中:

svn import /home/svn/mytest file:///home/svn/myprojects -m "initial import"

可以通过svn协议:svn://192.168.0.10/myprojects/trunk来对此项目进行操作。

4)设置myprojects访问的用户名和密码

编辑文件/home/svn/myprojects/conf/passwd文件

在[users] 按照一下格式设置用户名和密码:

用户名1=密码1

用户名2=密码2

例如test=test,表示用户名是test,密码也是test

编辑文件/home/svn/myprojects/conf/svnserve.conf

加上几行配置:

anon-access = read
auth-access = write

password-db = passwd

注意,此几行配置所在行第一个字母钱不能有任何空格,否则会出现类似svnserve.conf:12: Option expected 这样的错误

保存退出,然后重启svn server即可。

可以使用svn client来测试是否能commit和update

5)配置apache,以便支持svn支持http协议

vi /usr/local/apache2.2/conf/httpd.conf

检查svn Web DAV是否加载

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

修改启动httpd的默认用户为svn

User svn

Group svn

配置虚拟主机:

去掉Include conf/extra/httpd-vhosts.conf前面的注释

编辑httpd-vhosts.conf

vi /usr/local/apache2.2/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>
ServerAdmin webmaster@domain.com
ServerName 192.168.0.10

ErrorLog logs/svn_error_log
CustomLog logs/svn_access_log common
<Location />
DAV svn
SVNListParentPath on
SVNParentPath /home/svn
</Location>
</VirtualHost>

保存退出。

启动Apache,/usr/local/apache2.2/bin/apachectl start

输入url:http://192.168.0.10/myprojects可以查看svn库的文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值