Linux Svn 服务器搭建
1. 检查svn版本是否有安装
1 | rpm -qa subversion |
执行上面的命令,没有任何显示,表示没有安装,如果有,执行 yum remove subversion 删除。
2. 执行安装
1 | yum -y install subversion |
等待安装完成即可
3. 配置和启动svn服务器
创建目录 :
1
2mkdir -p /data/svn/data # svn数据保存目录 -p 参数表示如果子目录不存在,也会级联创建目录
mkdir -p /data/svn/passwd #svn公共用户密码与权限目录启动 svn服务:
1
2
3svnserve -d -r /data/svn/data/
-d 守护进程启动
-r 指定svn目录查看服务进程:
1
2
3ps -ef|grep svn
root 1748 1 0 21:44 ? 00:00:00 svnserve -d -r /data/svn/data/
root 1771 1401 0 21:45 pts/0 00:00:00 grep --color=auto svn
如上,表示svn服务已启动
- 查看端口号:
svn默认使用的端口号为 36901
2
3lsof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 1748 root 3u IPv4 24804 0t0 TCP *:svn (LISTEN)
或者使用如下方式查看1
2netstat -lntup|grep 3690
tcp 0 0 0.0 :3690 0.0 :* LISTEN 1748/svnserve
4. 创建svn仓库
1 | [root@huangkai200 data]# svnadmin create hk #创建仓库, hk 是仓库名称 |
5、修改 svnserver.conf 主配置文件
1 | [root@huangkai200 conf]# vi svnserve.conf |
6、拷贝authz 和 passwd 文件 到 公共用户与密码的目录
1 | [root@huangkai200 hk]# cp authz passwd /data/svn/passwd |
7、SVN添加账户
在 passwd文件中[users]下按例子添加账户1
2
3
4
5
6
7
8
9
10[root@huangkai200 passwd]# vi passwd
## This file is an example password file for svnserve.
## Its format is similar to that of svnserve.conf. As shown in the
## example below it contains one section labelled [users].
## The name and password for each user follow, one account per line.
[users]
harry = harryssecret
sally = sallyssecret
huangkai = huangkai #添加账号,等号前为用户名,等号后为 密码
8、修改authz配置文件
1 | [root@huangkai200 passwd]# vi authz |
修改 authz 与 passwd文件 不需要重启svn服务器,但修改 svnserver.conf 必须重启使配置生效,
authz 与 passwd 配置文件不能写错,否则服务可能不能正常启动。
- 启动服务:
1 | [root@huangkai200 passwd]# |
9、svn 开机启动
首先:编写一个启动脚本svn_startup.sh,我放在/data/svn/svn_startup.sh1
2
/usr/bin/svnserve -d -r /data/svn/data/
这里的svnserve路径保险起见,最好写绝对路径,因为启动的时候,环境变量也许没加载。
绝对路径怎么查?使用 which svnserve 查看:1
2[root@huangkai200 hk]
/usr/bin/svnserve
然后修改该脚本的执行权限:1
[root@huangkai200 svn]
最后:加入自动运行1
2[root@huangkai200 svn]#vi /etc/rc.d/rc.local
在末尾添加脚本的路径,如:/data/svn/svn_startup.sh
看看 /etc/rc.d/rc.local的权限,如果没有可执行权限,则需要设置 , chmod 711 /etc/rc.d/rc.local
10、svn 客户端连接 :
确保防火墙关闭或开放 3690 端口,现在,你可以重启一下试试了1
svn://ip地址:3690/hk