六、Centos7中配置svn服务器 显示如下信息则表示安装成功。 svnserve, version 1.7.7 显示当前项目配置文件 authz passwd svnserve.conf vi authz vi passwd su svn -c "svnserve -d --listen-port 9999 -r /var/svn" svnserve -d -r /var/svn/www --listen-host 22.21.50.17 –listen-port 9999
今天配置了 SVN 记在这儿 备忘:
--svn开机自启动服务
systemctl enable svnserve.service
--svn开机自启动服务
systemctl disable svnserve.service
- 下载 svn 软件包和依赖包
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
cd /mydata/soft
wget http://labs.mop.com/apache-mirror/subversion/subversion-1.7.7.tar.gz
wget http://archive.apache.org/dist/apr/apr-util-1.5.1.tar.gz
wget http://archive.apache.org/dist/apr/apr-1.4.6.tar.gz
wget http://www.sqlite.org/sqlite-amalgamation-3071401.zip
- 安装 依赖软件包
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
tar zxvf apr-1.4.6.tar.gz
cd apr-1.4.6/
./configure --prefix=/usr/local/apr
make && make install
cd ../
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
tar zxvf apr-util-1.5.1.tar.gz
cd apr-util-1.5.1/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
cd ../
- 安装 svn
注意这里是 SVN 和 sqlite 解压到一起再安装的
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
tar xvf subversion-1.7.7.tar.gz
unzip sqlite-amalgamation-3071401.zip
mv sqlite-amalgamation-3071401 ./subversion-1.7.7/sqlite-amalgamation
cd subversion-1.7.7
./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --without-berkeley-db --with-ssl
make && make install
cd ..
- 修改环境变量
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
vi /etc/profile
开头加入:
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
PATH=$PATH:/usr/local/svn/bin
export PATH
可能需要断开当前 ssh 连接重新登陆才会生效
- 检测是否安装成功
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
svnserve --version
svnserve, version 1.7.7
- 开启防火墙 SVN 端口
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9999 -j ACCEPT
保存防火墙设置
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
/etc/rc.d/init.d/iptables save
- 创建 svn 库 www
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
mkdir -p /var/svn/
cd /var/svn/
svnadmin create www
cd www/conf/
ls
显示当前项目配置文件
authz passwd svnserve.conf
- 配置版本库信息
项目配置:
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
vi svnserve.conf
修改:去掉注释符
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
[general]
anon-access = none
auth-access = write
password-db = passwd
authzauthz-db = authz
realm = www
定义版本库访问权限:
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
vi authz
添加:
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
[/]
svnuser = rw
[www]
svnuser = rw
设定用户密码:
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
vi passwd
添加:
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
svnuser = 123456
- 建立启动svn 的用户
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
useradd svn
passwd svn
回车后输入两次密码
然后设置用户所有权,允许 svn 访问版本库:
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
chown -R svn:svn /var/svn
- 启动 SVN
先写个提醒:
开放的 svn 根目录经测试应该只能是项目仓库的父级目录
10.1 用设定帐户启动
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
说明:
su svn 表示以用户svn 的身份启动svn
-d 表示以daemon 方式(后台运行)运行
–listen-port svn 默认端口是3690, 9999表示使用9999 端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root 权限
-r /var/svn/www 指定根目录是/var/svn/
10.2 对于单个代码仓库启动命令:
[plain]view plaincopy在CODE上查看代码片派生到我的代码片
svnserve -d -r /var/svn/www --listen-host 22.21.50.17 –listen-port 9999
说明:
-d 表示在后台运行,
-r 指定服务器的根目录,
这样访问服务器时就可以直接用svn://服务器ip 来访问了。
10.3 对于多个代码仓库:
通过 -r 开放 SVN 的根目录,
# svnserve -d -r /var/svn/ --listen-host 22.21.50.17 –listen-port 9999
客户端访问时再指定仓库目录即可访问 如: svn://22.21.50.17:9999/www 来分别访问每个项目
10.4 如果显示如下,即为启动成功:
svn 6941 1 0 15:07 ? 00:00:00 svnserve -d -r /var/svn
10.5 以 root 帐号 启动 SVN 服务
# svnserve -d -r /var/svn/ --listen-host 22.21.50.17 --listen-port 9999
10.6 检查是否启动成功
# ps -ef|grep svnserve