Svn linux服务端安装及配置

来源:互联网 发布:深圳火妹网络 编辑:程序博客网 时间:2024/05/23 01:12

  • Svn服务端安装及配置
    • 安装centos7
    • 关闭防火墙
    • 安装httpd
    • subversion 软件安装
    • Apache 配置
    • svn apache 配置 加载组件模块
    • 创建svn客户端授权用户
    • 创建仓库
    • 添加访问控制
    • 启动服务并设置开机启动
    • 浏览器访问测试
    • 花絮
  • 备份服务器配置
    • scp同步方法
      • 主从机间免密码登录
    • 编写定时脚本

Svn服务端安装及配置

安装centos7

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

关闭防火墙

systemctl stop firewalldvim /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/datacd /home/svn/datasvnadmin create test#赋予svn客户端写权限chown -R apache:apache /home/svn/data

添加访问控制

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

启动服务并设置开机启动

systemctl enable httpd.servicesystemctl 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 .sshcat id_rsa.pub >> authorized_keyschmod 600 authorized_keys#启用公钥认证功能vim /etc/ssh/sshd_config#删除选项注释RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile  .ssh/authorized_keysservice 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_keyschmod 600 authorized_keysscp -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/bashtime=date '+%Y-%m-%d %H:%M:%S'echo "$time 同步脚本开始执行" >>/home/svnlogssh 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
原创粉丝点击