关键字 离线centos7.2服务器,svn1.11.0
工作刚开始,我拿到的是一个全新的centos7.2服务器,上边什么 都没有 什么 都没有 什么 都没有
一、在有网的环境下下载安装离线svn要的包
apr-1.6.5.tar.gz
apr-util-1.6.1.tar.gz
expat_2.0.1.orig.tar.gz
sqlite-autoconf-3260000.tar.gz
subversion-1.11.0.tar.gz
zlib-1.2.11.tar.xz
二、通过xhell/finalshell上传到离线centos7.2服务器上/home/svn目录下,并解压相关压缩包
tar -zxvf 文件名
三、安装:
1、划重点! 一定要检查是否安装gcc和gcc-++环境,
gcc -v
g++ -v
如有会显示相应的版本号。
一定要检查,否则你安装svn的时候会出现各种各样的缺依赖的错误,然后你会陷入一个个找的痛苦循环,如果没装gcc和g++。自行下载,楼主整理好完整的rpm文件,共26个。
安装指令:
rpm -Uvh *.rpm --nodeps --force
安装apr
- [root@localhost ~]$ cd apr-1.6.5
- [root@localhost apr-1.6.5]$ ./configure --prefix=/home/svn/apr-1.6.5
- [root@localhost apr-1.6.5]$ make
- [root@localhost apr-1.6.5]$ make test
- [root@localhost apr-1.6.5]$ make install
编译安装过程中可能会提示缺少某个依赖,按照提示下载即可,如无则继续,文章末尾是楼主遇到的依赖链接。
3.安装apr-util:
- [root@localhost ~]$ cd apr-util-1.6.1
- [root@localhost apr-util-1.6.1]$ ./configure --prefix=/home/svn/apr-util-1.6.1 --with-apr=/home/svn/apr-1.6.5
- [root@localhost apr-util-1.6.1]$ make
- [root@localhost apr-util-1.6.1]$ make test
- [root@localhost apr-util-1.6.1]$ make install
4.安装依赖的sqlite:
1.将sqlite解压到/home/svn/subversion-1.11.0/sqlite-amalgamation下
2.将文件夹名称改为要求的文件夹名称
[root@localhost subversion-1.11.0]$ mv sqlite-autoconf-3190300 sqlite-amalgamation
5.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.11.0
2.[root@localhost subversion-1.11.0]$ ./configure --prefix=/home/svn/subversion-1.11.0 --with-apr=/home/svn/apr-1.6.5 --with-apr-util=/home/svn/apr-util-1.6.1 --with-zlib=/home/svn/zlib-1.2.11
3.[root@localhost subversion-1.11.0]$ make
4.[root@localhost subversion-1.11.0]$ make install
8.安装完成,添加环境变量path
- [root@localhost subversion-1.11.0]$ cd
- [root@localhost ~]$ vi .bash_profile
- 在文件里面添加以一行:PATH=/home/svn/subversion-1.11.0/bin:$PATH 并保持退出
- [root@localhost ~]$ source .bash_profile
9.验证安装是否成功,输入:svnserve --version
四、配置
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
注意!cenots7以后防火墙变更为failware,有两种发方法可以增加端口进去,楼主采用的是下载iptables,关闭failware防火墙,
iptables-services-1.4.21-33.el7.x86_64.rpm
iptables-1.4.21-33.el7.x86_64.rpm
安装即可
6.启动服务:
svnserve –d –r /home/svn/product/
7.远程连接地址:
svn://服务器ip:端口(默认端口3690可以不写)/product/
例如:svn://192.168.10.19:3690/product/
五、问题
svn客户端访问服务器时报错: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
首先配置什么的都是对的。在网上搜了一些有用的东东,可以解决此问题:
请依次检查下面各项
1,服务器有没有运行,有没有打开相应端口
如果服务器是svnserve,检查有没有运行svnserve,有没有打开3690端口
如果服务器是apache,检查apahce是否运行,是否打开80端口
检查时可以在服务器运行netstat -an看看相应端口是否在LISTEN
2,防火墙有没有开放相应端口
3,客户端是否可以连接服务器的相应端口
使用命令telnet 服务器IP 相应端口
如:telnet 192.168.0.1 3690
安装好服务端之后
需要连接的下载客户端:
版本1.11.0 内含中文压缩包
TortoiseSVN 64位下载 1.11.0.28416 官方中文版.rar
中间遇到的问题,无非就是缺少响应的依赖,如按照以上步骤进行操作,在编译的时候可能会提示你缺少一两个依赖,进行相应的提示下载即可
expat_2.0.1.orig.tar.gz
httpd2.2.12.tar.bz2
lx_unzip-6.0-5.el6.x86_64.rpm
这是楼主遇到的三个。