centos7.2基于SVN+Apache+IF.svnadmin实现SVN的web管理

centos7.2基于SVN+Apache+IF.svnadmin实现SVN的web管理

主体功能转载自:http://www.cnblogs.com/jackiega/p/8473085.html


介绍说明

  本文介绍的是CentOS7上搭建基于Apache、SVN Server、iF.svnadmin实现web后台可视化管理SVN。
  iF.SVNAdmin应用程序是Subversion授权文件基于Web的GUI。该应用程序不需要数据库后端,它完全基于Subversion授权和用户认证文件。

旧版卸载

  • 检查之前是否安装过svn服务,如有安装执行卸载命令
# rpm -e   subversion
  • 如果提示有依赖或者冲突,最好就不要卸载了。当然也可以强制卸载,在上面的命令后面加上参数: –nodeps 即可

软件准备

安装相关软件包
1.安装apache

yum install httpd -y

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

yum install mod_dav_svn subversion -y

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

httpd -version
svnserve --version
ls /etc/httpd/modules/ | grep svn

4.在apache下配置svn

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

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

"">
  DAV svn
  SVNParentPath /var/www/svn   #svn的根目录
  SSLRequireSSL                #SSL访问权限
  AuthType Basic               #Basic认证方式
  AuthName "Authorization SVN"   #认证时显示的信息
  AuthUserFile /var/www/svn/passwd      #用户文件&密码
  AuthzSVNAccessFile /var/www/svn/authz  #访问权限控制文件
  Require valid-user            #要求真实用户,不能匿名

5.Apache使用ssl模块配置HTTPS

  a、安装OpenSSL

yum install mod_ssl openssl

安装完毕后,会自动生成 /etc/httpd/conf.d/ssl.conf 文件。

  b、生成一个自签名证书

  下面的命令可以被用来产生一个自签名的证书。

  首先,生成2048位的加密私钥

openssl genrsa -out server.key 2048

然后,生成证书签名请求(CSR),这里需要填写许多信息,如国家,省市,公司等

openssl req -new -key server.key -out server.csr

最后,生成类型为X509的自签名证书。有效期设置3650天,即有效期为10年

openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

创建证书后,将文件复制到对应的目录。

 cp server.crt /etc/pki/tls/certs/
 cp server.key /etc/pki/tls/private/       
 cp server.csr /etc/pki/tls/private/

c、配置Apache Web服务器

 首先,修改下面的配置文件。仅需配置SSLCertificateFile和SSLCertificateKeyFile
 

vim /etc/httpd/conf.d/ssl.conf

### overwrite the following parameters ###
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/private/server.key

### The following parameter does not need to be modified in case of a self-signed certificate. ###
### If you are using a real certificate, you may receive a certificate bundle. The bundle is added using the following parameters ###
# SSLCertificateChainFile /etc/pki/tls/certs/example.com.ca-bundle

建立SVN Server仓库

通过如下命令建立svn仓库,其中/var/www/svn是准备放仓库的目录,这个目录可以放置多个代码仓库。

# mkdir /var/www/svn
# svnadmin create /var/www/svn/test-project
# ls /var/www/svn/test-project

# chown -R apache.apache /var/www/svn

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

# touch /var/www/svn/passwd
# touch /var/www/svn/authz
# chmod -R 777 /var/www/svn/passwd
# chmod -R 777 /var/www/svn/authz

配置安装PHP&IF.SVNadmin

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

# yum install php -y

安装配置if.svnadmin(http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download)

# unzip svnadmin-1.6.2.zip
# mv iF.SVNAdmin-stable-1.6.2/ /var/www/html/svnadmin
# cd /var/www/html
# chown -R apache.apache svnadmin
# cd /var/www/html/svnadmin
# chmod -R 777 data

启动服务

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

# firewall-cmd --zone=public --add-port=80/tcp --permanent
# firewall-cmd --reload

通过查看文件/usr/lib/systemd/system/svnserve.service, 了解到svnserver的配置文件是/etc/sysconfig/svnserve,修改/etc/sysconfig/svnserve

# vi /etc/sysconfig/svnserve

OPTIONS="-r /var/www/svn"

通过如下命令来启用服务

# systemctl start httpd.service

如下命令使其开机自启动

# systemctl enable httpd.service

重启Apache

# systemctl restart httpd.service

启动webserver服务后,浏览器地址输入http://ip/svnadmin出现配置界面,输入下图中配置信息,输入每个配置信息可以点击旁边的Test测试是否输入正确,最后保存配置。

你可能感兴趣的:(持续集成篇)