只是记录下安装过程,方便下次直接拷贝,省的在去查找一些选项。
CentOS6安装完成后自带的有Apache2.2和subversion1.6,那我们就先来看系统自带的如何配置:
一、用系统自带的Apache和svn配置
1、添加svn用户
1
<code># useradd -r -s /sbin/nologin svn</code>
2、配置Apache的配置文件
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<code># mkdir -pv /www/svnroot/ # 为svn建立库目录</code>
<code># chown -R svn.svn /www/svnroot/ # 更改权限</code>
<code># cd /etc/httpd/conf.d # 编辑配置文件</code>
<code># vim subversion.conf</code>
<code> </code><code>LoadModule dav_svn_module modules</code><code>/</code><code>mod_dav_svn.so</code>
<code> </code><code>LoadModule authz_svn_module modules</code><code>/</code><code>mod_authz_svn.so</code>
<code> </code><code><Location </code><code>/</code><code>svn</code><code>/</code><code>> </code><code># 定义访问是的路径;例如http://IP/svn</code>
<code> </code><code>DAV svn </code>
<code> </code><code>SVNParentPath </code><code>/</code><code>www</code><code>/</code><code>svnroot </code><code># SVN的库路径</code>
<code> </code><code>SVNListParentPath on </code><code># 允许列出目录</code>
<code> </code><code>AuthzSVNAccessFile </code><code>/</code><code>www</code><code>/</code><code>svnroot</code><code>/</code><code>authz </code><code># 认证文件</code>
<code> </code><code>#RedirectMatch ^(/svn)$ $1/ </code>
<code> </code><code>AuthType Basic </code><code># 基本认证</code>
<code> </code><code>AuthName </code><code>"Subversion Auth"</code> <code># 认证提示信息</code>
<code> </code><code>AuthUserFile </code><code>/</code><code>www</code><code>/</code><code>svnroot</code><code>/</code><code>password </code><code># 认证密码文件</code>
<code> </code><code>Require valid</code><code>-</code><code>user </code><code># 必须为有效的用户</code>
<code> </code><code><</code><code>/</code><code>Location></code>
<code># service httpd start</code>
3、创建版本库并测试:
20
<code># cd /www/svnroot</code>
<code># svnadmin create platform</code>
<code># chown -R svn.svn *</code>
<code># cp platform/conf/authz .</code>
<code># vim authz</code>
<code> </code><code>[aliases]</code>
<code> </code><code># joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average</code>
<code> </code><code>[groups] </code><code># 定义组</code>
<code> </code><code>group_platform_admin </code><code>=</code> <code>admin </code><code># 组内成员</code>
<code> </code><code>[</code><code>/</code><code>] </code><code># 根目录所有用户的浏览权限</code>
<code> </code><code>*</code> <code>=</code> <code>r</code>
<code> </code><code>[platform:</code><code>/</code><code>] </code><code># 每个版本库的对应权限</code>
<code> </code><code>@group_platform_admin</code> <code>=</code> <code>rw </code><code># 权限</code>
<code># htpasswd -c password admin # 生成密码文件和添加用户</code>
<code>到此,就可以正常访问了。</code>
此时可以在浏览器里输入地址访问,也可以是用客户端访问。
二、源码编译安装
1、解决依赖包
<code>yum </code><code>-</code><code>y install pcre</code><code>-</code><code>devel perl</code><code>-</code><code>ExtUtils</code><code>-</code><code>Embed perl perl</code><code>-</code><code>devel</code>
<code>yum </code><code>-</code><code>y remove subversion</code>
2、下载需要的源码包
<code>apr</code><code>-</code><code>1.5</code><code>.</code><code>1.tar</code><code>.bz2</code>
<code>apr</code><code>-</code><code>util</code><code>-</code><code>1.5</code><code>.</code><code>4.tar</code><code>.bz2</code>
<code>httpd</code><code>-</code><code>2.4</code><code>.</code><code>12.tar</code><code>.gz</code>
<code>sqlite</code><code>-</code><code>autoconf</code><code>-</code><code>3080802.zip</code>
<code>subversion</code><code>-</code><code>1.8</code><code>.</code><code>10.tar</code><code>.bz2</code>
<code>zlib</code><code>-</code><code>1.2</code><code>.</code><code>8.tar</code><code>.gz</code>
<code>expat</code><code>-</code><code>2.0</code><code>.</code><code>1.tar</code><code>.gz</code>
3、编译
21
22
23
24
25
26
27
28
29
30
31
<code>apr</code>
<code>.</code><code>/</code><code>configure </code><code>-</code><code>-</code><code>prefix</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr</code>
<code>make && make install</code>
<code>apr</code><code>-</code><code>util</code>
<code>.</code><code>/</code><code>configure </code><code>-</code><code>-</code><code>prefix</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr</code><code>-</code><code>util </code><code>-</code><code>-</code><code>with</code><code>-</code><code>apr</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr</code><code>/</code>
<code>httpd</code><code>-</code><code>2.4</code><code>.</code><code>12</code>
<code>.</code><code>/</code><code>configure </code><code>-</code><code>-</code><code>prefix</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apache </code><code>-</code><code>-</code><code>sysconfdir</code><code>=</code><code>/</code><code>etc</code><code>/</code><code>httpd24 </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>so </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>ssl </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>cgi </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>rewrite </code><code>-</code><code>-</code><code>with</code><code>-</code><code>zlib </code><code>-</code><code>-</code><code>with</code><code>-</code><code>pcre </code><code>-</code><code>-</code><code>with</code><code>-</code><code>apr</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr </code><code>-</code><code>-</code><code>with</code><code>-</code><code>apr</code><code>-</code><code>util</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr</code><code>-</code><code>util </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>modules</code><code>=</code><code>most </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>mpms</code><code>-</code><code>shared</code><code>=</code><code>all</code> <code>-</code><code>-</code><code>with</code><code>-</code><code>mpm</code><code>=</code><code>event </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>proxy </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>proxy</code><code>-</code><code>fcgi </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>dav </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>dav</code><code>-</code><code>fs </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>maintainer</code><code>-</code><code>mode</code>
<code># 编译完成后添加环境变量:</code>
<code>vim </code><code>/</code><code>etc</code><code>/</code><code>profile.d</code><code>/</code><code>apache.sh</code>
<code> </code><code>export PATH</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apache</code><code>/</code><code>bin</code><code>/</code><code>:$PATH</code>
<code>. </code><code>/</code><code>etc</code><code>/</code><code>profile.d</code><code>/</code><code>apache.sh </code><code># 生效</code>
<code>expat</code>
<code>.</code><code>/</code><code>configure</code>
<code>sqlite</code>
<code>.</code><code>/</code><code>configure </code><code>-</code><code>-</code><code>prefix</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>sqlite </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>libtool</code><code>-</code><code>lock</code>
<code>subversion</code>
<code>.</code><code>/</code><code>configure </code><code>-</code><code>-</code><code>prefix</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>svn </code><code>-</code><code>-</code><code>with</code><code>-</code><code>apr</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr</code><code>/</code> <code>-</code><code>-</code><code>with</code><code>-</code><code>apr</code><code>-</code><code>util</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr</code><code>-</code><code>util</code><code>/</code> <code>-</code><code>-</code><code>with</code><code>-</code><code>apxs</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apache</code><code>/</code><code>bin</code><code>/</code><code>apxs </code><code>-</code><code>-</code><code>with</code><code>-</code><code>apache</code><code>-</code><code>libexecdir </code><code>-</code><code>-</code><code>with</code><code>-</code><code>sqlite</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>sqlite</code><code>/</code> <code>-</code><code>-</code><code>with</code><code>-</code><code>openssl </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>maintainer</code><code>-</code><code>mode</code>
<code>vim </code><code>/</code><code>etc</code><code>/</code><code>profile.d</code><code>/</code><code>svn.sh</code>
<code> </code><code>export PATH</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>svn</code><code>/</code><code>bin</code><code>/</code><code>:$PATH</code>
<code>. </code><code>/</code><code>etc</code><code>/</code><code>profile.d</code><code>/</code><code>svn.sh </code><code>#生效</code>
以上编译过程请注意是否有报错,如果有报错,解决后在进行下一步的安装操作。
4、配置Apache
<code># 在Apache编译完成后,由于系统自带的Apache是不需要卸载的,直接到/etc/init.d/目录下。</code>
<code>cd </code><code>/</code><code>etc</code><code>/</code><code>init.d</code><code>/</code>
<code>cp httpd{,.bak} </code>
<code>vim httpd</code>
<code> </code><code>apachectl</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apache</code><code>/</code><code>bin</code><code>/</code><code>apachectl</code>
<code> </code><code>httpd</code><code>=</code><code>${HTTPD</code><code>-</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apache</code><code>/</code><code>bin</code><code>/</code><code>httpd}</code>
<code> </code><code>prog</code><code>=</code><code>httpd</code>
<code> </code><code>pidfile</code><code>=</code><code>${PIDFILE</code><code>-</code><code>/</code><code>var</code><code>/</code><code>run</code><code>/</code><code>httpd</code><code>/</code><code>httpd.pid}</code>
<code> </code><code>lockfile</code><code>=</code><code>${LOCKFILE</code><code>-</code><code>/</code><code>var</code><code>/</code><code>lock</code><code>/</code><code>subsys</code><code>/</code><code>httpd}</code>
<code># 把这个几个对应的路径改一改,pidfile在配置文件中要定义下路径,并把error log的路径也写全了,这样方便排错</code>
<code># 然后在配置文件中添加如下行:</code>
<code>在LoadModule装载的路径后面添加下面两行:</code>
<code>LoadModule dav_svn_module modules</code><code>/</code><code>mod_dav_svn.so</code>
<code>LoadModule authz_svn_module modules</code><code>/</code><code>mod_authz_svn.so</code>
<code># 注意:把启动的用户和组改成SVN使用的用户和组,否则没有写权限,或者把SVN的目录的属主属组更改为运行Apache的也行。</code>
<code># 在其他位置添加如下:</code>
<code><Location </code><code>/</code><code>svn</code><code>/</code><code>></code>
<code> </code><code>DAV svn</code>
<code> </code><code>SVNParentPath </code><code>/</code><code>data</code><code>/</code><code>svn</code>
<code> </code><code>AuthzSVNAccessFile </code><code>/</code><code>data</code><code>/</code><code>svn</code><code>/</code><code>authz</code>
<code> </code><code>#SVNListParentPath on</code>
<code> </code><code>AuthType Basic</code>
<code> </code><code>AuthName </code><code>"Subversion Auth"</code>
<code> </code><code>AuthUserFile </code><code>/</code><code>data</code><code>/</code><code>svn</code><code>/</code><code>password</code>
<code> </code><code>Require valid</code><code>-</code><code>user</code>
<code><</code><code>/</code><code>Location></code>
<code># service httpd restart</code>
5、配置svn的库以及认证文件,如第一个配置是一样的。
6、访问测试
<a href="http://s3.51cto.com/wyfs02/M00/59/90/wKioL1TYWqiBo1xxAAD2pQqPPL8812.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M00/59/93/wKiom1TYWbbSm7KwAADtNnX5iVU623.jpg" target="_blank"></a>
测试如上。客户端访问也是一样的。
本文转自Mr_陈 51CTO博客,原文链接:http://blog.51cto.com/chenpipi/1613007,如需转载请自行联系原作者