CentOS6.5下安装apache+svn+php+svnadmin

在开发中,直接使用SVN管理代码,但是对于SVN服务器的搭建,以http访问以及svn的可视化管理不太了解。所以此次尝试搭建。在搭建的过程,遇到了一些问题,在网上找了一些资源,发现有些还是跟自己遇到的不一样,所以记录下遇到的问题以及解决方法。

一、安装Linux虚拟机

安装包:

VirtualBox-4.3.6-91406-Win.exe

CentOS-6.5-x86_64-bin-DVD1to2

安装过程略,装完后,发现使用SSH(SecureCRT)连接不上,可以相互ping通,修改虚拟机网络连接方式为桥接网卡 可解决


以下安装都是在Linux虚拟机上执行

二、Apache安装

依赖安装包:

apr-1.5.0.tar.gz

apr-util-1.5.3.tar.gz

pcre-8.33.tar.gz

(注: zlib,openssl 未安装,可根据需要安装)

安装包:

httpd-2.4.7.tar.gz

#安装apr

tar -zxvf apr-1.5.0.tar.gz 

./configure --prefix=/usr/local/apr   --指定安装位置

make && make install 

#安装apr-util

tar -zxvf apr-util-1.5.3.tar.gz

cd apr-util-1.5.3 

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr 

make && make install 

#安装pcre

tar -zxvf pcre-8.33.tar.gz 

cd pcre-8.33 

./configure --prefix=/usr/local/pcre 

make && make install 

#安装apache

tar -zxvf httpd-2.4.7.tar.gz
cd httpd-2.4.7
./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre  --enable-module=so --enable-dav --enable-so 
make & make install
安装完成之后需修改配置文件

vi /usr/local/apache2/conf/httpd.conf
#找到 User 和 Group 并修改成 User apache 和 Group apache 
#找到 ServerName 并修改成ServerName localhost:80

保存并退出

启动并测试

cd /usr/local/apache2/bin

./apachectl start
也可在 /etc/init.d/ 编写shell脚本,这样就可以使用 service httpd start 启动了

浏览器访问IP,出现 It Works! 则安装成功。


三、安装subversion

依赖包:

apr-1.5.0.tar.gz

apr-util-1.5.3.tar.gz

sqlite-autoconf-3080100.tar.gz

安装包:

subversion-1.8.5.tar.gz

apr与apr-util已经安装。


#安装sqlite

tar -zxvf sqlite-autoconf-3080100.tar.gz 

cd sqlite-autoconf-3080100 

./configure --prefix=/usr/local/sqlite 

make && make install 

#安装SVN

cd subversion-1.8.5

./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util  --with-sqlite=/usr/local/sqlite/ --with-apxs=/usr/local/apache2/bin/apxs

make && make install 

配置svn环境变量
在 /etc/profile.d 中,新建 svn.sh,加入如下代码:
SVN_HOME=/usr/local/svn

export SVN_HOME

PATH=$PATH:$SVN_HOME/bin

export PATH

使用 svn --version 测试是否安装成功。前提得使profile生效。

#创建一个版本库
make -p /svn/

svnadmin create /svn/project1

#修改配置文件

vi /svn/project1/conf/svnserve.conf

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = project1

vim /svn/project1/conf/authz

[project1:/]
test1=rw
*=r
[project1:/trunk]
test2=rw
*=r

vim /svn/project1/conf/passwd

[users]
test1=123
test2=123

关于各个参数的解释详见:http://blog.sina.com.cn/s/blog_5542414f0100vw1l.html

启动svn服务: svnserve -d -r /svn/
现在就可以使用: svn://ip/project1/trunk 进行访问了


四、整合subversion和Apache,即使用http进行访问

使用http访问需重新生成账号、密码文件,因为是密码是加密的。

使用 /usr/local/apache2/bin/htpasswd  -mc passwdfile test1

输入密码, 在当前目录下会生成一个 passwdfile文件。

在安装好的svn目录中(/usr/local/svn/libexec/)将 mod_authz_svn.so、mod_dav_svn.so 两个文件拷贝到apache目录中(/usr/local/apache2/modules/),然后修改apache的配置文件http.conf。

vim /usr/local/apache2/conf/httpd.conf

#添加如下三行
LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

LoadModule dav_module modules/mod_dav.so

#<span style="color:#ff0000;">在网上找的资料,一般都只说要加第一二行,没第三行</span>

#添加svn
<Location /svn>
     DAV svn
     SVNParentPath /svn
     SVNListParentPath on
     AuthType Basic
     AuthName "Welcome"
     AuthUserFile /usr/local/apache2/bin/passwdfile
     AuthzSVNAccessFile /svn/project1/conf/authz
     Require valid-user
</Location>

<span style="color:#ff0000;">#此处SVNParentPath 的路径不是 /svn/project1,如果要使用这个路径,则设置SVNPath这个参数,一般使用前者,便于对多个仓库进行管理</span>
重启Apache,就可以通过浏览器访问代码文件了。http://IP/svn/project1


五、安装php

安装包:

php-5.6.1.tar.gz

tar -zxvf php-5.6.1.tar.gz

cd php-5.6.1

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib

make & make install

、IF.Svnamdin安装

安装包:

svnadmin-1.6.2.zip

这个解压就行了,同样也放在 /usr/local/svnadmin 下                 chown -R apache.apache svnadmin/


七、整合Apache、php、IF.Svnadmin

主要是修改Apache的配置文件就行了

vim /usr/local/apache2/conf/httpd.conf

#确保下面代码,是去掉注释的,没有的补充添加上 
<IfModule dir_module> 
DirectoryIndex index.php index.html 
</IfModule> 
AddType application/x-compress .Z 
AddType application/x-gzip .gz .tgz 
AddType application/x-httpd-php .php .phtml .php3 .inc 
#保存并退出 

#找到Alias添加下面代码 
Alias /svnadmin /usr/local/svnadmin

#添加module
LoadModule php5_module modules/libphp5.so

#找到DocumentRoot下的Directory标签,修改成如下

<Directory "/urs/local/svnadmin">


重启Apache,网页访问 http://IP/svnadmin,会出现设置页面。恭喜,大功告成。

另外,如果在网页里设置的 授权访问文件和身份验证文件 目录不一样,需要在httpd.conf中的Location中修改


参考资料:

http://wxb-j2ee.iteye.com/blog/2028806

http://blog.csdn.net/axu_beijing/article/details/22666981

这是在完全搭建完成之后再整理的,难免有疏漏和错误!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值