Linux下的SVN服务器搭建

SVN服务器yum搭建

参考1
参考2
系统环境:Centos 6.5

  1. 通过yum命令安装svnserve

yum -y install subversion

此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行
若需查看svn安装位置,可以用以下命令:

rpm -ql subversion

  1. 创建版本库目录

mkdir /usr/svn
mkdir /usr/svn/svnrepos

  1. 创建svn版本库,在第二步建立的路径基础上,创建版本库,命令如下:

svnadmin create /usr/svn/svnrepos/hand (hand为你预期的版本库名称,可自定义)

创建成功后,进入目录

cd /usr/svn/svnrepos/hand

进入目录,可以看见如下文件信息:


image
  1. 配置修改
    conf目录下,一共存放三份重要的配置文件,如下:
image

authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件

细节修改

  1. 修改authz文件信息

cd /usr/svn/svnrepos/hand/conf
vi authz

在文件内容的末尾,添加如下:


Linux下的SVN服务器搭建_第1张图片
账号授权

末尾内容如下:

[\]
xies = rw

rw表示赋予此账号可读写的权限,请注意[]中的斜杠,一定是反斜杠,有些教程说,需添加版本库名称在括号内,我直接建议就这写,这样写允许访问的权限更大,避免一些错误

  1. 修改passwd文件信息

vi passwd

账号密码文件无需做修改,也是直接将账号和密码信息追加到文件中即可,注意格式为:账号 = 密码

xies = 123456
Linux下的SVN服务器搭建_第2张图片
账号密码
  1. 修改配置svnserve

vi svnserve.conf

原始文件内容,都被注释掉的,我们只需要添加如下:

anon-access = none       `将匿名用户的权限置为空`
password-db = passwd    `引用权限用户信息为passwd文件`

到此,配置已经全部完成,账号信息已经添加成功

防火墙开启

多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题,大家按照如下3条命令逐一执行即可

/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT

/etc/init.d/iptables save

service iptables restart

执行结果如下图:

Linux下的SVN服务器搭建_第3张图片
image
启动svn服务器

在跟目录下,执行如下命令

svnserve -d -r /usr/svn/svnrepos

启动成功后
查看服务启动是否成功
ps -ef|grep svn

root 12341 1 0 16:16 ? 00:00:00 svnserve -d -r /usr/svn/svnrepos

客户端访问svn服务器

在windows客户端,输入地址:

svn://ip地址:3690/hand

注意:ip地址为你linux的ip,hand为前文创建的版本库名称,3690为svn默认端口
弹出输入用户名和密码,输入即可访问

SVN服务器源码搭建

参考1
参考2

安装Subversion

下载安装

Subversion源码下载
下载地址:http://subversion.apache.org/download
下载地址2

wget http://subversion.tigris.org/downloads/subversion-1.6.12.tar.bz2
tar jxvf subversion-1.6.12.tar.bz2
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.gz
tar -zxvf subversion-deps-1.6.12.tar.gz
cd subversion-1.6.12
rm –rf apr
rm -rf apr-util
./configure --prefix=/usr/local/subversion
  • 建议用高版本
wget http://mirror.bit.edu.cn/apache/subversion/subversion-1.9.10.tar.gz
tar jxvf subversion-1.6.12.tar.bz2
wget http://mirror.bit.edu.cn/apache/subversion/subversion-deps-1.9.10.tar.gz
tar -zxvf subversion-deps-1.6.12.tar.gz
cd subversion-1.6.12
rm –rf apr
rm -rf apr-util
./configure --prefix=/usr/local/subversion

configure依赖缺少报错1

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

configure: error: no suitable apr found

安装apr、apr-util与apache

下载apr与apr-util,下载地址:http://apr.apache.org/
下载版本:apr-1.5.1.tar.gz apr-util-1.5.4.tar.gz

  1. 安装apr
cd /usr/local/src
wget http://mirror.bit.edu.cn/apache//apr/apr-1.7.0.tar.gz
tar -zxvf apr-1.7.0.tar.gz
cd apr-1.7.0
./configure --prefix=/usr/local/apr

出现这个提示:cannot remove `libtoolT’: No such file or directory

  • 解决方案:
    vi configure
    查找 $RM "$cfgfile" 31880行这个地方,用#注释掉,然后重新编译安装就可以了。
make &&make install
  1. 安装apr-util
cd /usr/local/src
wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
tar -zxvf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr
make &&make install
  1. 安装pcre
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
tar -zxvf pcre-8.39.tar.gz
cd pcre-8.39
./configure --prefix=/usr/local/pcre
 make
 make install
  1. 安装apache
    安装目录是/usr/local/apache
wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.37.tar.gz
tar zxvf httpd-2.4.37.tar.gz
 cd httpd-2.4.37
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre --enable-module=so --enable-mods-shared=all  --enable-module=rewirte  --enable-cache  --enable-file-cache  --enable-mem-cache  --enable-disk-cache  --disable-cgid   --disable-cgi
 make&& make install
  1. 修改httpd.conf
    cd /usr/local/apache/conf/
    vi httpd.conf
    将ServerName前的“#”去掉,将www.example.com改成
    serverName 129.211.24.177:80

  2. 启动apache
    cd /usr/local/apache/bin/
    ./apachectl start
    通过本机浏览器输入地址129.211.24.177:80
    关闭 pkill -9 httpd
    参考

configure依赖缺少报错2

cd /usr/local/src/subversion-1.6.12
./configure --prefix=/usr/local/subversion --with-apr-util=/usr/local/apr-util --with-apr=/usr/local/apr

configure: error: Subversion requires SQLite

  1. 安装SQLite 参考
cd /usr/local/src
https://www.sqlite.org/2019/sqlite-amalgamation-3280000.zip
unzip sqlite-amalgamation-3280000.zip
wget http://www.sqlite.org/sqlite-amalgamation-3.5.9.tar.gz
tar -zxvf sqlite-amalgamation-3.5.9.tar.gz
cd sqlite-amalgamation-3.5.9
./configure --prefix=/usr/local/sqlite-amalgamation 
make &&make install
  1. 复制libsqlite3.so.0共享库
    cp /usr/local/sqlite-amalgamation-3.5.9/lib/libsqlite3.so.0 /usr/lib/

  2. 复制到subversion-1.6.12/sqlite-amalgamation下 重要
    find / -name sqlite3.c
    cd /usr/local/src/sqlite-amalgamation-3.5.9/
    mkdir /usr/local/src/subversion-1.6.12/sqlite-amalgamation
    cp sqlite3.c /usr/local/src/subversion-1.6.12/sqlite-amalgamation

  3. 登录sqlite3 (可跳过)
    sqlite3 ex1

SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

configure依赖缺少报错3

cd /usr/local/src/subversion-1.6.12
./configure --prefix=/usr/local/subversion --with-apr-util=/usr/local/apr-util --with-apr=/usr/local/apr

configure: error: subversion requires zlib

解决方案:从http://zlib.net/下载zlib-1.2.8.tar.gz,并安装

cd /usr/local/src
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr/local/zlib
make &&make install

configure依赖缺少报错4

参考1
参考2

cd /usr/local/src/subversion-1.6.12
./configure --prefix=/usr/local/subversion --with-apr-util=/usr/local/apr-util --with-apr=/usr/local/apr  --with-zlib=/opt/zlib=/usr/local/zlib LDFLAGS="-L/usr/lib64 -L/lib64"

configure: error: failed to recognize APR_INT64_T_FMT on this platform

  1. 修改configure
    vi configure
    注释所有以下内容
# if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
# as_fn_error $? "failed to recognize APR_INT64_T_FMT on this platform" "$LINENO" 5
# fi
  1. 编译make && make install

subversion/libsvn_subr/sqlite.c:57:26: fatal error: sqlite3ext.h: No such file or directory
compilation terminated.
Makefile:789: recipe for target 'subversion/libsvn_subr/sqlite.lo' failed
make: *** [subversion/libsvn_subr/sqlite.lo] Error 1

原因:sqlite-amalgamation版本太低

解决办法:去官网https://www.sqlite.org/download.html下载一个最新的
如sqlite-amalgamation-3280000.zip(2.21 MiB)

/usr/local/src/sqlite-amalgamation-3280000
cp * /usr/local/src/subversion-1.9.10/sqlite-amalgamation/

再直接把解压的文件中的全部复制过去了

 make && make install

验证
svnserve --version

验证SVN安装报错

svnserve: symbol lookup error: /lib64/libsvn_subr-1.so.0: undefined symbol: sqlite3_initialize

在/usr/local/lib/下建立两个链接文件即可解决问题。

find / -name libapr-1.so.0
find / -name libaprutil-1.so.0
find / -name libsvn_subr-1.so.0
sudo ln -s /usr/lib/libapr-1.so.0 /usr/local/apr/lib/libapr-1.so.0
sudo ln -s /usr/lib/libaprutil-1.so.0 /usr/local/apr-util/lib/libaprutil-1.so.0
sudo ln -s /lib64/libsvn_subr-1.so.0 /usr/local/subversion/lib/libsvn_subr-1.so.0
cp  /usr/local/apr/lib/libapr-1.so.0 /usr/lib
cp  /usr/local/apr-util/lib/libaprutil-1.so.0 /usr/lib
cp /usr/local/subversion/lib/*   /lib64

svnserve --version
显示版本说明安装成功

重新配置subversion

cd /usr/local/src/subversion-1.6.12
./configure --prefix=/usr/local/subversion  --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config  --with-zlib=/usr/local/zlib
make &&make install

建立软链接

ln /usr/local/subversion/bin/svn /sbin/svn

添加环境变量

vi /etc/profile
#svn环境变量
export SVN_HOME=/usr/local/subversion
export PATH=${PATH}:${SVN_HOME}/bin

svnserve --version
显示版本说明安装成功

你可能感兴趣的:(Linux下的SVN服务器搭建)