说明: SVN(subversion)的运行方式有两种: 一种是基于Apache的http、https网页访问形式; 还有一种是基于svnserve的独立服务器模式。 SVN的数据存储方式也有两种:一种是在Berkeley DB数据库中存储数据;另一种是使用普通的文件FSFS存储数据。 由于Berkeley DB方式在使用中有可能锁住数据,一般建议使用FSFS方式更安全。 实现目的: 以svnserve的独立服务器模式,使用FSFS数据存储方式源码编译安装配置SVN服务器。 具体操作: 操作系统:CentOS 6.x 服务器IP:192.168.21.134 一、关闭SELINUX vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq! #保存退出 setenforce 0 #使配置立即生效 二、开启防火墙端口 基于svnserve的独立服务器模式,默认端口为3690 vi /etc/sysconfig/iptables #编辑防火墙配置文件 # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT :wq! #保存退出 service iptables restart #最后重启防火墙使配置生效 三、安装编译工具包 yum install apr* autoconf automake bison cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng* libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* libX* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils ppl telnet t1lib t1lib* nasm nasm* wget zlib-devel zlib unzip perl-ExtUtils-Embed yum remove apr apr-util subversion subversion-libs #删除系统中原有的svn及依赖包 四、下载svn需要的依赖软件包 说明:安装svn需要的软件包:apr apr-util serf scons openssl 软件包存放目录:/usr/local/src 1、下载apr https://dist.apache.org/repos/dist/release/apr/apr-1.5.2.tar.gz 2、下载apr-util https://dist.apache.org/repos/dist/release/apr/apr-util-1.5.4.tar.gz 3、下载scons http://prdownloads.sourceforge.net/scons/scons-2.3.5.tar.gz 4、下载openssl http://www.openssl.org/source/openssl-1.0.1o.tar.gz 5、下载serf http://fossies.org/linux/www/serf-1.3.8.tar.gz 6、下载svn http://www.apache.org/dist/subversion/subversion-1.8.13.tar.gz 7、下载sqlite-amalgamation http://www.sqlite.org/snapshot/sqlite-amalgamation-201506201411.zip 五、安装SVN 1、安装apr cd /usr/local/src #进入软件包存放目录 tar zxvf apr-1.5.2.tar.gz #解压 cd apr-1.5.2 #进入安装目录 ./configure --prefix=/usr/local/apr #配置 make #编译 make install #安装 2、安装apr-util cd /usr/local/src tar zxvf apr-util-1.5.4.tar.gz cd apr-util-1.5.4 ./configure --with-apr=/usr/local/apr/bin/apr-1-config make make install 3、安装scons cd /usr/local/src tar zxvf scons-2.3.5.tar.gz cd scons-2.3.5 python setup.py #配置 install #安装 4、安装openssl cd /usr/local/src tar zxvf openssl-1.0.1o.tar.gz cd openssl-1.0.1o CFLAGS=-fPIC ./config --prefix=/usr/local/openssl enable-shared make make install vi /etc/profile #添加系统环境变量 export PATH=$PATH:/usr/local/openssl/bin :wq! #保存退出 source /etc/profile #使配置生效 ln -s /usr/local/openssl/include/openssl /usr/include/openssl #添加系统软连接 5、安装serf cd /usr/local/src tar zxvf serf-1.3.8.tar.gz cd serf-1.3.8 scons PREFIX=/usr/local/serf APR=/usr/local/apr/bin/apr-1-config APU=/usr/local/apr/bin/apu-1-config OPENSSL=/usr/local/openssl scons install cd /usr/local/serf/lib cp libserf-1.so* /usr/local/lib/ #拷贝文件到系统目录 6、安装svn cd /usr/local/src tar zxvf subversion-1.8.13.tar.gz cd subversion-1.8.13 mkdir /usr/local/src/subversion-1.8.13/sqlite-amalgamation #创建sqlite-amalgamation目录 cd /usr/local/src unzip sqlite-amalgamation-201506201411.zip -d /usr/local/src/subversion-1.8.13/sqlite-amalgamation #解压sqlite-amalgamation软件包到sqlite-amalgamation目录 ./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-serf=/usr/local/serf --with-openssl=/usr/local/openssl --enable-mod-activation #配置 make #编译 make install #安装 vi /etc/profile #添加系统环境变量,添加到最后一行 export PATH=$PATH:/usr/local/svn/bin :wq! #保存退出 source /etc/profile #使配置立刻生效 whereis libexpat.so.1 #查找文件安装目录,如下: libexpat.so: /lib/libexpat.so.0 /usr/local/lib/libexpat.so /usr/local/lib/libexpat.so.1 vi /etc/ld.so.conf #编辑加入libexpat.so.1的目录 /usr/local/lib/ :wq! #保存退出 ldconfig #使配置生效 7、测试安装是否成功: svn help #查看svn帮助信息 svnserve --version #查看svn版本信息 svn --version 六、配置svn 1、创建svn代码库 mkdir -p /home/svn #创建目录 svnadmin create /home/svn #创建svn代码库 #上面的命令执行完成之后,会自动建立svn库,在/home/svn文件夹含了conf,db,format,hooks,locks,README.txt等文件。 #说明svn代码库创建成功。 2、配置svn代码库 cd /home/svn/conf #进入配置文件存放目录 vi /home/svn/conf/svnserve.conf #配置全局文件,在最后添加以下代码 [general] anon-access=none #禁止匿名访问,设置为none。默认为read,参数:read,write,none auth-access=write #授权用户写权限 password-db=passwd #用户账号密码文件路径,可以写绝对路径 authz-db=authz #访问控制权限文件路径,可以写绝对路径 realm=svn #每个SVN项目的认证命,会在认证提示里显示,建议写项目名称。 :wq! #保存退出 vi /home/svn/conf/passwd #配置用户密码 [users] # harry = harryssecret # sally = sallyssecret osyunwei=123456 test=123456 test2=123456 :wq! #保存退出 vi /home/svn/conf/authz #配置权限控制文件,设置用户可以访问的目录 [groups] admin = osyunwei users = test,test2 [/] @admin = rw * = r :wq! #保存退出 #[/]代表根目录下所有的资源 3、启动svn svnserve -d -r /home/svn --listen-port 3690 ps -ef|grep svn|grep -v grep #查看svn进程 root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /home/svn netstat -ln |grep 3690 #检查svn端口 tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN killall svnserve #关闭svn服务 4、设置svn服务开机启动 vi /etc/init.d/svn #编辑,添加以下代码 #!/bin/sh # chkconfig: 2345 85 85 # processname: svn svn_port=3690 svn_home=/home/svn if [ ! -f "/usr/local/svn/bin/svnserve" ] then echo "svnserver startup: cannot start" exit fi case "$1" in start) echo "Starting svnserve..." /usr/local/svn/bin/svnserve -d -r $svn_home --listen-port $svn_port echo "Successfully!" ;; stop) echo "Stoping svnserve..." killall svnserve echo "Successfully!" ;; restart) $0 stop $0 start ;; *) echo "Usage: svn { start | stop | restart } " exit 1 esac :wq! #保存退出 chmod +x /etc/init.d/svn #添加执行权限 chkconfig svn on #开启自启动 5、测试svn svn checkout svn://192.168.21.134/ --username=osyunwei --password=123456 #将文件下载到本地目录 svn update --username=osyunwei --password=123456 #更新上次修改之后的版本库 七、使用客户端连接svn服务器 系统运维 www.osyunwei.com 温馨提醒:系统运维原创内容©版权所有,转载请注明出处及原文链接 TortoiseSVN是Windows平台下SVN(subversion)的一个免费开源的客户端。 TortoiseSVN下载地址:http://tortoisesvn.net/downloads.html 目前最新版本为:TortoiseSVN 1.8.11,区分32位和64位操作系统,并且提供中文汉化包。 如下图所示:
安装完成之后,桌面-右键单击,选择TortoiseSVN-版本库浏览器 如下:
系统运维 www.osyunwei.com 温馨提醒:系统运维原创内容©版权所有,转载请注明出处及原文链接 URL输入:svn://192.168.21.134/
输入用户名:osyunwei 密码:123456 勾选:保存认证 确定
可以看到svn服务器上的内容,右键单击之后,可以选择创建文件夹等操作。 至此,Linux下源码编译安装配置SVN服务器教程完成。 (责任编辑:IT) |