**
Apache+SVN 服务器搭建
**
SVN简介:
Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository) 中。这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。
而这里所说得Apache+SVN就是客户端以HTTP的方式访问服务器。
1.提前准备:
关闭防火墙:service firewalld stop
关闭SELinux:setenforce 0
2.服务器地址为172.16.1.2,安装Subversion软件:
查看可用命令:
3.创建所需的原始代码的目录及代码文件:
4.创建项目的一系列目录(我这是做了之后截的图,下面将解释目录的来历):![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8b56c91a6f0dcae296cdda8d7b8706d0.png)
项目的目录我是创建在了/var/svn/web_project下
命令:
mkdir –p /var/svn/web_project
svnadmin create /var/svn/web_project
svnadmin hotcopy /var/svn/web_project /var/svn/web_project`date +%F`
#用来做一个备份的
5.将原始代码导入项目目录中:
svn import /var/web_code file:///var/svn/web_project -m “Initial DATA”
6.接下来配置该服务的配置文件:
vim /var/svn/web_project/conf/svnserve.conf
第一行:设置拒绝匿名账户访问,可设置的值为none,read,write
第二行:经过认证的账户的权限设置为可写
第三行:指定账户名称与密码的存放文件名,该文件在conf下
第四行:指定基于路径的访问控制文件名
vim /var/svn/web_project/conf/passwd
用户名为lyg,用户密码为llyygg
vim /var/svn/web_project/conf/authz
第二行:定义组,组的成员有lyg
第三行:对版本库根路径设置权限,可以设置为需要控制的路径
第四行:admins组中的用户可读可写权限
第五行:其他所有人只读,如果是’ ’代表无权限
7.启动服务:
-d 以守护进程方式运行SVNserve
–listen-port=port 指定监听的端口,默认的是3690
-r root 为版本库指定一个虚拟路径,默认客户端要指定绝对路径访问库
8.客户端访问:
9.提交:
这里的index.html文件内容原本是“Hello LYG!”,然后我改成了“Hello LL!”
再次下载,查看系统信息
10.安装apache服务已经模块:
11. 添加配置信息:
vim /etc/httpd/conf.d/subversion.conf
12.修改权限:
chown –R apache:apache /var/svn #修改权限
htpasswd –c /var/svn/.pass lyg #创建账户文件,添加lyg用户
chcon –R –t httpd_sys_content_t /var/svn #仅当SELinux开启的开启的时候使用(上文未关闭的情况下)
13.开启服务并加入开机自启:
service httpd start
systemctl enable httpd