设为首页 收藏本站
查看: 808|回复: 0

[经验分享] Linux系统下架设APACHE SVN服务器全过程

[复制链接]
发表于 2015-8-5 10:39:47 | 显示全部楼层 |阅读模式
  一 、首先准备好相关的安装包,我这里使用的是下列的几个包
Apr : apr-1.2.11.tar.gz 和 apr-util-1.2.2.tar.gz
Apache : httpd-2.2.6.tar.gz
Subversion: subversion-1.6.12.tar.gz 和 subversion-deps-1.6.0.tar.gz
注意:在安装过程中可能会提示需要安装其他的包,根据具体的情况来安装所需要的包!
二、安装和配置步骤:
1、安装apr-1.2.11
# tar –zvxf apr-1.2.11.tar.gz
# cd apr-1.2.11
# ./configure --with-apr=/usr/local/apr  //安装到 /usr/local/apr目录
# make
#make install
2、安装 apr-util-1.2.2
# tar –zvxf apr-util-1.2.2.tar.gz
# cd apr-util-1.2.2
# ./configure --with-apr=/usr/local/apr //需要指定安装到同一个目录
# make
# make install
3、安装 httpd-2.2.6.tar.gz
# tar –zvxf httpd-2.2.6.tar.gz
# cd httpd-2.2.6
# ./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
--enable-dav
--enable-maintainer-mode
-- enable-rewrite
# make
# make install
安装好后启动apache
# /usr/local/apache/bin/apachectl –k start
用浏览器查看http://localhost/,得到it works,说明apache已经配置成功了。
(注意配置文件默认是80端口,如果被占用,你也可以在httpd.conf文件修改端口号:比如Listen 8080)8080端口
4、安装和配置 subversion
#tar –zvxf subversion-1.6.12.tar.gz
#tar –zvxf subversion-deps-1.6.0.tar.gz /*注意因为这里解压后的文件夹名为subversion-1.6.12所以请修改成subversion-1.6.0这样两个文件可以解压到同一个文件夹(为了在解压subversion-deps-1.6.0.tar.gz时候解压到subversion-1.6.12.tar.gz里面..值得注意的地方两个一定要解压到同一个文件夹中)
#cd subversion-1.6.0 (这里我是修改成的subversion-1.6.0文件夹名(可自定义))
#rm –rf apr
#rm -rf apr-util
注意:这里需要删除掉此文件夹目录下的apr和apr-util文件,如果不删除安装会通不过!
#./configure
--prefix=/usr/local/svn
--with-apxs=/usr/local/apache/bin/apxs
--with-apr=/usr/local/apr/bin/apr-1-config
--with-apr-util=/usr/local/apr/bin/apu-1-config
--with-ssl
--enable-maintainer-mode
#make
#make install
确定一下svn有没有安装成功
#/usr/local/svn/bin/svnserve - -version
会看到相关版本信息!
完了再看看apache 的相关模块有没有加载!如下!
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
这个如果可以在httpd.conf中可以找到, 到此如果一直都顺利的话就基本没什么问题!继续往下!
  开始建立版本库
#/usr/local/svn/bin/svnadmin create /svn/project/test     /*创建仓库"test"测试
#ls /svn/project/test  /*查看有没有创建好,如果多了一些文件则说明版本库已经创建好
导入项目文件到版本库
/usr/local/svn/bin/ svn  import
/usr/local/svn /OpenDevSvn  file:///usr/local/svn/project/test -m "init"
(注意:这里我事先在svn目录下面放置了一个OpenDevSvn项目,你也可以放置在其他地方,后面是导入到你建立的test库下面去)
这个一定要执行成功
配置apache支持svn
#vi /usr/local/apache/conf/httpd.conf
在文件的末尾,也就是文件的最下面加入

DAV svn
SVNParentPath /usr/local/svn/project  //你指定的虚拟目录
AuthType Basic
AuthName "Hello welcome to here"
AuthUserFile /usr/local/svn/passwd   //此处是此处修改为访问版本库用户的文件用apache 的htpasswd命令生成(后面的添加用户将会生成,请往下看))
AuthzSVNAccessFile /usr/local/svn/authz  .// 此处修改为访问版本库权限的文件(可以从test目录下的conf下拷贝过来)
Require valid-user

配置svn权限管理
1 . 添加用户:
# /usr/local/apache/bin/htpasswd –c /usr/local/svn/passwd user1 (//注意这里生成的路径与上面/usr/local/svn/passwd  的应该一致)
第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
第二次添加用户不需要带 –c 参数 如:
# /usr/local/apache/bin/htpasswd /usr/local/svn/passwd user2
2 . 权限分配:
注意上面的httpd.conf最下面添加的AuthzSVNAccessFile /usr/local/svn/authz
用来控制权限分配
#vi  usr/local/svn/authz
前面我用htpasswd生成了一个user1用户
下面我将给这个用户分配权限
[groups]
# harry_and_sally = harry,sally
admin=user1 //我添加的一个user1 (admin可以自定义)
[/]      //仓库test的根目录下的访问权限(这里可以指定相应的目录下)
# harry = rw
# * =
@admin=rw   (给admin的user1赋给读写的权限)
[repository:/]     //这个表示在所有仓库的根目录下(这里可以指定相应的目录下)
# @harry_and_sally = rw
# * = r
@admin=rw  (给admin的user1赋给读写的权限)
#注释的部分可以自己去掉
在编辑authz.文件时,所有行都必须要顶头写,不能有缩行出现,否则会报 错:"Access denied: 'user1' ",里面的内容可以根据自己的需要自行添加,不必与我上面所写的相同!
重启apache服务和启动svn服务
#/usr/local/apache/bin/apachectl –k restart
就可以通过 http://192.168.0.1/svn/test 这个URL来访问仓库了,当然,受权限的限制,必须是合法用户才能访问且具有相应的权限
如果你能根据权限看见项目的目录结构,那么恭喜你配置成功了.
文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/3_program/rg/20100721/473432.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-94361-1-1.html 上篇帖子: [django]Django部署在apache上 下篇帖子: Service Discovery with Apache Curator
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表