1/安装svn,创建版本库

yum install subversion

mkdir /data/svn -p

svnadmin create /data/svn/oudianyun


2、下载安装submin

mkdir /usr/local/submin -p

#wget 不下来,直接复制下载链接web页面下载

wget http://supermind.nl/submin/current/submin-1.2.10.tar.gz 

tar zxf submin-1.2.10.tar.gz

cd submin-1.2.10/bin

python ./install.py /usr/local/submin/

/usr/local/submin/bin/submin-admin create default

yum  install  apr apr-util

yum install mod_dav_svn


这里会自动生成一些文件,这里authz是管理用户的权限;htpasswd是管理用户的密码;

userproperties是管理用户的其他信息(邮箱等);default.conf是主配置文件,

之后需要修改;最后一个文件是和apache的整合,需要添加到apache的主配置文件里面。


#添加环境变量文件:

1
2
3
4
######submin######
SUBMIN_HOME= /usr/local/submin
export  SUBMIN_HOME
export  PATH=${PATH}:${SUBMIN_HOME} /bin


3、安装apache

yum install httpd -y


#添加以下行

vim /etc/httpd/conf/httpd.conf 


Include /etc/submin/default-apache-cgi.conf



4、配置submin的相关文件

ln -s /etc/submin/default-apache-cgi.conf /etc/httpd/conf.d/submin.conf

这个文件之后需手动修改,做链接目的方便管理

cp /var/lib/submin/authz /data/svn

cp /var/lib/submin/htpasswd /data/svn

cp /var/lib/submin/userproperties.conf /data/svn

把submin的用户信息文件复制到我们自己之前建立的svn库的根目录中

rm -rf /var/lib/submin/svn/

ln -s /data/svn /var/lib/submin/svn


chown -R apache:apache /data/svn

因为要用apache登录,所以这里把svn库根目录的用户进行修改



vim /etc/submin/default.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[svn]
authz_file =  /data/svn/authz
userprop_file =  /data/svn/userproperties .conf
access_file =  /data/svn/htpasswd
repositories =  /data/svn
[www]
base_url =  /submin
svn_base_url =  /svn
#添加这行,否则web页面建库报错。
trac_base_url =  /svn
[backend]
bindir =  /usr/local/submin/share/submin/bin
[generated]
session_salt =  /CMXp8k8wuOlQgC3


修改submin.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
vim  /etc/httpd/conf .d /submin .conf
     Alias  /submin  /usr/local/submin/share/submin/www
     <Directory  /usr/local/submin/share/submin/www >
         Order allow,deny
         Allow from all
         Options ExecCGI FollowSymLinks
         AddHandler cgi-script py cgi pl
         SetEnv SUBMIN_CONF  /etc/submin/default .conf
         RewriteEngine on
         RewriteBase  /submin
         RewriteCond %{REQUEST_FILENAME} !-f
         RewriteRule ^(.+)$ submin.cgi/$1
         RewriteRule ^/?$ submin.cgi/
     < /Directory >
     <Location  /svn >
         DAV svn
         SVNParentPath  /data/svn
         AuthType Basic
         AuthName  "Subversion repository"
         AuthUserFile  /data/svn/htpasswd
         AuthzSVNAccessFile  /data/svn/authz
         Satisfy Any
         Require valid-user
     < /Location >



/etc/init.d/httpd restart


http://192.168.121.128/submin   默认用户密码admin  admin


登录后再web页面修改密码;

wKioL1gpv_ezOUZZAAGye3_4kaM888.png-wh_50


新建一个svn仓库:

wKiom1jGNC2QxczJAAD0JuSPdCY224.png

#服务器端的svn仓库同时也是可以看到的。

wKioL1jGNH6yxJsuAAAfvDzoxg0099.png


#测试新建个用户授权:submin对用户的密码是有要求的,太短登录不了的,测试时发现的。

wKiom1jGOybzEDcTAAEhLXkvU5s331.png 

用户lisi登录查看:

wKioL1jGO22izxLHAAEVVGVAePQ892.png

#创建用户,密码需要输入2次哦:

wKiom1jknZCg0F_GAADcYwWaVzU549.png


windows客户端软件chkout和commit测试:

chkout完成。

wKiom1jGSm-wIh8MAAE-6FrJZLQ054.png


commit提交测试:

wKioL1jGSuygscrAAAEsGh-sgGk058.png

commit 完全ok。

wKiom1jGSwTRVowQAAFJbzO0s54378.png