本教程安装环境为LNMP(Linux、Nginx、MySQL、PHP)。
安装前:
1、需要您先把您的服务器系统安装好Linux,我装的是Linux发行版 CentOS 8.2,你们随意。
2、给你的系统安装好宝塔。
宝塔安装教程:https://www.bt.cn/bbs/thread-19376-1-1.html
或:在您的命令终端里输入 Centos安装命令:(安装宝塔面板)
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.s
如图:
宝塔安装好后,安装好您的服务器环境,如LAMP,LNMP
然后我们来开始安装SVN服务器版本端,在宝塔里有SSH终端管理器,可以直接进行命令输入
安装SVN步骤
1、先要安装svn版本控制软件,需要在SSH命令控制器处输入命令安装,很简单。如:
yum -y install subversion
图:
2、安装好后,我们需要建立SVN存放目录。如:
mkdir /www/svndata
创建好后如下
3、建立好存放目录后,我们需要在svn安装目录下启动svn,将SVN绑定到/www/svndata目录
svnserve -d -r /www/svndata
4、启动好后,在创建一个新的版本库,在原创建的svndata下增加。如:rocschool
svnadmin create /www/svndata/rocschool
创建好后如图
打开文件后如下图
这时我们完成了创建过程,下面我们将要配置一下方可使用
5、我们需要配置svn访问帐号及密码
在宝塔打开文件目录/www/svndata/rocschool/conf/目录下的password文件,双击打开,然后添加访问账号密码
如:
在# sally = sallyssecret下回车换行输入:帐号 = 密码 如:rocschool = 123456 然后点击保存。
可以添加多个帐号及密码,每行一个密码及密码,如:
rocschool = 123456
rocschool2 = 123456
rocschool3 = 123456
6、给添加的帐号及密码设置访问权限,打开文件svnserve.conf
如设置如下四个前面的#及空格号注释去掉
anon-access = read 默认是read这个如果使用检出是不需要输入用户号和密码的,如果需要帐户才可以访问并检出改为none
auth-access = write
password-db = passwd
authz-db = authz
说明:
# 匿名用户权限(none:拒绝, write:读写, read:只读权限)
anon-access = none
# 鉴权用户访问
auth-access = write
# 用户信息配置文件(也可以是绝对路径)
password-db = passwd
# 权限配置文件
authz-db = /source/svn/project/conf/authz
配置好后如下图:
7、在authz文件里增加角色权限,如下图
说明:
[groups] # 定义用户组 admin = alice,bob developers = eve,charlie [/] # 对根目录设置访问权限 @admin = rw [repository:/branches/feature-xyz] # 对特定分支目录设置访问权限 @developers = r [repository:/tags] # 对tags目录设置访问权限 @admin = r * =
在这个配置文件中:
[groups] 部分定义了用户组。
[/] 部分设置了根目录的访问权限,其中@admin组有读写权限(rw)。
[repository:/branches/feature-xyz] 部分针对特定分支目录设置了@developers组的读权限(r)。
[repository:/tags] 部分设置了标签目录的访问权限,@admin组有读权限,其他用户没有任何权限。
请根据实际情况调整用户组名、用户名和路径,并设置合适的权限。
8、/www/svndata/rocschool/hooks/目录下新建一个空白文件,名称为:post-commit 文件,用于配置将svn中的文件同步到您的网站运行目录下
文件里配置如下:
#!/bin/sh export.utf8 SVN_PATH=/usr/bin/svn WEB_PATH=/www/wwwroot/www.rocschool.com $SVN_PATH update $WEB_PATH --username 'rocschool' --password '123456' --no-auth-cache
说明:SVN_PATH为SVN安装目录
WEB_PATH为同步到网站运营目录
其它为配置的帐号密码,这个需要填写您设置的帐号密码进入绑定同步,如刚才我们在/www/svndata/rocschool/conf/password里配置的帐号密码
9、如上完成后,我们需要在SSH终端里输入命令进行同步,把SVN同步库文件到你的网站目录下,如我们配置的/www/wwwroot/www.rocschool.com目录
如果您不进行同步到目录,他是无法进行关联的,你在本地管理软件检出时无法获取到他同步的网站目录下,所以这一步不可少。如下方法操作
svn checkout svn://47.*.*.*/rocschool /www/wwwroot/www.rocschool.com --username rocschool --password 123456
如果如上出错,您可以去掉帐号密码,如下
svn checkout svn://47.*.*.*/rocschool /www/wwwroot/www.rocschool.com
意思为同步服务器svn://47.*.*.*/rocschool至/www/wwwroot/www.rocschool.com 目录下 帐号为rocschool 密码为123456
svn://改为你的服务器IP/rocschool 这个是我们服务器建立版本库链接地址,即是服务器地址/www/svndata/rocschool/同时他同步到了你的网站目录下/www/wwwroot/www.rocschool.com
10、完成如上内容后,我们即可在我们本地电脑新建一个目录,然后右键检出内容了,这样就可以增加删除同步服务器网站内容
输入SVN版本库URL进行链接检出操作,然后确定输入帐号及密码后即可。
检出后就可以进行文件增加、修改、提交等操作了。
如果您本地未安装SVN客户端,您可以看看我们如下教程进行安装后在进行操作
这样我们就完成了SVN的服务器端搭建,如下注意事项