- root用户登录,通过yum安装subversion
yum install -y subversion -
创建一个文件夹作为svn仓库并初始化
mkdir /home/svn svnadmin create /home/svn -
跳转到svn的conf文件夹下,添加用户,添加用户权限,修改svnserve.conf文件
cd /home/svn/conf vi passwd打开后如图,按键盘上的i键即可编辑,添加账号密码,小键盘数字键不能用.完事之后,按Esc退出编辑模式输入(一定要有冒号):wq! 保存退出.如果不小心编辑错了,重新打开.直接:q!不保存退出,在重新vi 打开文件编辑即可.同样命令编辑authz

将下图中红圈标注位置的井号和空格删除后保存退出即可.
-
关闭防火墙并启动svn.
systemctl stop firewalld //关闭当前防火墙 systemctl disable firewalld //开机不启动防火墙 svnserve -d -r /home/svn //启动svn ps -ef|grep svn //查看svn是否启动出现下图表示已经成功启动,在客户端通过svn://你的服务器的id即可访问

-
svn搭建完毕后,复制/home/svn/hooks下的名为pre-revprop-change.tmpl文件,赋权限777
cd /home/svn/hooks cp pre-revprop-change.tmpl pre-revprop-change chmod 777 pre-revprop-change ll出现下表示成功, 修改pre-revprop-change最后一行exit为0.


-
同步初始化你的svn仓库.
svnsync init file:///home/svn http://192.168.3.60/svn/repository //可以通过http方式,也可以通过svn方式,取决于你的svn原服务器的访问方式 svnsync init file:///home/svn svn://192.168.3.60/svn/repository //会提示输入账号密码,输入你原来svn 的账号密码即可 -
同步svn版本库
svnsync sync file:///home/svn出现下图表示正在同步,如果版本库较大,时间会很久,耐心等待即可.

配置svn为http访问
-
安装apache支持svn
yum install -y httpd httpd-devel mod_dav_svn //设置开机启动 systemctl enable httpd.service //启动apache虚拟主机 systemctl start httpd.service //查看状态 systemctl status httpd.service //查看apache版本 httpd -v -
创建账号密码认证
htpasswd -cbm /home/svn/conf/http_passwd test01 test01 htpasswd -bm /home/svn/conf/http_passwd test02 test02 -c:创建一个加密文件; -n:不更新加密文件,只将加密后的用户名密码显示在屏幕上; -m:默认采用MD5算法对密码进行加密; -d:采用CRYPT算法对密码进行加密; -p:不对密码进行进行加密,即明文密码; -s:采用SHA算法对密码进行加密; -b:在命令行中一并输入用户名和密码而不是根据提示输入密码; -D:删除指定的用户。 -
设置svn关联的配置文件(没有的话新建一个)
vi /etc/httpd/conf.d/svn.conf //以下为需要写入的内容 LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /你的访问路径> DAV svn SVNPath /home/svn AuthType Basic AuthName "Authorization Realm" AuthUserFile /home/svn/conf/httpdPasswd AuthzSVNAccessFile /home/svn/conf/authz Satisfy all Require valid-user </Location> -
改变svn仓库文件的所有者
chown -R apache:apache /home/svn
-
将原服务器中的authz文件中的分组,权限设置等信息通过复制粘贴的方式,修改到新服务器的authz中,将原服务器下的httpd/conf/httppasswd用户信息也直接复制粘贴到/home/svn/conf/http_passwd中即可.
-
重启http服务,重启svn服务
systemctl restart httpd.service //重启httpd服务 ps -ef|grep svn //查看svn的进程信息 kill -9 svn的pid //杀掉svn进程 svnserve -d -r /home/svn //重启svn如果没有报错的情话下,在浏览器输入http://你的服务器IP/你的访问路径(上面3.设置svn关联的配置文件中的Location 你配置的),应该就可以访问了
-
我遇到的问题是可以正常拉项目,但不能提交.提交时报错could not begin a transaction,解决方案:
chcon -R -t httpd_sys_rw_content_t /home/svn/chcon命令 是修改对象(文件)的安全上下文,比如:用户、角色、类型、安全级别。也就是将每个文件的安全环境变更至指定环境。使用
--reference选项时,把指定文件的安全环境设置为与参考文件相同。chcon命令位于/usr/bin/chcon。语法
chcon [选项]... 环境 文件... chcon [选项]... [-u 用户] [-r 角色] [-l 范围] [-t 类型] 文件... chcon [选项]... --reference=参考文件 文件...选项
-h, --no-dereference:影响符号连接而非引用的文件。 --reference=参考文件:使用指定参考文件的安全环境,而非指定值。 -R, --recursive:递归处理所有的文件及子目录。 -v, --verbose:为处理的所有文件显示诊断信息。 -u, --user=用户:设置指定用户的目标安全环境。 -r, --role=角色:设置指定角色的目标安全环境。 -t, --type=类型:设置指定类型的目标安全环境。 -l, --range=范围:设置指定范围的目标安全环境。
3892

被折叠的 条评论
为什么被折叠?



