2.把下载好的包上传至目录/home/svn/download目录下,并解压相关压缩包
2. 修改版本库配置文件svnserve.conf 主要不要前面留空格
Linux下yum安装SVN服务端
1.查看yum是否安装
在终端中输入yum即可如果已经安装,会显示yum的参数,如果没有安装,会提示yum未安装或无效命令……
2.安装svn
yum -y install subversion
出现下面截图后,表示安装完成。
3.创建目录并配置
建立版本库目录
mkdir -p /data/svn/repo
配置 /p>
svnadmin create /data/svn/repo
执行上面的命令后,自动建立repo测试库,查看/data/svn/repo 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
4.用户密码passwd配置
[root@localhost password]# cd /data/svn/repos/conf
[root@admin conf]# vim passwd
修改passwd为以下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
hello=123
用户名=密码
这样我们就建立了hello用户, 123密码
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
5.权限控制authz配置
[root@admin conf]# vi authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
#设置[/]代表根目录下所有的资源 或者写成[repl:/]
[/]
hello = rw
意思是hello用户对repo测试库下所有的目录有读写权限,当然也可以限定。 如果是自己用,就直接是读写吧。
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
6.服务svnserve.conf配置
[root@admin conf]# vim svnserve.conf
追加以下内容:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/data/svn/repositories
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
7.启动svn服务
查看svn的服务是否启动
ps -ef|grep svn
如果没有启动执行 下面命令即可:
svnserve -d -r /data/svn/repo --listen-port=3690
8.开启端口
/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
/etc/init.d/iptables status
9.访问
svn://ip地址
端口默认为3690,输入配置好的用户名和密码即可。
注意:此处千万不能 svn://ip地址/repo,否则无法访问。
Linux下离线安装SVN服务端
1.下载相应的包
链接: https://pan.baidu.com/s/1grzkbU8daCrRQ3B2zPE0Mg 提取码: 39gy
2.把下载好的包上传至目录/home/svn/download目录下,并解压相关压缩包:
tar -xf 文件名.tar
3.安装:
1、检查gcc环境,使用命令:gcc -v;出现下图为正确
2、安装apr
[root@localhost ~]$ cd apr-1.5.2
[root@localhost apr-1.5.2]$ ./configure --prefix=/home/svn/apr-1.5.2
[root@localhost apr-1.5.2]$ make
[root@localhost apr-1.5.2]$ make test
[root@localhost apr-1.5.2]$ make install
3、安装apr-util:
[root@localhost ~]$ cd apr-util-1.5.4
[root@localhost apr-util-1.5.4]$ ./configure --prefix=/home/svn/apr-util-1.5.4 --with-apr=/home/svn/apr-1.5.2
[root@localhost apr-util-1.5.4]$ make
[root@localhost apr-util-1.5.4]$ make test
[root@localhost apr-util-1.5.4]$ make install
4、安装依赖的sqlite:
1.可以自行安装sqlite或者将sqlite解压到/home/svn/subversion-1.8.16/sqlite-amalgamation下
2.这里采取将sqlite解压到/home/svn/download/subversion-1.8.18/sqlite-amalgamation下
3.将文件夹名称改为要求的文件夹名称
[root@localhost subversion-1.8.18]$ mv sqlite-autoconf-3190300 sqlite-amalgamation
5、zlib的安装(参考第6步中命令):
一、zlib
zlib适用于数据压缩的函式库,由Jean-oup Gailly(负责compression)和 MarkAdler(负责decompression)开发。
zlib被设计成一个免费的、通用的、法律上不受阻碍(即没有被任何专利覆盖)的无损数据压缩库。zib几乎适用于任何计算器硬件和操作系统。
zlib本身的数据格式可以进行跨平台的移植。与在Unix上适用的LZW压缩方法以及GIF图像压缩不同,zib中适用的压缩方法从不对数据进行拓展。(LZW在极端情况下会导致文件大小变为原来的两倍、甚至三倍)。zlib的内存占用也是独立于输入数据的,并且在必要的情况下可以适当减少部分内存占用。
二、安装
以1.2.12最新版为例
在线安装 wget http://www.zlib.net/zlib-1.2.12.tar.gz
从 官网下载后上传
输入tar -xvzf zlib-1.2.12.tar.gz解压
进入解压后的文件cd zlib-1.2.12.tar.gz
./configure进行初始化配置
make执行make操作,进行编译
make install进行安装
cat /usr/lib64/pkgconfig/zlib.pc查看版本
6、安装zlib
[root@localhost ~]$ cd zlib-1.2.11
[root@localhost zlib-1.2.11]$ ./configure --prefix=/home/svn/zlib-1.2.11
[root@localhost zlib-1.2.11]$ make
[root@localhost zlib-1.2.11]$ make install
7、subversion的安装:
1.[root@localhost ~]$ cd subversion-1.8.18
2.[root@localhost subversion-1.8.18]$ ./configure --prefix=/home/svn/subversion-1.8.16 --with-apr=/home/svn/apr-1.5.2 --with-apr-
util=/home/svn/apr-util-1.5.4 --with-zlib=/home/svn/zlib-1.2.11
3.[root@localhost subversion-1.8.18]$ make
4.[root@localhost subversion-1.8.18]$ make install
8、安装完成,添加环境变量path
[root@localhost subversion-1.8.18]$ cd
[root@localhost ~]$ vi .bash_profile
在文件里面添加以一行:PATH=/home/svn/subversion-1.8.18/bin:$PATH 并保持退出
[root@localhost ~]$ source .bash_profile
9.验证安装是否成功,输入:svnserve --version
4.配置
1.创建svn版本库目录:
svnadmin create /home/svn/product
2. 修改版本库配置文件svnserve.conf 主要不要前面留空格
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = passwd # 指明密码文件路径
authz-db = authz # 访问控制文件
3.修改passwd文件
[users]
username1 = password1
username2 = password2
username3 = password3
username4 = password4
4.修改authz文件
# 用户分组;
[groups]
users = username1,username2
# 给用户组users和用户username3赋予/目录下的读写权限
[/]
@users = rw
username3 = rw
*=
# *=其他用户没有该权限
# 给用户username4赋予/product/10]目录下的读写权限
[/product/10]
username4 = rw
5.添加端口到防火窗里:
vi /etc/sysconfig/iptables
添加一行:
-I INPUT -p tcp --dport 3690 -j ACCEPT
重新启动防火窗:
/sbin/service iptables restart
6.启动服务:
svnserve –d –r /home/svn/product/
7.远程连接地址:
svn://服务器ip:端口(默认端口3690可以不写)/product/
例如:svn://192.168.23.345:82/product/
5.问题
svn客户端访问服务器时报错: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
首先配置什么的都是对的。在网上搜了一些有用的东东,可以解决此问题:
请依次检查下面各项
1,服务器有没有运行,有没有打开相应端口
如果服务器是svnserve,检查有没有运行svnserve,有没有打开3690端口
如果服务器是apache,检查apahce是否运行,是否打开80端口
检查时可以在服务器运行netstat -an看看相应端口是否在LISTEN
2,防火墙有没有开放相应端口
3,客户端是否可以连接服务器的相应端口
使用命令telnet 服务器IP 相应端口
如:telnet 192.168.0.1 3690
svn error:Subversion requires SQLite解决
在安装 subversion时候
#tar xvjf subversion-1.6.3.tar
# ./configure --prefix=/data1/subversion --with-apxs=/data1/apache2/bin/apxs --with-apr-util=/data1/apache2/bin/apu-1-config --with-apr=/data1/apache2/bin/apr-1-config
在以上编译过程中可能会出现 configure: error: Subversion requires SQLite
可以http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz 可以下载到最新的Sqlite版本sqlite-amalgamation-3.6.13.tar.gz安装Sqlite3.6.13 tar zxvf sqlite-amalgamation-3.6.13.tar.gz 进入文件夹sqlite-amalgamation找到sqlite3.c将其复制到
subversion-1.6.2/sqlite-amalgamation/sqlite3.c
然后继续执行subversion 的make 和make install操作。