CentOS7 搭建SVN过程

1.安装相关软件包

安装过程如下:

1.安装apache

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

2.安装svn服务器(其中,mod_dav_svn是apache服务器访问svn的一个模块)

[root@localhost ~]# yum install mod_dav_svn subversion -y

3.安装完成后可以通过如下命令查看是否安装成功

root@localhost ~]# httpd -version

[root@localhost ~]# svnserve --version

[root@localhost ~]# ls /etc/httpd/modules/ | grep svn

mod_authz_svn.so

mod_dav_svn.so
4.在apache下配置svn 

[root@localhost ~]# vim /etc/httpd/conf.d/subversion.conf

 
   DAV svn  
   SVNParentPath /svn    #svn的根目录
  
    AuthType Basic  
    AuthName "Restricted Access"  #认证时显示的信息
  
    #File will be created by SVNManager, keep location in mind!  
    AuthUserFile /svn/passwd  #用户文件&密码
  
    Require valid-user  #要求真实用户,不能匿名
    #SSLRequireSSL  
  
    #File will be created by SVNManager, keep location in mind  
    AuthzSVNAccessFile /svn/authz  #访问权限控制文件
  
   # Limit write permission to list of valid users.  
   #  
   #   # Require SSL connection for password protection.  
   #   # SSLRequireSSL  
  
   #   AuthType Basic  
   #   AuthName "Authorization Realm"  
   #   AuthUserFile /path/to/passwdfile  
   #   Require valid-user  
   #
 
 

 

建立SVN Server仓库

其中/svn是准备放仓库的目录,这个目录可以放置多个代码仓库

[root@localhost ~]# mkdir /svn

 

[root@localhost ~]# svnadmin create /svn/test

[root@localhost ~]# ls /svn/test             --->  conf  db  format  hooks  locks  README.txt

[root@localhost ~]# chown -R root.root /svn

 

创建用户文件passwd和权限控制文件authz

[root@localhost ~]# touch /svn/passwd

 

[root@localhost ~]# touch /authz

启动

svnserve -d -r /svn

注意:不要启动到具体版本库,会出现权限问题;

Linux下设置svn开机自启动

https://blog.csdn.net/u013405778/article/details/47171483

配置安装PHP&IF.SVNadmin

由于iF.SVNAdmin使用php写的,因此我们需要安装php

[root@localhost ~]# yum install php

 

安装配置if.svnadmin

 

[root@localhost~]# wget http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download

[root@localhost ~]# cd /usr/src/

[root@localhost src]# unzip iF.SVNAdmin-stable-1.6.2

[root@localhost iF.SVNAdmin-stable-1.6.2]# cp -r iF.SVNAdmin-stable-1.6.2/ /var/www/html/svnadmin

[root@localhost ~]# cd /var/www/html

[root@localhost html]# chown -R apache.apache svnadmin

[root@localhost html]# cd /var/www/html/svnadmin

[root@localhost html]# chmod -R 777 data

5.启动服务

如果开启了防火墙, 需要开启httpd访问权限

[root@localhost ~]# firewall-cmd --permanent --add-service=http

[root@localhost ~]# firewall-cmd --permanent --add-service=https

[root@localhost ~]# firewall-cmd --reload 

通过如下命令来启用服务

[root@localhost ~]# service httpd start

如下命令使其开机自启动

[root@localhost ~]# systemctl enable httpd.service

重启Apache

[root@localhost ~]# service httpd restart

3、svnadmin配置

输入:http://ip/svnadmin,首先需要进行配置,如图中的Test按钮可以对相关的配置进行校验

CentOS7 搭建SVN过程_第1张图片注意:报以下错误原因

Error: Could not copy configuration file template. Require write permission (777) to "data" folder and all containing files.
#0 /var/www/svnadmin/index.php(20): include_once()
#1 {main}

出现上面错误时,直接赋权限就OK了:

cd /var/www/svnadmin/
chmod 777 data

不行则关闭SELinux

http://blog.51cto.com/bguncle/957315

 

如果admin密码忘记,admin密码这样修改:

sudo htpasswd /var/www/html/svnadmin/data/passwd   admin  admin123

你可能感兴趣的:(CentOS7 搭建SVN过程)