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

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

以下是正文


环境:  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说明安装成功。

可能出现的问题:

解决方法:

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

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

定义apache访问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内容为:

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

六、测试连接

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

可能出现的错误:

解决方法:

make clean && make dclean后重新编译

可能出现的错误2:

原因:缺少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

可能遇到的问题:

解决方法:

把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

重启apache

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

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

默认用户名密码都是admin

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

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

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

Centos7下安装iF.svnadmin实现web方式管理svn(源码安装)的更多相关文章

  1. yum管理及源码安装

    一.配置YUM库及更新操作 yum概述 基于RPM包构建的软件更新机制,自动解决软件依赖关系 YUM仓库格式 本地:file:// 网络:ftp://或http:// yum源里面包含的内容 .rpm ...

  2. ubuntu16.04下源码安装onos1.0.2

    由于工作需要,下载安装onos1.0.2的版本,大家看需求可以下载安装更高级的版本 参考链接:http://www.sdnlab.com/14650.html 1.系统环境 Ubuntu16.04 L ...

  3. 在 CentOS 下源码安装 Xen

    http://www.vpsee.com/2010/04/install-xen-on-centos-from-source/ 在 CentOS 源码编译安装 Xen 的过程和在 Debian 上编译 ...

  4. Web应用之LAMP源码环境部署

    一.LAMP环境的介绍 1.LAMP环境的重要性 思索许久,最终还是决定写一篇详细的LAMP的源码编译安装的实验文档,一来是为了给自己一个交代,把技术进行系统的归纳,将技术以极致的形式呈现出来,做为一 ...

  5. [原创] zabbix学习之旅一:源码安装

    zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存 ...

  6. zabbix源码安装实例

    环境 系统                 Centos7 zabbix版本      Zabbix 3.4.15 (revision 86739) zabbix源码安装 .tar.gz cd zab ...

  7. linux应用之Lamp(apache+mysql+php)的源码安装(centos)

    Linux+Apache+Mysql+Php源码安装 一.安装环境: 系统:Centos6.5x64 Apache: httpd-2.4.10.tar.gz Mysql: mysql-5.6.20-l ...

  8. 烂泥:php5.6源码安装与apache集成

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. apache对php的支持是通过apache的mod_php5模块来支持的,这点与nginx不同.nginx是通过第三方的fastcgi处理器才可以对p ...

  9. Linux中源码安装编译Vim

    Linux中源码安装编译Vim Linux下学习工作少不了编辑器,Vim能使你的工作效率成倍的提高.在Ubuntu上安装vim使用命令直接安装很简单.但有时还是需要自己手动编译安装.例如: vim中的 ...

随机推荐

  1. 【转】Maven实战(七)---传递依赖

    原博文出自于:http://blog.csdn.net/liutengteng130/article/details/47000069   感谢! 假设A-->C  B-->A      ...

  2. 最大连续子数组问题2-homework-02

    1) 一维数组最大连续子数组 如第homework-01就是一维数组的最大子数组,而当其首位相接时,只需多考虑子数组穿过相接的那个数就行了! 2)二维数组 算法应该和第一次的相似,或者说是将二维转化为 ...

  3. UVA 315 315 - Network(求割点个数)

     Network  A Telephone Line Company (TLC) is establishing a new telephone cable network. They are con ...

  4. Unity3D之ScriptableObject学习笔记

    不同与C#提供的Serializable序列化功能,ScriptableObject是Unity3D提供的一个数据存储类,我们接下来学习一下这个类的功能. 官方文档 http://docs.unity ...

  5. 使用Windbg和SoS扩展调试分析.NET程序

    在博客堂的不是我舍不得 - High CPU in GC(都是+=惹的祸,为啥不用StringBuilder呢?). 不是我舍不得 - .NET里面的Out Of Memory 看到很多人在问如何分析 ...

  6. UdpClient的Connect究竟做了什么(转)

    最近在写一个音频通信的系统,因为需要还要处理其他事件,所以就自己设计底层的通信协议,用了不少底层的Socket编程(.Net Framework),搞清楚了不少细节问题. 先做一些铺垫工作.音频系统服 ...

  7. Sonatype Nexus 搭建Maven 私服

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  8. MATLAB新手教程

    MATLAB新手教程   .MATLAB的基本知识 1-1.基本运算与函数    在MATLAB下进行基本数学运算,仅仅需将运算式直接打入提示号(>>)之後,并按入Enter键就可以.比如 ...

  9. [PLL][PM]锁相环模拟相位解调

    %锁相环测试 %模拟相位解调 clear close all clc fs=1000; %采样率 tend=100; t=0:1/fs:tend; t(end)=[]; fc=1; %载波频偏 fb= ...

  10. api.connectionType 判断当前网络技术经验

    使用  api.connectionType 判断当前网络的时候,需要注意,要加入大小写转换,三星返回的网络是大写 3G /** * 返回当前是否联网 * 周枫 * 3g 4g wifi none * ...