SVN安装和部署有两种方式:一种是单独SVN(不能通过网页浏览,需要SVN工具浏览),另一种是基于apache2+SVN(可以基于http提交,可以网页浏览目录结构)。
跟据自己需要的情况选择合适的
1.单独SVN进程方案
1.1安装subversion
sudo apt install subversion
1.2创建svn创建
创建一个目录做为svn的根目录,比如/data1/svn
mkdir /data1/svn
svnadmin create /data1/svn/ProjectXX
这里时库已经创建好,需要配置一下权限和用户名
配置/data1/svn/ProjectXX/conf/svnserve.conf文件
将
# anon-access = read
# auth-access = write
# password-db = passwd
修改为
anon-access = none
auth-access = write
password-db = passwd
配置/data1/svn/ProjectXX/conf/passwd文件
在[users]节下面,加入用户和密码
[users]
harry = harryssecret
sally = sallyssecret
1.3.启动svn
svnserve -d -r /data1/svn
注意:此处的目录不是/data1/svn/ProjectXX,也就是不带项目ProjectXX
1.4.检出代码
svn checkout svn://ip/ProjectXX
输入用户和密码
如果其他机器连不上,可能是防火墙原因,打开svn端口, sudo ufw allow 3690/tcp
2.基于apache2+SVN方案
2.1安装环境
安装apache2和subversion
sudo apt update
sudo apt install apache2 apache2-utils
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
sudo apt-get install subversion libapache2-mod-svn subversion-tools libsvn-dev
2.2启用apache2的svn功能
sudo a2enmod dav
sudo a2enmod dav_svn
sudo service apache2 restart
2.3修改dav_svn配置和创建仓库
修改/etc/apache2/mods-enabled/dav_svn.conf文件
将以下行的注释解开,并做修改
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>
创建svn仓库
sudo mkdir /var/www/svn
sudo svnadmin create /var/www/svn/project
sudo chown -R www-data:www-data /var/www/svn
sudo chmod -R 775 /var/www/svn
2.4创建svn用户
sudo htpasswd -cm /etc/apache2/dav_svn.passwd admin
创建更多用户
sudo htpasswd -m /etc/apache2/dav_svn.passwd user_xxx
sudo systemctl restart apache2.service
2.5测试是否创建好
浏览器打开 http://ip/svn/project