阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7下安装iF.svnadmin实现Web方式管理SVN(源码安装)

122次阅读
没有评论

共计 5485 个字符,预计需要花费 14 分钟才能阅读完成。

iF.SVNAdmin 是一个基于 Web 的,用来管理 Subversion 的认证文件的项目。无需数据库支持,直接对 Subversion 的认证文件和用户认证文件进行设置,支持 LDAP,同时也可以用来创建和删除版本库,以及对版本库进行浏览。

说来惭愧,用了将近半个月时间才完成整个安装过程。想想可能是对 linux 不熟悉,源码编译安装需要的依赖包太多,网上的教程也不靠谱,再加上这个不友好的黑白命令行界面,着实很让人头大。其实一开始准备用 submin 的,但是安装完后新建仓库报的一个错误拖了好几天实在解决不了,只能换用 iFSVNAdmin。报错如下,希望有大神可以给出解决方法。

CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)

 

以下是正文


环境:CentOS 7 x64

用到的包:apr-1.4.6.tar.gz

apr-util-1.5.1.tar.gz

pcre-8.37.tar.bz2

httpd-2.2.31.tar.bz2

libxml2-2.9.1.tar.gz

openssl-1.0.0e.tar.gz

php-5.3.8.tar.gz

sqlite-autoconf-3130000.tar.gz

subversion-1.8.1.tar.gz

svnadmin-1.6.2.zip

zlib-1.2.8.tar.gz

本例所有 tar 包都放在 /usr/local/src/ 下,安装目录为 /usr/local/

 

一、创建 svn 组和用户

adduser svn

passwd svn

切换到 root 用户,在 /etc/sudoers 文件中找到 root  ALL=(ALL) ALL,在该行下添加提升权限的用户信息,如:

root    ALL=(ALL)      ALL
svn    ALL=(ALL)      ALL

强制保存退出

 

二、安装 apache 及其依赖包

1.安装 apr

sudo tar zxvf apr-1.4.6.tar.gz

cd apr-1.4.6

sudo ./configure –prefix=/usr/local/apr

sudo make

sudo make install

 

2.安装 apr-util
sudo tar zxvf  apr-util-1.5.1.tar.gz

cd cd apr-util-1.5.1/
sudo ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr

sudo make

sudo make install

 

3.安装 sqlite

sudo tar zxvf sqlite-autoconf-3130000.tar.gz

cd sqlite-autoconf-3130000.tar.gz

sudo ./configure –prefix=/usr/local/sqlite

sudo make

sudo make install

 

4.安装 zlib

sudo tar zxvf zlib-1.2.8.tar.gz

cd zlib-1.2.8.tar.gz

sudo ./configure –prefix=/usr/local/zlib

sudo make

sudo make install

 

5.安装 prce

sudo tar jxvf pcre-8.37.tar.bz2

cd pcre-8.37/

sudo ./configure –prefix=/usr/local/pcre 

sudo make

sudo make install

 

6.安装openssl

sudo tar zxvf openssl-1.0.0e.tar.gz

cd openssl-1.0.0e/

sudo ./config –prefix=/usr/local/ssl shared

sudo make depend

sudo make install

 

7. 安装 apache

sudo tar jxvf  httpd-2.2.31.tar.bz2

cd httpd-2.2.31

sudo ./configure –prefix=/usr/local/apache2 –with-apr=/usr/local/apr/bin/apr-1-config –with-apr-util=/usr/local/apr-util/bin/apu-1-config –with-pcre=/usr/local/pcre –with-zlib=/usr/local/zlib –with-ssl=/usr/local/ssl –enable-log-config –enable-log-forensic –enable-logio –enable-env –enable-mime-magic –enable-expires –enable-headers –enable-setenvif –enable-proxy –enable-proxy-http –enable-http –enable-mime –enable-status –enable-autoindex –enable-info –enable-cgi –enable-dir –enable-actions –enable-rewrite –enable-so –enable-module=so –enable-http –enable-dav –enable-maintainer-mode –enable-mods-shared=ALL –enable-ssl

sudo make

sudo make install

 

三、修改配置文件
1.
修改配置文件

sudo vi conf/httpd.conf 
添加一行 ServerName 192.168.91.128:80(本机 ip)

 

2.启动
sudo /usr/local/apache2/bin/apachectl start

在浏览器中输入 localhost,出现 it works 说明安装成功。

可能出现的问题:

 CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)

解决方法:

sudo ln -sf /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.1.0.0

sudo ln -sf /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.1.0.0

 

四、在 apache 中配置 SVN

1.安装subversion

sudo tar zxvf subversion-1.8.1.tar.gz

cd subversion-1.8.1.tar.gz

sudo ./configure –prefix=/usr/local/subversion –with-apr=/usr/local/apr/bin/apr-1-config –with-zlib=/usr/local/zlib –with-apr-util=/usr/local/apr-util/bin/apu-1-config –with-apxs=/usr/local/apache2/bin/apxs  –enable-shared –enable-maintainer-mode –enable-mod-activation –with-sqlite=/usr/local/sqlite

sudo make

sudo make install

 

2. 修改配置文件

sudo vi /usr/local/apache2/conf/httpd.conf

找到 User、Group 修改:

User svn

Group svn

如果看到如下两行,说明安装是成功的

CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)

定义 apache 访问 svn:

CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)

 

五、配置 svn 权限管理

1、建立 svn 版本库目录
sudo mkdir -p /data/svn/repos  #可以多建版本库目录

2、建立 svn 版本库
sudo svnadmin create /data/svn/repos

 

3、建立本地访问控制文件,第一次创建加 -c 参数,就是第一次没有 passwd.conf 文件, “-c”参数不是创建 passwd.conf 文件
sudo mkdir /home/svn/svnpasswd

/usr/local/apache2/bin/htpasswd -c /home/svn/svnpasswd admin 然后输入密码即可,默认是 MD5 加密的
/usr/local/apache2/bin/htpasswd /home/svn/svnpasswd svnusername 追加用户

 

4、建立本地项目控制文件
touch /home/svn/svnaccessfile

本例 svnaccessfile 内容为:

CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)

注意事项:顶格写,= 号两边有空格

 

六、测试连接

1、启动apache
sudo /usr/local/apache2/bin/apachectl start

2、打开浏览器,输入localhost/svn

出现版本库说明安装成功

 

七、安装PHP 及其依赖包

1.安装libxml2

sudo tar zxvf libxml2-2.9.1.tar.gz

cd libxml2-2.9.1

sudo ./configure –prefix=/usr/local/libxml2

sudo make

sudo make install

可能出现的错误:

 CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)

解决方法:

make clean && make dclean 后重新编译

可能出现的错误 2:

 CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)

原因:缺少 python-dev 依赖包

解决方法:

sudo rpm -ivh python-devel-2.7.5-34.el7.x86_64.rpm

 

2.安装php

sudo tar zxvf php-5.3.8.tar.gz

cd php-5.3.8/

sudo ./configure  –prefix=/usr/local/php –with-apxs2=/usr/local/apache2/bin/apxs –with-config-file-path=/usr/local/php/etc –with-libxml-dir= /usr/local/libxml2 sudo make

sudo make test

sudo make install

sudo cp php.ini-development /etc/php.ini 

可能遇到的问题:

CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)

解决方法:

把 php-5.3.8.patch 放在 src 下

cd php-5.3.8

sudo patch -p0 -b <../php-5.3.8.patch

sudo make

sudo make install

八、安装 iFSVNAdmin

sudo unzip svnadmin-1.6.2.zip -d /usr/local/svnadmin

unzip svnadmin-1.6.2.zip 
mv iF.SVNAdmin-1.6.2 svnadmin 
cd svnadmin/include/ 
vi config.inc.php 
# 找到下段代码,在下面添加一段代码 
//define(“IF_SVNBaseC_ConfigDir”, “E:/Development/Test/temp svnadmin/svn-config-dir”); 
define(“IF_SVNBaseC_ConfigDir”, “/blubb/edi/blubb”);

chown -R svn:svn svnadmin/ 

修改httpd.conf

 CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)

CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)

CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)

CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)

重启 apache

sudo /usr/local/apache2/bin/apachectl restart

访问 localhsot/svnadmin 出现 ifsvnadmin 说明安装成功

默认用户名密码都是 admin

登录后如下,输入各个配置文件的路径后点击 Test 进行测试是否成功,全部成功后保存配置 Save configration:

 CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)

CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)

登录后如下,可以看到软件版本信息、已有的仓库、用户、组、权限路径等:

CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)

至此,整个安装就完成了!

更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

Ubuntu 14.04 下搭建 SVN 服务器 SVN://  http://www.linuxidc.com/Linux/2015-01/111956.htm

CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)http://www.linuxidc.com/Linux/2016-08/134214.htm

CentOS 6.5 部署 Apache+SVN  http://www.linuxidc.com/Linux/2013-12/94315.htm

Apache+SVN 搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm

Windows 下 SVN 服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm

CentOS 6.6 搭建 SVN 服务器 http://www.linuxidc.com/Linux/2016-12/137864.htm

CentOS 7.2 下 Nginx+MySQL+PHP-FPM+SVN 配置 Walle 自动化部署系统详解 http://www.linuxidc.com/Linux/2016-11/137703.htm

Subversion (SVN) 的详细介绍:请点这里
Subversion (SVN) 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-08/134214.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5485字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中