centos7中如何在变态的selinux下启动svnserve,并且牛逼的自定义目录。

其实 在不打开selinux的时候。
我们的svn都可以运行。
只要一打开selinux就会报错。
要么是没权限,要么是无法启动。

这里 selinux会把错误日志都写入到日志里,我们来查看一下日志分析
首先需要安装一个selinux的日志分析工具。
yum install setroubleshoot
sealert -a /var/log/audit/audit.log
可以看出是因为安全上下文以及未授权端口引起的!

seinfo -t|grep svns
首先查找一下svn的安全上下文类型。
svnserve_var_run_t
svnserve_content_t
svnserve_tmp_t
svnserve_exec_t
svnserve_initrc_exec_t
svnserve_unit_file_t
svnserve_t
从字面上理解。应该是svnserve_content_t。
然后
chcon -R -t svnserve_content_t /wiosn/svn/
将版本目录修改为支持svn的文件类型。

如果还是不启动。继续查看日志。
发现是因为端口问题。
好我们再把端口授权一下。
semanage port -a -t svn_port_t -p tcp 9878878
然后重启服务! 打完收工!