linux下离线安装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 -xf 文件名.tar
三、安装:
1.检查是否已经安装gcc环境,如果没有,先安装gcc环境;
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.安装apr
- [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
四、配置
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/
五、问题
svn客户端访问服务器时报错: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
首先配置什么的都是对的。在网上搜了一些有用的东东,可以解决此问题:
请依次检查下面各项
1,服务器有没有运行,有没有打开相应端口
如果服务器是svnserve,检查有没有运行svnserve,有没有打开3690端口
如果服务器是apache,检查apahce是否运行,是否打开80端口
检查时可以在服务器运行netstat -an看看相应端口是否在LISTEN
2,防火墙有没有开放相应端口
3,客户端是否可以连接服务器的相应端口
使用命令telnet 服务器IP 相应端口
如:telnet 192.168.0.1 3690