| 2021-02-9
Linux系统进行svn服务器搭建的这个需求是我们公司自己的需求,我想也是大多使用svn公司的需求,使用git的就暂且绕过,有人肯定说咋还是用svn,现在都是git了,这个我不反驳,2个我们都在用,但是选择适合的才是最重要的,下面让小编我来为大家详细讲解如何linux搭建SVN服务器。
svn服务器的搭建
ssh登录linux服务器
ssh root@你的服务器ip(ps:接着会让你输入密码,密码不显示,直接输完 enter 就行了)
1.安装svn服务器端
yum install subversion
2.进入目录,准备创建svn目录
cd /usr/local/
3.创建一个svn目录
mkdir svn
4.修改目录权限为777
chmod -R 777 svn
5.创建一个svn版本仓库first(first可以随便起名字)
ls create /usr/local/svn/first
6.进入first版本仓库下的配置文件目录
cd first/conf
7.编辑svnserve.conf配置文件
vim svnserve.conf (基本常识:vim 编辑文件 进如按E编辑 编辑好后 按esc 后:W 保存 :q退出)
//配置版本库信息和用户文件和用户密码文件的路径、版本库路径
anon-access = none //默认是只读read
auth-access = write //认证后有写入权限
password-db = passwd //账号密码配置文件
authz-db = authz //权限配置文件
realm = first //改成自己的版本库 生效范围
8.编辑authz权限文件
vim authz
//文件,创建svn组和组用户的权限
[group]
first = ddl,shl //创建一个first的组,并制定两个用户ddl和shl
[/] //制定根目录下的权限
@first = rw //first组用户权限为读写
vim passwd
//创建或修改用户密码
[users]
ddl = 123456 //用户名 = 密码
shl = 123456 //用户名 = 密码
10.设置SVN服务开机自启动
在root目录加入svn.sh
touch /root/svn.sh
让后在svn.sh写入内容
vim /root/svn.sh
////----下面是写入的内容----////
!/bin/bash
/usr/bin/svnserve -d -r /znjg/svn/cnmiaosu
chmod +x svn.sh
vim /etc/rc.d/rc.local
在打开的文本末尾添加脚本的路径:
/root/svn.sh (按esc 后:W 保存 :q退出)
5.最后 给 /etc/rc.d/rc.local 加入执行权限,因为在centos7中,/etc/rc.d/rc.local文件的权限被降低了,开机的时候执行在自己的脚本是不能起动一些服务的,执行下面的命令可以文件标记为可执行的文件
chmod +x /etc/rc.d/rc.local (非常重要)
使用post-commit实现本地提交,服务器端自动同步
1.打开hooks文件夹
cd /usr/local/svn/hooks
2.复制post-commit.tmpl 文件为 post-commit
cp post-commit.tmpl post-commit
3.打开post-commit文件
vim post-commit
4.文件内容清空内容,修改为以下代码:
!/bin/sh
export LANG=en_US.UTF-8
/usr/bin/svn update --username ddl --password 123456 /www/web/myweb
注意: /usr/bin/svn 是svn的路径,不是项目路径,应该都是一样的;
--username ddl --password 123456 svn账户和密码
/www/web/myweb 项目路径(需要实时同步的项目)
5.修改post-commit的可执行权限
chmod 755 post-commit
6.在上面我见了一个svn版本库为first,但是这只是版本库,并没有项目,那么我们需要在版本库里面新建项目(也就是建立一个文件夹)
这里推荐使用 windows 下面的 TortoiseSVN 客户端,打开版本库后右键 建立一个 《myweb》 项目文件夹,然后把所有的项目文件 拖入到 该文件夹内 上传svn服务器;
注意:为什么不推荐用linux方式上传项目到svn服务器中,因为linux上传一个个文件遍历上传,比较很麻烦,所以推荐 TortoiseSVN 客户端上传,简单方便
7.在服务器进入项目目录/www/web/myweb,checkout检出整个项目到当前目录
svn checkout svn:// {您的服务器地址}:{端口号}/myweb .
//注意目录后面还有一个点
下载SVN服务端
下载客户端和对应的语言包
下载花生壳实现内网穿透(如果不需要外网访问的话,其实局域网就够用了)
svn服务器搭建配置
前三点为安装过程有所选择的界面:
选第一个单选按钮(安装svn服务器和管理控制台)第三个打钩(将svn命令加入环境变量)
选第一个(选择安装svn普通版)
第一个路径是svn安装路径,第二个是svn源码库路径,第三个是给svn传输数据的端口,默认为443端口
安装完成后在Users中创建对应的用户名
在Groups中创建对应的组,并给其分配用户名
在Repositories中创建,输入文件夹名,下一步→默认第一个,下一步→点击Custom→点击Add给其分配组或者用户名→确定,确定,Create创建
SVN客户端配置
双击安装语言包和svn客户端
文件夹内任意位置右键→setting→把language语言那栏改为中文。
至此,SVN服务器就成功配置完成并启动了。此时,SVN客户端可以使用设置好的账号来登录SVN服务器了。