中标麒麟离线搭建SVN服务器教程
一、下载相应的包
subversion-1.8.18.tar.gz 下载地址:http://subversion.apache.org
sqlite-autoconf-3190300.tar.gz 下载地址:http://www.sqlite.org
apr-1.5.2.tar.gz,apr-util-1.5.4.tar.gz 下载地址:http://archive.apache.org/dist/apr
zlib-1.2.11.tar.gz 下载地址:http://linux.softpedia.com/get/Programming/Libraries/zlib-159.shtml
二、把下载好的包上传至目录/home/svn/download目录下,并解压相关压缩包:
tar zxvf 文件名.tar.gz
(例:tar zxvf apr-1.5.2.tar.gz)
三、安装:
1.检查是否已经安装gcc环境,如果没有,先安装gcc环境;
中标麒麟自带(自测中标麒麟6.0系统:已安装jdk1.8)
2.安装apr
cd /home/svn/download
cd apr-1.5.2
./configure --prefix=/home/svn/apr-1.5.2
make
make test
make install
3.安装apr-util:
cd /home/svn/download
cd apr-util-1.5.4
./configure --prefix=/home/svn/apr-util-1.5.4 --with-apr=/home/svn/apr-1.5.2
make
make test
make install
4.安装依赖的sqlite:
1.将sqlite解压到/home/svn/download/subversion-1.8.18下
2.将文件夹名称改为要求的文件夹名称
sqlite-autoconf-3300100 文件夹改为 sqlite-amalgamation
[root@localhost subversion-1.8.18]$ mv sqlite-autoconf-3300100 sqlite-amalgamation
5.zlib的安装:
6.安装apr:
cd /home/svn/download
cd zlib-1.2.11
./configure --prefix=/home/svn/zlib-1.2.11
make
make install
7.subversion的安装:
cd /home/svn/download
cd subversion-1.8.18
./configure --prefix=/home/svn/subversion-1.8.18 --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
make
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 并保持退出
(如果后续出问题,尝试将jdk1.8的path注解#掉)
[root@localhost ~]$ source .bash_profile
9.验证安装是否成功,输入:svnserve --version
四、配置
1.创建svn版本库目录:
svnadmin create /home/svn/product(product为版本库名称)
2. 修改版本库配置文件 vi svnserve.conf (前面不要留空格))
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = passwd # 指明密码文件路径
authz-db = authz # 访问控制文件
3.修改passwd文件 vi passwd (前面不要留空格)
[users]
username1 = password1
username2 = password2
username3 = password3
username4 = password4
4.修改authz文件 vi 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
第二种方法
1、开启防火墙
systemctl start firewalld
2、开放指定端口
firewall-cmd --zone=public --add-port=3690/tcp --permanent
命令含义:
--zone #作用域
--add-port=1935/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
3、重启防火墙
firewall-cmd --reload
4、查看端口号
netstat -ntlp
netstat -ntulp |grep 3690
6.启动svn服务:
用命令:
svnserve -d -r /home/svn/
(注意:启动时,不能用命令:svnserve -d -r /home/svn/product(product为版本库名称))
关闭svn服务
killall svnserve
7.远程连接地址:
svn://服务器ip:端口(默认端口3690可以不写)/product/
例如:svn://192.168.1.58:3690/product/
8.保存重启系统
reboot
五、问题
svn客户端访问服务器时报错: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
首先配置什么的都是对的。在网上搜了一些有用的东东,可以解决此问题:
请依次检查下面各项
1,服务器有没有运行,有没有打开相应端口
如果服务器是svnserve,检查有没有运行svnserve,有没有打开3690端口
如果服务器是apache,检查apahce是否运行,是否打开80端口
检查时可以在服务器运行netstat -an看看相应端口是否在LISTEN
2,防火墙有没有开放相应端口
3,客户端是否可以连接服务器的相应端口
使用命令telnet 服务器IP 相应端口
如:telnet 192.168.0.1 3690
4.账号密码出现问题或不知道账号密码可新建账号
1、 找到svn安装路径 /home/svn/product (如果不知道,可以搜索 :find / -name svn)
2、进入该目录的conf,其中包含authz、passwd、svnserve.conf三个文件
3、进入passwd,在[users]下面加上你要添加的svn账号及密码 格式为:
[users]
zhangsan=123456
lisi=123456
然后保存wq
4、再进入authz,在[groups]下加上刚刚添加的用户名,格式为
[groups]
www=zhagnsan,lisi
然后保存wq
5、重启svn
先kill掉svn进程:killall svnserve
启动svn:svnserve -d -r /home/svn/
仍有问题:私聊我
仍有问题:欢迎留言或私聊我