SVN server软件安装配置
- SVN Server 软件安装:
apt-get install subversion
- 创建版本库
root@zabbix:/opt# mkdir repos
root@zabbix:/opt# svnadmin create /opt/repos
root@zabbix:/opt# ls /opt/repos/
conf db format hooks locks README.txt
root@zabbix:/opt# vi /opt/repos/conf/svnserve.conf
#匿名用户不可读
anon-access = none
#权限用户可写
auth-access = write
#密码文件为passwd
password-db = passwd
#权限文件为authz
authz-db = authz
- 添加svn用户,格式为 user = Password
root@zabbix:/opt/repos/conf# vi /opt/repos/conf/passwd
[users]
user1 = user1
user2 = user2
user3 = user3
- 设置用户权限
vi /opt/repos/conf/authz
[groups]
# 意思是svnAdminGroup1组中有2个用户:user1和user2
svnAdminGroup1 = user1,user2
# 指定/目录的访问权限,svnAdminGroup1组中的用户可以读和写
# 其他用户只能读
[/]
@svnAdminGroup1 = rw
* = r
- 启动SVN
svnserve -d -r /opt/repos/
-d 已守护模式启动
-r 制定svn版本库根目录 这样是便于客户端不用输入全路径 就可以访问版本库了
- 查看信息
svn list svn://192.168.226.11/ –username user1 –password user1
root@zabbix:/opt/repos/conf# svn --version
svn, version 1.9.3 (r1718519)
compiled Aug 10 2017, 16:59:15 on x86_64-pc-linux-gnu
...
root@zabbix:/opt/repos/conf# svn list svn://192.168.226.11/ --username user1 --password user1
test.aa
testb.txt
- 客户端签入
svn checkout svn://192.168.226.11/ --username user1 --password user1 /root/repoLocal/
# svn://192.168.226.11/ 为svn的URL
# /root/repoLocal/ 为本地存放目录路径
- 向版本库中添加文件或目录
# 需要把文件或目录拷贝到本地svn目录,然后执行svn add 命令,执行完成后下次commit后文件将会被同步到svn server上:
svn add repoLocal/testb.txt
提交:
svn ci /root/repoLocal/ -m "Test" --username user1 --password user1
svn list svn://192.168.226.11/ –username user1 –password user1
test.aa
svn ci /root/repoLocal/ -m “Add a file testb” –username user1 –password user1
Adding testb.txt
Transmitting file data .done
Committing transaction…
Committed revision 2.
SVN 客户端安装
- 在应用商店中搜索并下载RapidSVN
- 打开RapidSVN添加svn库
Apache2 安装
- apache2 安装
apt-get install apache2
apt-get install libapache2-svn
- 修改配置文件/etc/apache2/apache2.conf,增加SVN目录:
<Location /svn>
DAV svn
SVNPath /opt/repos
AuthzSVNAccessFile /opt/repos/conf/authz
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /opt/repos/conf/http_passwd
Require valid-user
</Location>
- 增加http用户
root@zabbix:/opt/repos/conf# touch /opt/repos/conf/http_passwd
root@zabbix:/opt/repos/conf# htpasswd http_passwd user1
New password:
Re-type new password:
Adding password for user user1
root@zabbix:/opt/repos/conf# more http_passwd
user1:$apr1$gKJuGSm/$0BgzO8NJVQmlMdPOvqSPI/
root@zabbix:/opt/repos/conf#
- 重启Apache2
service apache2 restart
- 客户端通过浏览器访问SVN:http://192.168.226.11/svn/
可能需要用到的环境准备:
- 允许Root远程SSH登录:
vi /etc/ssh/sshd_config |grep Root
#PermitRootLogin without-password
PermitRootLogin yes
- 重启ssh服务
service ssh restart
- 将默认软件源更改为更快的源(如阿里源):
vi /etc/apt/sources.list
#deb包
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##测试版源
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# 源码
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##测试版源
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# Canonical 合作伙伴和附加
deb http://archive.canonical.com/ubuntu/ xenial partner
deb http://extras.ubuntu.com/ubuntu/ xenial main
- 更改完成后,需要执行update,才能更新源列表信息
apt-get update
- 关闭防火墙
#关闭防火墙策略
root@zabbix:/opt/repos/conf# iptables -P INPUT ACCEPT
root@zabbix:/opt/repos/conf# iptables -P FORWARD ACCEPT
root@zabbix:/opt/repos/conf# iptables -P OUTPUT ACCEPT
root@zabbix:/opt/repos/conf# iptables -F