惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
IT之家
IT之家
Cyberwarzone
Cyberwarzone
T
Troy Hunt's Blog
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
T
Threat Research - Cisco Blogs
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
G
GRAHAM CLULEY
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 叶小钗
Last Week in AI
Last Week in AI
C
CERT Recently Published Vulnerability Notes
The Hacker News
The Hacker News
Jina AI
Jina AI
T
Tor Project blog
V
Vulnerabilities – Threatpost
酷 壳 – CoolShell
酷 壳 – CoolShell
Spread Privacy
Spread Privacy
博客园_首页
C
Cybersecurity and Infrastructure Security Agency CISA
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Simon Willison's Weblog
Simon Willison's Weblog
Security Latest
Security Latest
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
博客园 - 司徒正美
V2EX - 技术
V2EX - 技术
I
Intezer
The Cloudflare Blog
Cisco Talos Blog
Cisco Talos Blog
SecWiki News
SecWiki News
博客园 - 【当耐特】
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
L
Lohrmann on Cybersecurity
Scott Helme
Scott Helme
Google Online Security Blog
Google Online Security Blog
量子位
The Last Watchdog
The Last Watchdog
AI
AI
Application and Cybersecurity Blog
Application and Cybersecurity Blog
S
Security Affairs
P
Palo Alto Networks Blog
S
Secure Thoughts
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Attack and Defense Labs
Attack and Defense Labs

博客园 - sunliho

Java ClassLoader and Context ClassLoader find flow scope varibles in spring web flow Building Liferay on Tomcat Debugging Liferay in Eclipse ssl 服务器证书,客户端信任证书 相对路径与绝对路径 - sunliho - 博客园 db2 command 标准sql 修改ip地址 mysql in linux network configuration in linux Linux系统信息查看命令大全 linux常用命令 Permission denied in linux install jdk in linux generic dao hibernate.cfg.xml 配置(摘录) - sunliho - 博客园 hibernate 配置文件(摘录) - sunliho - 博客园 web.xml配置详解(摘录)
Linux系统下架设APACHE SVN服务器全过程
sunliho · 2010-08-28 · via 博客园 - sunliho

一 、首先准备好相关的安装包,我这里使用的是下列的几个包
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
在文件的末尾,也就是文件的最下面加入
<Location /svn>
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
</Location>
配置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