linux SVN服务器搭建

来源:互联网 发布:c语言必读书籍 编辑:程序博客网 时间:2024/06/06 09:33

SVN服务器搭建

环境准备

1.     操作系统

CentOS Linux release 7.0.1406 (Core)

 

2.     安装包

包名

描述

apr-1.5.2.tar.gz

Apache可移植运行库(apache依赖)

apr-util-1.5.4.tar.gz

apr工具(apache依赖)

httpd-2.4.25.tar.gz

Apache安装包

pcre-8.39.tar.gz

perl语言兼容正则表达式(apache依赖)

scons-2.5.0.tar.gz

自动化构建工具(serf依赖)

sqlite-autoconf-3160200.tar.gz

sqlite安装包

subversion-1.9.5.tar.gz

Svn安装包

openssl-1.0.2j.tar.gz

Openssl安装包

说明:

1.      7.0环境sqlite版本较高,无需安装,redhat6.5需要更新sqlite版本;

2.      安装时利用操作系统自带的openssl,没有手动安装openssl。

安装步骤

1.     安装apr

tar -zxf apr-1.5.2.tar.gz

cd apr-1.5.2

./configure --prefix=/usr/local/apr

make

make install

 

 

 

2.     安装apr-util

tar -zxf apr-util-1.5.4.tar.gz

cd apr-util-1.5.4

./configure --prefix=/usr/local/apu –with-apr=/usr/local/apr

make

make install

 

3.     安装pcre

tar -zxf pcre-8.39.tar.gz

cd pcre-8.39

./configure --prefix=/usr/local/pcre

make

make install

 

4.     安装apache

tar -zxf httpd-2.4.25.tar.gz

cd httpd-2.4.25

./configure --prefix=/usr/local/apache2--with-apr=/usr/local/apr --with-apr-util=/usr/local/apu--with-pcre=/usr/local/pcre --enable-modules=all --enable-dav--enable-maintainer-mode --enable-rewrite

make

make install

 

5.     安装scons

tar -zxf scons-2.5.0.tar.gz

cd scons-2.5.0

python setup.py install

 

6.     安装subversion

tar -zxf subversion-1.9.5.tar.gz

cd subversion-1.9.5

./get-deps.sh

安装serf

cd serf

scons PREFIX=/usr/local/serf APR=/usr/local/aprAPU=/usr/local/apu

scons install

scons –c

切换至subversion-1.9.5目录

./configure --prefix=/usr/local/subversion--with-apr=/usr/local/apr --with-apr-util=/usr/local/apu--enable-mod-activation --with-apache-libexecdir=/usr/local/apache2/modules --with-apxs=/usr/local/apache2/bin/apxs--with-serf=/usr/local/serf

make

make install

 

7.     创建用户

groupadd zhubaosvn

useradd -g zhubaosvn zhubaosvn

 

8.   配置环境变量

vi /etc/profile

SVN_HOME=/usr/local/subversion

HTTPD_HOME=/usr/local/apahce2

PATH=$SVN_HOME/bin:$HTTPD_HOME/bin:$PATH

 

使环境变量生效

source /etc/profile

 

9.     创建svn版本库

利用zhubaosvn用户,在zhubaosvn目录下执行命令

svnadmin create /home/zhubaosvn/bsa

 

10.  创建svn用户,进行相应配置

创建admin用户

htpasswd -cmb bsa/passwd admin 123

创建zhu用户

htpasswd -mb bsa/passwd zhu 123

配置权限

vim bsa/conf/authz

[groups]

g_admin = admin

g_develop = zhu

[/]

@g_admin = rw

* = r

 

vim bsa/conf/svnserve.conf

在[general]下加入

anon-access = none

auth-access = write

password-db = ../passwd

authz-db = authz

 

说明:

anon-access = none #表示匿名登陆下的用户权限为空。即:系统不支持匿名登陆

auth-access = write #通过验证的用户可以读和写

password-db = ../passwd #用户保存文件的路径

authz-db = authz #权限管理文件

11.  配置apache连接svn

vim /usr/local/apache2/conf/httpd.conf

User zhubaosvn

Group zhubaosvn

 

<Location /svn>

    DAV svn

    SVNParentPath /home/zhubaosvn

    AuthType Basic

    AuthName "hello world!"

    AuthUserFile /home/zhubaosvn/bsa/passwd

    AuthzSVNAccessFile /home/zhubaosvn/bsa/conf/authz

    Require valid-user

</Location>

 

说明:

SVNParentPath /home/zhubaosvn #版本库根目录的父目录

AuthType Basic #连接类型设置 Basic表示基本验证

AuthName "hello world!" #客户端认证时提示对话框标题

AuthUserFile /home/zhubaosvn/bsa/passwd #版本库用户信息文件

AuthzSVNAccessFile/home/zhubaosvn/bsa/conf/authz #版本库用户认证文件

Require valid-user #告诉apache在passwd中所有的用户都可以访问

 

 

12.  https配置

cd /usr/local/apache2/conf

 

openssl genrsa 1024 > server.key

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

openssl req -x509 -days 2048 -keyserver.key -in server.csr > server.crt

(这里要根据提示输入用户信息)

vim /usr/local/apache2/conf/httpd.conf

 

取消Include conf/extra/httpd-ssl.conf前的注释

Include conf/extra/httpd-ssl.conf

svn根目录强制https访问

<Location /svn>

    SSLRequireSSL

</Location>

 

 

13.  启动apache

Apachectl –k start

 

安装完成!!!

 

客户端访问

1.     利用TortoiseSVN访问


 

输入上述创建的用户名密码


Checkout 成功!!!

Commit、update等操作均成功!!!

 

2.     利用浏览器访问

url:

https://10.67.8.62/svn/bsa


填入上述创建的用户名密码



访问正常!!!

 

附录

参考文档

http://blog.csdn.net/u010062710/article/details/44676441

http://www.th7.cn/system/lin/201403/51431.shtml

http://blog.csdn.net/w565911788/article/details/7623345

 

0 0
原创粉丝点击