CentOS6.4下源码安装SVN服务的方法

SVN其实就是Subversion,分为服务器端和客户端。本次折腾是记录在服务器端的安装过程。

系统环境说明如下:

操作系统:        Centos6.4 x86
SVN:             subversion-1.8.0
Apache:          httpd-2.4.6

如开启防火墙,则需添加如下列的规则以放行svn的3690端口

iptables -A INPUT -p tcp --dport 3690 -j ACCEPT
iptables save

检查是否安装了低版本的SVN

rpm -qa | grep subversion

一般返回的默认版本:

subversion-1.6.11-9.el6_4.i686

卸载旧版本SVN

yum remove subversion

下载、编译、安装的步骤

1、编译安装httpd-2.4.6

下载并解压依赖包apr-1.4.8、apr-util-1.5.2

wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.4.8.tar.gz
wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.2.tar.gz
tar -zxf apr-1.4.8.tar.gz
tar -zxf apr-util-1.5.2.tar.gz

下载并解压httpd-2.4.6

wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.6.tar.gz
tar -zxf httpd-2.4.6.tar.gz

移动apr-1.4.8、apr-util-1.5.2到httpd-2.4.6的srclib目录下

mv apr-1.4.8 httpd-2.4.6/srclib/apr
mv apr-util-1.5.2 httpd-2.4.6/srclib/apr-util

编译httpd-2.4.6 www.111cn.net

cd httpd-2.4.6
./configure --prefix=/usr/local/apache --enable-so --enable-dav --enable-deflate=shared --enable-ssl=shared --enable-expires=shared  --enable-headers=shared --enable-rewrite=shared --enable-static-support  --with-included-apr --enable-modules=all --enable-mods-shared=all --with-mpm=prefork
make && make install

2、编译安装subversion-1.8.0

编译安装sqlite3.7.17

wget http://www.sqlite.org/2013/sqlite-autoconf-3071700.tar.gz
tar -zxf sqlite-autoconf-3071700.tar.gz
cd sqlite-autoconf-3071700
./configure
make && make install

下载svn源码包并安装

wget http://mirrors.tuna.tsinghua.edu.cn/apache/subversion/subversion-1.8.0.tar.gz
tar -zxf subversion-1.8.0.tar.gz
cd subversion-1.8.0
./configure --with-apr=/usr/local/apache --with-apr-util=/usr/local/apache --with-sqlite=/usr/local
make && make install

检查安装是否成功

svnserve --version

返回值:

svnserve, version 1.8.0 (r1490375)
   compiled Jul 23 2013, 21:32:09 on i686-pc-linux-gnu
Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository back-end (FS) modules are available:
* fs_fs : Module for working with a plain file (FSFS) repository.
Cyrus SASL authentication is available.

代码库创建

mkdir -p /opt/svn/repositories
svnadmin create /opt/svn/repositories

执行上面的命令后,自动建立repositories库,查看/opt/svn/repositories 文件夹发现包含了conf,db,format,hooks,locks, README.txt等文件,说明一个SVN库建立完成。

配置代码库
进入上面生成的文件夹conf下,进行配置

cd /opt/svn/repositories/conf

用户密码passwd配置

vi passwd

passwd文件的内容如下:

### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.

[users]
# harry = harryssecret
# sally = sallyssecret
test = 123456789

权限控制authz配置

vi authz

目的是设置哪些用户可以访问哪些目录,authz文件的内容如下:

### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to:
###  - a single user,
###  - a group of users defined in a special [groups] section,
###  - an alias defined in a special [aliases] section,
###  - all authenticated users, using the '$authenticated' token,
###  - only anonymous users, using the '$anonymous' token,
###  - anyone, using the '*' wildcard.
###
### A match can be inverted by prefixing the rule with '~'. Rules can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').

[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

# [/foo/bar]
# harry = rw
# &joe = r
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

[/]
test = rw

设置[/]代表根目录下所有的资源

服务svnserve.conf配置

vi svnserve.conf

svnserve.conf文件的内容如下:

[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repositories

启动svn服务

svnserve -d -r /opt/svn/repositories

查看SVN进程

ps -ef|grep svn|grep -v grep

返回

root     20850     1  0 Jul24 ?        00:00:00 svnserve -d -r /opt/svn/repositories

查看SVN监听的端口

netstat -ln |grep 3690

停止启动SVN

killall svnserve    #停止
svnserve -d -r /opt/svn/repositories  #启动

目前最流行的svn客户端非TortoiseSVN莫属
下载安装

http://sourceforge.net/projects/tortoisesvn/files/latest/download?source=dlp

客户端连接地址:svn://公网或内网的IP地址
用户名/密码: test/123456789

 

时间: 2024-09-30 19:08:42

CentOS6.4下源码安装SVN服务的方法的相关文章

CentOS6.8下源码安装MySQL5.6.15

方式一:####################################################### 一.环境介绍 操作系统:CentOS6.8  yum163源:http://mirrors.163.com/.help/CentOS6-Base-163.repo   二.安装软件,源码安装方式 1.mysql 安装包mysql-5.6.15.tar.gz cmake-2.8.4.tar.gz mysql下载地址:http://dev.mysql.com/downloads/m

【原创】CentOS6.4 下源码安装 git

查看系统版本信息  ? 1 2 [root@Betty ~]# cat /etc/redhat-release CentOS release 6.4 (Final) 在系统没有配置额外 yum 源的情况下,通过 yum 能安装的最新 git 版本为 git-1.7.1-3.el6_4.1.x86_64 .因为我打算源码安装最新版本,所以  ? 1 2 3 4 5 6 7 [root@Betty ~]# yum erase git [root@Betty ~]# cd workspace/WGET

Centos 下源码安装配置Nginx +PHP + fastcgi+mysql+MemCached

编译工具包是少不了的先搞起吧 yum -y install gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel  zlib zlib-devel glibc glibc-devel glib2 glib2-devel ./configure: error: the HTTP rewrite module requires the P

CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)运行环境步骤_Linux

一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代表的方面功能非常强大的组件. LAMP这个词的由来最早始于德国杂志"c't Magazine",Michael Kunze在1990年最先把这些项目组合在一起创造了LAMP的缩写字.这些组件并不是开始就设计为一起使用的,但是,这些软件都是开源的,可以很方便的随时获得并免费使用,这就导致了这些组件

squid源码安装的服务启动脚本

#!/bin/bash # squid This shell script takes care of starting and stopping # Squid Internet Object Cache # # chkconfig: - 90 25 # description: Squid - Internet Object Cache. Internet object caching is \ # a way to store requested Internet objects (i.e

Centos6.5下PHP5.3安装ffmpeg扩展的方法

安装步骤 安装必须的环境yasm     wget http://www.tortall.net/projects/yasm/releases/yasm-0.7.0.tar.gz     tar zxvf yasm-0.7.0.tar.gz     cd yasm-0.7.0     ./configure     make && make install 安装ffmpeg     svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

Linux下mysql源码安装笔记_Mysql

1.假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源文件 (1)先安装cmake(mysql5.5以后是通过cmake来编译的) [root@ rhel5 local]#tar -zxv -f cmake-2.8.4.tar.gz [root@ rhel5 local]#cd cmake-2.8.4 [root@ rhel5 cmake-2.8.4]#./configure [root@ rhel5 cmake-2.8.4]#make [root@

Linux下MySQL-5.6的源码安装

本文主要介绍centos下源码安装MySQL 5.6的方法,centos的版本为5.8. 1)首先,你需要到MySQL官网下载源码tar包,点击MySQL Community Server,选择Source Code,源码包不大,只有 34M左右. 注:以下操作没有特殊说明,都是以root账户执行. 2)先安装cmake(mysql5.5以后源码安装都得通过cmake编译) # yum install cmake 并确保以下两个包已安装最新版: ncurses ncurses-devel 3)添

MySQL源码安装总结(r12笔记第12天)

作为一个DBA, MySQL源码安装还是要做做的,虽然不是推荐线上批量安装部署,但是自己作为了解MySQL的一个学习过程,还是值得的. 相比商业软件来说,开源的这一点上就让人很羡慕,商业软件我们总是使用各种工具和底层原理去反推,探测,但是离代码还是有一定的距离.当然商业有商业的好,开源有开源的乐,不能一概而论. 值得推荐的安装镜像 对于MySQL的安装部署来说,总是存在各种版本和子版本,其实整理起来非常繁杂,今天看到竟然我狐已经提供了非常的镜像站点 http://mirrors.sohu.com