########安装apr#########
#tar zxvf apr-1.3.6.tar.gz
#cd apr-1.3.6
#./configure--prefix=/usr/local/apr
#make&&makeinstall
#cd..
########安装apr-util########
#tar zxvf apr-util-1.3.8.tar.gz
#cd apr-util-1.3.8
#./configure--with-apr=/usr/local/apr
#make&&makeinstall
#cd..
########若是已经安装过apache,则须要从新编译安装apache########
tarzxvf httpd-2.2.9.tar.gz
cd httpd-2.2.9
# ./configure
--prefix=/usr/local/apache
--with-apr=/usr/local/apr/bin/apr-1-config
--with-apr-util=/usr/local/apr/bin/apu-1-config
--enable-modules=so /* DSO模式安装apache (或 --enable-so)
--enable-dav
--enable-maintainer-mode
-- enable-rewrite
# make ; make install
安装好后启动apache
# /usr/local/apache/bin/apachectl –k start
用浏览器查看
http://localhost/,获得it works,说明apache已经配置成功了。
########安装subversion,时间稍微有点长,请耐心等候########
#tar zxvf subversion-1.6.3.tar.gz
#tar zxvf subversion-deps-1.6.3.tar.gz
#cd subversion-1.6.3
#./configure--prefix=/usr/local/subversion--with-apxs=/usr/local/apache2/bin/apxs--with-apr=/usr/local/apr/bin/apr-1-config--with-apr-util=/usr/local/apr/bin/apu-1-config
#make&&makeinstall
#cd..
在make的时候,.configure以后,进行make,出现以下问题
# /usr/bin/ld: cannotfind-lexpat
#collect2: ld returned 1exitstatus
#make: *** [subversion/svn/svn] Error 1
应该是缺乏-lexpat库文件。
解决方法:
# yum install expat expat-devel php
手动配置svn:
1.添加svnroot用户以及svn用户组,创建svn版本库目录 web
#user add svnroot; /*添加svnroot用户*/
#group add svn ; /*添加svn用户组*/
#usermod-a -G svn svnroot; /*将svnroot用户添加到svn用户组*/
#mkdir /home/svnroot
#mkdir /data
#chown-R root:svn/home/svnroot/data
#chmod-R g+rws/home/svnroot/data /*给svn组赋予读写权限,能够根据须要更改相应权限*/
#chmod-R o-rwx/home/svnroot/data /*删除其余无关人员的读、写、执行权限,默认状况下可能其余人有读权限*/
#mkdir-pv/home/svnroot/data
#chown-R daemon /home/svnroot/data /*由于apache在线程用户没有权限访问svn的仓库,二者分别属于不一样的用户者
本例apache属于daemon拥有者,而svn仓库属于svn拥有者*/
#chmod-R 755/home/svnroot/data apache
2.创建svn版本库
#/usr/local/subversion/bin/svnadmin create --fs-type fsfs /home/svnroot/data/project1 浏览器
3.创建访问控制文件
#/usr/local/apache2/bin/htpasswd -c /home/svnroot/data/passwd wanghaihan #第一次加用户名须要带上-c,而后输入两次密码 svn
#/usr/local/apache2/bin/htpasswd /home/svnroot/data/passwd test1 工具
4.创建本地项目控制文件
#cd /home/svnroot/data
#vi authz
[groups]
admin=wanghaihan,test1
[project1:/]
@admin = rw ui
#cat /usr/local/apache2/conf/httpd.conf | grep svn .net
显示
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
就代表安装成功。 线程
#vi /usr/local/apache2/conf/httpd.conf rest
在# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80 后面加入
ServerName localhost:80
在最后添加
<Location/svn>
DAV svn
SVNParentPath/home/svnroot/data
AuthType Basic
AuthName"Subversion"
AuthUserFile/home/svnroot/data/passwd
AuthzSVNAccessFile/home/svnroot/data/authz
Require valid-user
</Location>
5.重启apache
#/usr/local/apache2/bin/apachectl restart
访问你的svn项目(能够用客户端工具checkout,或者浏览器访问):
http://localhost/svn/project1
或者http://127.0.0.1/svn/project1
注意:在你上传文件的时候可能会有以下权限不足的提示
Permission denied
svn: Commit failed (details follow):
svn: Can’t create directory ‘/home/svnroot/data/project1/db/txn-current-lock’: Permission denied
或者:
命令: 提交
错误: 提交失败(细节以下):
错误: Can’t open file ‘/home/svnroot/data/project1/db/txn-current-lock’: Permission denied
完成!:
这是由于apache在线程用户没有权限访问svn的仓库,二者分别属于不一样的用户者
本例apache属于daemon拥有者,而svn仓库属于svn拥有者
解决方法:
#chown -R daemon /home/svnroot/data
#chmod -R 755 /home/svnroot/data
重启下apache: #/usr/local/apache2/bin/apachectl restart