Svn服务端安装及配置

安装centos7

用vmware虚拟机安装,iso镜像链接地址,http://pan.baidu.com/s/1i45AXN3

关闭防火墙

systemctl stop firewalld

vim /etc/selinux/config
将SELINUX的值设置为disabled

如果selinux不关,日志会出现Permission denied: [client 192.168.246.1:9377] AH01620: Could not open password file: /home/svn/conf/svn-auth-conf

安装httpd

yum install httpd -y

subversion 软件安装

yum install mod_dav_svn subversion -y

Apache 配置

vim /etc/httpd/conf/httpd.conf

添加:
ServerName localhost:80

如果配置出现异常要查日志的话,根据httpd.conf确定日志路径,默认是/etc/httpd/logs下

svn apache 配置 加载组件模块

vim /etc/httpd/conf.d/subversion.conf

复制下面内容
<Location /repos>
        DAV svn
        #SVNPath /svn/repos
        SVNParentPath /home/svn/data
        AuthzSVNAccessFile /home/svn/conf/svn-acl-conf
        AuthType Basic
        AuthName "Subversion repos"
        AuthUserFile /home/svn/conf/svn-auth-conf
        Require valid-user
</Location>

创建svn客户端授权用户

#mkdir -p /home/svn/conf
第一次创建
# htpasswd -cm /home/svn/conf/svn-auth-conf wmf

修改密码或者添加用户
# htpasswd -m /home/svn/conf/svn-auth-conf wmf

此操作不用重启httpd服务即可生效

创建仓库

mkdir -p /home/svn/data
cd /home/svn/data
svnadmin create test

#赋予svn客户端写权限
chown -R apache:apache /home/svn/data

添加访问控制

vim /home/svn/conf/svn-acl-conf
添加下面内容
[test:/]
wmf=rw

启动服务并设置开机启动

systemctl enable httpd.service
systemctl start httpd.service

浏览器访问测试

http://192.168.246.155/repos/test/

输入用户名和密码即可

花絮

给同事装虚拟机的时候,遇到虚拟机不能访问网络以及主机不能ping虚拟机的问题
参考文章
http://blog.csdn.net/sunqingzhong44/article/details/72775744
http://jingyan.baidu.com/article/5553fa82a2d48665a2393432.html
解决如下
1.关闭centos7虚拟机,进入安装目录找到*.vxm文件,用编辑器打开,在最后一行添加ethernet0.virtualDev = “e1000”,这样centos7就有了一个网卡,并能ping通外网
2.进入 控制面板\网络和 Internet\网络连接
将vmnet8 网卡启用,这样就解决了主机ping通虚拟机ip的问题了

备份服务器配置

scp同步方法

由于有多个项目,如果采用上面的方法会很痛苦,故直接采用scp复制根目录的方法,而且还能保存一天的备份

主从机间免密码登录

#用户home目录下生成密匙对,执行指令前先ssh localhost登陆一下,确保.ssh隐藏目录生成,可以先ls -a 看下有木有
ssh-keygen -t rsa
#默认回车后检查生成的文件
ls -a .ssh
#显示 id_rsa id_rsa.pub
#将公钥添加到认证文件
cd .ssh
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
#启用公钥认证功能
vim /etc/ssh/sshd_config
#删除选项注释
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys
service sshd restart
#本地检查无密码认证,无需输入密码即可登录成功
ssh localhost
#将本地公钥拷贝到目标服务器,即可无验证登陆目标服务器
160通过ssh localhost新建.ssh文件夹
scp id_rsa.pub root@192.168.2.160:/root/.ssh/
160上执行
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
scp -r /data/svn root@192.168.2.160:/data/
ssh root@192.168.2.160 "rm -rf /data/svnbak;cp -r /data/svn /data/svnbak;rm -rf /data/svn"

编写定时脚本

chkconfig crond on开机自启动

查看crontab服务状态:service crond status
crontab -e -编辑用户目前的crontab.

#每晚的23:30

30 23 * * * /home/svnscp.sh

crontab -l -列出用户目前的crontab.

crontab -d -删除用户目前的crontab.

svnscp.sh

#!/bin/bash
time=date '+%Y-%m-%d %H:%M:%S'
echo "$time 同步脚本开始执行" >>/home/svnlog
ssh root@192.168.2.160 "rm -rf /data/svnbak;cp -r /data/svn /data/svnbak;rm -rf /data/svn"
scp -r /home/svn root@192.168.2.160:/data/
time=date '+%Y-%m-%d %H:%M:%S'
echo "$time 同步脚本执行完毕" >>/home/svnlog
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐