美文网首页
搭建SVN CentOS服务器

搭建SVN CentOS服务器

作者: 孙瑞锴 | 来源:发表于2017-01-01 22:31 被阅读0次

    1.借鉴:           

                  Linux(Centos6.5)下安装svn服务器,并通过http访问  

                  在linux服务器上装svn版本管理,自动部署代码到项目 

    2.开始:        

                  2.1 首先你得有一个干净的CentOS或者其他的服务器,确保它们能够连接外网,请别忘记将防火墙关闭。                

                          service iptables stop #关闭防火墙

                          chkconfig iptables off #使防火墙不自动启动

                2.2 配置的话建议配置成双网卡,效仿企业中服务器的网络配置,一个配置为内网,一个连接外网,不需要的话可以删除。(这里是配置网卡,如果已经可以连接网络,则可以省略这一步)       

                        以下为我自己的配置:

                        [root@svn ~]# vi  /etc/sysconfig/network-scripts/ifcfg-eth0       #网卡eth0

                         DEVICE=eth0       

                         TYPE=Ethernet        

                         ONBOOT=yes        

                         NM_CONTROLLED=yes        

                         BOOTPROTO=static #这里是配置静态IP        

                         IPADDR=10.211.55.9 #请更改IP        

                         NETMASK=255.255.255.0 # 请视情况更改网络掩码        

                        [root@svn ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth1        #网卡eth1

                        DEVICE=eth1        

                        TYPE=Ethernet        

                        ONBOOT=yes        

                        NM_CONTROLLED=yes        

                        BOOTPROTO=dhcp #这里是动态获取IP          

                2.3 安装svn        

                      # 首先你可能需要一个镜像,当然是为了提速       

                      [root@svn ~]# yum install yum-fastestmirror        

                      # 然后你可以下载yum安装svn了,当然yum要在centos下       

                      [root@svn ~]# yum -y install mod_dav_svn        

                      # 接下来安装httpd,一般情况下,linux服务器是有httpd服务的,你可以检查下,如果没有则安装        

                      [root@svn ~]# yum -y install httpd              

               2.4 配置仓库        

                     [root@svn ~]#  mkdir -p /home/svn/repos1  #创建仓库1     

                     [root@svn ~]#  svnadmin create /home/svn/repos1  #建立svn版本库       

                     [root@svn ~]# vi /home/svn/repos1/conf/svnserve.conf  #修改SVN版本库配置文件                       

                      # 修改文件结果如下:        

                      [general] # 以下配置必须顶格,否则会有问题的        

                      anon-access = none        

                      auth-access = write       

                      password-db = /home/svn/conf/pwd.conf    # 指向用户配置文件        

                      authz-db = /home/svn/conf/authz.conf    # 指向权限配置文件       

                      realm = repos1                          # 指向svn仓库地址         

               2.5 配置svn用户和权限        

                     2.5.1 配置svn用户

                     [root@svn ~]# vi /home/svn/conf/pwd.conf # 这里面什么也不用写,直接保存并退出就行,或者直接touch /home/svn/conf/pwd.conf就行        

                     [root@svn ~]# htpasswd -c /home/svn/conf/pwd.conf admin  # 创建admin用户,根据提示输入密码,第一个用户才需要加-c,后面的用户不需要-c       

                      [root@svn ~]# htpasswd /home/svn/conf/pwd.conf test # 创建test用户,根据提示输入密码       

                      [root@svn ~]# vi /home/svn/conf/pwd.conf # 在用户最上方加上[users],加上[users]这一步是很重要的,因为用htpasswd的方式加用户会覆盖掉[users],所以每次加完用户需要回去补一下该节点                

                      最终pwd.conf文件应该是这样的:            

                      [users]            

                      admin:qISaC0mVFWh1s            

                      test:M2CgPmmMSyDis      

                     2.5.2 配置svn权限        

                     [root@svn ~]# vi /home/svn/conf/authz.conf                

                     文件内容如下:       

                     [groups]        

                     admin=user1,user2        

                     test=user3        

                     [/]        

                    @admin=rw       

                     * = r        

                    [repos1:/]        

                    user3=r                

                    解释:            

                             a. [groups]为组定义,可以在该组下加很多用户,以,分割,但是该用户数据必须在/homd/svn/conf/pwd.conf中定义好,            

                             b. [/]表示根目录以下的权限定义            

                             c. [repos1:/]表示仓库下的权限定义            

                            如果要分项目,则以此规则类推:             

                            如:[repos1:/aaa]则表示仓库下的aaa项目的权限定义。              

                           @admin 表示admin这个组下的用户权限。              

                           user1=r 表示user1这个用户的权限。              

                           权限类型:r,w,rw 分别表示只读,只写,读写。如果是user1= 这种空情况则表示没有。           

                2.6 建立启动svn的用户        

                          [root@svn ~]# useradd svn      #如果提示svn账户已存在,则执行以下命令    

                          [root@svn ~]# passwd svn        ##根据提示修改下密码,不能过于简单,可使用常用密码        

                         [root@svn ~]# chown -R svn:svn /home/svn/    ##允许用户svn访问版本库    

                         [root@svn ~]# chmod –R o+rw /home/svn        ##解决windows检出提交提示/home/svn/db/txn-current-lock’错误(这一行我并没有执行,因为我的环境不是window检出,所以没有配置)                

                2.7 配置svn的端口        

                         [root@svn ~]# vi /etc/httpd/conf/httpd.conf        

                         找到:       

                         #Listen 12.34.56.78:80这一行,      

                         修改成:

                         Listen 9999  ##9999就是svn的端口,默认是80,你可以修改成你自己想要的。不建议使用默认80端口        

                2.8 配置httpd        

                         [root@svn ~]# vi /etc/httpd/conf.d/subversion.conf       

                         配置文件内容为:

                         <Location /svn>

                             DAV svn          

                             SVNListParentPath on          

                             SVNParentPath /home/svn

                            <LimitExcept GET PROPFIND OPTIONS REPORT>

                                  AuthType Basic

                                  AuthName "Authorization Realm"

                                  AuthUserFile /home/svn/conf/pwd.conf

                                 AuthzSVNAccessFile /home/svn/conf/authz.conf

                                Require valid-user

                           <LimitExcept>

                        <Location>

                2.9 启动服务        

                      [root@svn ~]# service httpd restart # 重启httpd服务        

                      [root@svn ~]# svnserve -d -r /home/svn/ # 启动svn        

                      [root@svn ~]# ps aux|grep svn # 查看svn服务是否正常     

                      # 出现以下说明svn服务启动成功了        

                     root      1406  0.0  0.0 152868  740 ?        Ss  16:20  0:00 svnserve -d -r /home/svn     

                     root      2012  0.0  0.0 103252  864 pts/0    S+  21:59  0:00 grep svn

                2.10 启动浏览器访问      

                    在浏览器中输入:服务器Ip+端口+httpd配置中的。

                    如:http://10.211.55.9:9999/svn/repos1

    3.大功告成

    相关文章

      网友评论

          本文标题:搭建SVN CentOS服务器

          本文链接:https://www.haomeiwen.com/subject/dewivttx.html