httpd svn 编译安装_Debian下编译安装LAMP+SVN(一)

是用最小安装的Debian来安装Apache+Mysql+php+subversion.

需要的包有:

所需要的源码包

httpd-2.2.9.tar.bz2

arp-1.4.2.tar.gz     arp-util-1.3.10.tar.gz  http://apr.apache.org/download.cgi

mysql-5.0.40.tar.gz

php-5.2.10.tar.bz2

zlib-1.2.5.tar.tar

sqlite-amalgamation-3.6.13.tar.gz      http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz

subversion-1.6.16.tar.bz2       http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&expandFolder=74

neno-0.29.5.tar.gz    http://www.webdav.org/neon/

db-4.8.26.tar.gz     http://download.oracle.com/berkeley-db

所需要安装的Debian包

bzip2 gzip gcc g++ cpp make libxml2-dev openssl bdb

安装

// 因为Debian是最小安装,所以要安装一些包以保证安装正常进行

// 首先挂在光盘

#mount /dev/hdc /mnt

#apt-get install bzip2

// 安装gcc

apt-get install gcc g++ cpp

// 安装make

#apt-get install make

#tar -jxvf httpd-2.2.9.tar.bz2 -C /usr/src

#cd /usr/src/http

// 预编译 --enable-dav --enable-dav-fs是用来支持svn的

#./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite

--enable-dav --enable-dav-fs

//编译和安装

#make && make install

因为subversion只需要Apache的支持,所以接下来就开始安装subversion

// 首先安装zlib

#tar -xvf zlib-1.2.5.tar.tar -C /usr/src

#cd /usr/src/zlib-1.2.5

#./configure --prefix=/usr/local/apache2/zlib

#make && make install

// 安装sqlite

# tar -zxvf sqlite-amalgamation-3.6.13.tar.gz -C /usr/src

# cd /usr/src/sqlite-3.6.13

# ./configure --prefix=/usr/local/sqlite3 && make && make install

// 安装neno

// 安装neno所需要的libxml2-dev

# apt-get install libxml2-dev

# tar -zxvf neon-0.29.5.tar.gz -C /usr/src

# cd /usr/src/neon-0.29.5/

# ./configure --prefix=/usr/local/neno --enable-shared && make && make install

// 安装bdb

# tar -zxvf /home/lamp/db-4.8.26.tar.gz -C /usr/src

# cd /usr/src/db-4.8.26/build_unix

# ../dist/configure --prefix=/usr/local/bdb && make && make install

// 完成还需要做一步,不然apr-util会预编译错误

# cd /usr/local/lib

# ln -s ../bdb/lib/libdb-4.8.so

# ldconfig

// 安装apr

# tar -zxvf apr-1.4.2.tar.gz -C /usr/src

# cd /usr/src/apr-1.4.2

# ./configure --prefix=/usr/local/apr && make && make install

// 安装apr-utils

# tar -zxvf apr-util-1.3.10.tar.gz -C /usr/src

# cd /usr/src/apr-util-1.3.10/

# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-berkeley-db=/usr/local/bdb

&&make && make install

// subversion 的安装准备工作已经做完

// 下面来安装subversion

# tar -jxvf subversion-1.6.15.tar.bz2 -C /usr/src

# cd /usr/src/subversion-1.6.15

# ./configure --prefix=/usr/local/subversion

--with-apxs=/usr/local/apache2/bin/apxs

--with-apr=/usr/local/apr

--with-apr-util=/usr/local/apr-util/

--with-ssl

--with-zlib=/usr/local/apache2/zlib/

--enable-maintainer-mode

--with-sqlite=/usr/local/sqlite3/

--with-neon=/usr/local/neno/

make && make install

错误:make 的时候发生错误cannot find -lexpat

解决: #apt-get install libexpat1-dev

这样subversion 就安装完成

到这里subversion就安装完成了...

想让apache 支持svn还需要配置一下

subversion 安装完成就会在apache主配文件(/usr/local/apache2/conf/httpd.conf)中生成如下内容

LoadModule dav_svn_module

LoadModule authz_svn_module   modules/mod_authz_svn.so

4.检查svn安装配置

mkdir -p /app/svn                                                                //这个目录将作为svn的版本库的总(父)目录使用

vi /usr/local/apache2/conf/httpd.conf                               //apache的配置需要做些检查和更改

LoadModule dav_svn_module     modules/mod_dav_svn.so

LoadModule authz_svn_module   modules/mod_authz_svn.so            //有这两个模块则svn安装是正确的,若是带#注释的就把#删掉,同时要保证/usr/local/apache2/modules目录下有mod_dav_svn.so和mod_authz_svn.so这两个文件。

手动添加以下内容:

                                                                    //定义网页目录为/svn

DAV svn                                                                                 //开启svn(融合apache的svn哦)

SVNListParentPath On                                                         //开启svn版本库父目录功能

SVNParentPath /app/svn                                                     //指定父目录位置,以后所有版本库都将存放在该目录下

AuthType Basic                                                                     //指定授权模式

AuthName "SVN REPOS"                                                     //登陆窗口标题显示SVN REPOS

AuthUserFile /usr/local/svn/svn_passwdfile                    //指定访问版本库的账户和密码存放文件,该文件需要用apache的htpasswd命令创建

AuthzSVNAccessFile /usr/local/svn/svn_accessfile        //指定访问版本库的用户和组的权限控制文件

Require valid-user                                                             //要求有效的用户才能访问

                                                                          //字段结束标志

esc                                                                                         //按esc退出编辑模式

shift+zz                                                                                   //保存退出

5.测试svn与apache是否融合成功

/usr/local/apache2/bin/htpasswd -c /usr/local/svn/svn_passwdfile gaso          //创建访问版本库的账户和存放账户的文件,回车后会提示输入密码两边(我们用gaso123做密码),因为是第一次创建,svn_passwdfile文件原本不存在所以需要加-c参数,以后创建svn用户就不需要-c参数了,直接引用svn_passwdfile文件即可

vi /usr/local/svn/svn_accessfile

[/]

gaso=rw                                     //这两行授权用户gaso有访问所有版本库的权限

[gasorepo:/]

gaso=rw                                      //这两行授权用户gaso有访问gasorepo版本库的权限

保存退出

/usr/local/subversion/bin/svnadmin create /app/svn/gasorepo      //创建gasorepo版本库

6.启动apache,测试svn

chown -R apache.apache /app/svn                                //我们这个部署里svn是通过apache对版本库进行访问的,它对版本库进行访问其实就是通过apache的用户apache来进行的,所以版本库父目录就必须属于用户apache才能规避权限问题,最后的svnmanager也有同样的问题,所以这个属主修改很重要!

/usr/local/apache2/bin/apachectl -k start                                                         //启动apache

在浏览器里输入http://hostip/svn/gasorepo                                           //输入用户名gaso和密码gaso123就可以看到版本库了,不过里面没东西:)

也可以直接访问http://hostip/svn                                                            //这个直接访问版本库总目录

如果想知道PHP和Mysql的安装方法,期待下一篇.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值