archer05 发表于 2018-11-27 13:00:13

linux下源码包安装svn与apache整合

linux下源码包安装与部署svn 2011-9-23



一、安装软件包
yum -y install *gcc*

1、安装apache
tar -zxvf httpd-2.2.17.tar.gz -C /usr/src/
cd /usr/src/httpd-2.2.17/
./configure --prefix=/usr/local/apache-2.2.17 --enable-dav --enable-so --enable-modules=most --enable-modules=so
make
make install


2、安装apr
tar -jxvf apr-1.3.12.tar.bz2 -C /usr/src/
cd /usr/src/apr-1.3.12/
./configure --prefix=/usr/local/apr-1.3.12
make
make install

3、安装apr-util
tar -zxvf apr-util-1.3.9.tar.gz -C /usr/src/
cd /usr/src/apr-util-1.3.9/
./configure --prefix=/usr/local/apr-util-1.3.9 --with-apr=/usr/local/apr-1.3.12/
make
make install

4、安装sqlite
tar -zxvf sqlite-amalgamation-3.6.17.tar.gz -C /usr/src/
cd /usr/src/sqlite-3.6.17/
./configure --prefix=/usr/local/sqlite-3.6.17
make
make install

5、安装zlib
tar -jxvf zlib-1.2.3.tar.bz2 -C /usr/src/
cd /usr/src/zlib-1.2.3/
./configure --prefix=/usr/local/zlib-1.2.3
make
make install

6、安装expat
yum -y install expat*

7、安装svn
tar -jxvf subversion-1.6.5.tar.bz2 -C /usr/src/
cd /usr/src/subversion-1.6.5/
./configure --prefix=/usr/local/svn-1.6.5 --with-apxs=/usr/local/apache-2.2.17/bin/apxs --with-apr=/usr/local/apr-1.3.12/ --with-apr-util=/usr/local/apr-util-1.3.9/ --with-sqlite=/usr/local/sqlite-3.6.17/ --with-ssl --with-zlib=/usr/local/zlib-1.2.3/ --enable-maintainer-mode
make
make install
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
错误:vn_subr-1.so.0: cannot restore segment prot after reloc: Permission denied
      make: *** 错误 127
解决方法:关闭selinux    setenforce 0


二、apache整合
vim /usr/local/apache-2.2.17/conf/httpd.conf
DocumentRoot "/www"



   DAV svn
   SVNParentPath /data/svn                      //svn根目录
   AuthType Basic
   AuthName "SVNTest"
   AuthzSVNAccessFile /data/svn/authz.conf      //svn认证文件(设置权限)
   AuthUserFile /data/svn/authfile            //apache认证文件(密码文件)
   Require valid-user



创建虚拟主机
vim /usr/local/apache-2.2.17/conf/extra/httpd-vhosts.conf

    DocumentRoot /www/an
    ServerName an.com


/usr/local/apache-2.2.17/bin/apachectl start

测试域名绑定成功!

三、创建svn版本库
ln -s /usr/local/svn-1.6.5/bin/svnadmin /sbin/
ln -s /usr/local/svn-1.6.5/bin/svn /sbin/

mkdir /data/svn   //创建根目录
svnadmin create /data/svn/
svnadmin create /data/svn/an//创建项目仓库
svn import /www/an/ file:///data/svn/an/ -m "import"   //将/www/an导入到svn项目库

在导入仓库后,原来的目录树并没有转化成一个工作副本,需要使用checkout手
动导出一个工作副本。

chown -R daemon:daemon /data/svn/
svn checkout file:///data/svn/an/ /www/an/      
取出版本 0。

chown -R daemon:daemon /www/an/
chmod -R 700 /data/svn/

vim /data/svn/an/hooks/post-commit   //svn与apache同步脚本
#!/bin/bash
exportLC_CTYPE=zh_CN.GB18030             //支持语言
SVN=/usr/local/svn-1.6.5/bin/svn         //svn路径
WEB=/www/an                              //apache虚拟目录   
$SVN update --username ancs --password 1

chmod 700 /data/svn/an/hooks/post-commit
chown daemon:daemon /data/svn/an/hooks/post-commit

/usr/local/apache-2.2.17/bin/htpasswd -(c)m /data/svn/authfile ancs//创建apache认证用户
New password:
Re-type new password:

/usr/local/apache2/bin/htpasswd -D /data/svn/authfile test   删除svn用户


vim /data/svn/authz.conf         //svn权限配置文件
                         //单个用户
ancs = rw

                         //组权限设置
develop=ancs,tom

develop = rw


启动svn
/usr/local/svn-1.6.5/bin/svnserve -d -r /data/svn/

验证是否成功启动
netstat -tulnp | grep svn
tcp      0      0 :::3690       :::*          LISTEN      2675/svnserve


客户端安装TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi
检出成功!






页: [1]
查看完整版本: linux下源码包安装svn与apache整合