CentOS 6 编译安装subversion-1.8.10+Apache2.4-阿里云开发者社区

开发者社区> 科技小先锋> 正文

CentOS 6 编译安装subversion-1.8.10+Apache2.4

简介:
+关注继续查看

只是记录下安装过程,方便下次直接拷贝,省的在去查找一些选项。

CentOS6安装完成后自带的有Apache2.2和subversion1.6,那我们就先来看系统自带的如何配置:

一、用系统自带的Apache和svn配置

1、添加svn用户

1
# useradd -r -s /sbin/nologin svn

2、配置Apache的配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# mkdir -pv /www/svnroot/                          # 为svn建立库目录
# chown -R svn.svn /www/svnroot/                   # 更改权限
# cd /etc/httpd/conf.d                             # 编辑配置文件
# vim subversion.conf
    LoadModule dav_svn_module     modules/mod_dav_svn.so
    LoadModule authz_svn_module   modules/mod_authz_svn.so
    <Location /svn/>                # 定义访问是的路径;例如http://IP/svn
       DAV svn     
       SVNParentPath /www/svnroot          # SVN的库路径
       SVNListParentPath on                # 允许列出目录
       AuthzSVNAccessFile /www/svnroot/authz   # 认证文件
       #RedirectMatch ^(/svn)$ $1/               
          AuthType Basic        # 基本认证
          AuthName "Subversion Auth"       # 认证提示信息
          AuthUserFile /www/svnroot/password # 认证密码文件
          Require valid-user         # 必须为有效的用户
    </Location>
 
# service httpd start

3、创建版本库并测试:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# cd /www/svnroot
# svnadmin create platform
# chown -R svn.svn *
# cp platform/conf/authz .
# vim authz
    [aliases]
    # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
 
    [groups]                # 定义组
    group_platform_admin = admin      # 组内成员
 
    [/]                 # 根目录所有用户的浏览权限
    * = r
 
    [platform:/]                # 每个版本库的对应权限
    @group_platform_admin = rw        # 权限
 
# htpasswd -c password admin            # 生成密码文件和添加用户
 
到此,就可以正常访问了。

此时可以在浏览器里输入地址访问,也可以是用客户端访问。


二、源码编译安装

1、解决依赖包

1
2
yum -y install pcre-devel perl-ExtUtils-Embed perl perl-devel
yum -y remove subversion


2、下载需要的源码包

1
2
3
4
5
6
7
apr-1.5.1.tar.bz2
apr-util-1.5.4.tar.bz2
httpd-2.4.12.tar.gz
sqlite-autoconf-3080802.zip
subversion-1.8.10.tar.bz2
zlib-1.2.8.tar.gz
expat-2.0.1.tar.gz

3、编译

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
apr
./configure --prefix=/usr/local/apr
make && make install
 
apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
make && make install
 
httpd-2.4.12
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event --enable-proxy --enable-proxy-fcgi --enable-dav --enable-dav-fs --enable-maintainer-mode
make && make install
# 编译完成后添加环境变量:
vim /etc/profile.d/apache.sh
    export PATH=/usr/local/apache/bin/:$PATH
/etc/profile.d/apache.sh     # 生效
 
expat
./configure
make && make install
 
sqlite
./configure --prefix=/usr/local/sqlite --enable-libtool-lock
make && make install
 
subversion
./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-apxs=/usr/local/apache/bin/apxs --with-apache-libexecdir --with-sqlite=/usr/local/sqlite/ --with-openssl --enable-maintainer-mode
make && make install
# 编译完成后添加环境变量:
vim /etc/profile.d/svn.sh
    export PATH=/usr/local/svn/bin/:$PATH
/etc/profile.d/svn.sh          #生效

以上编译过程请注意是否有报错,如果有报错,解决后在进行下一步的安装操作。


4、配置Apache

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 在Apache编译完成后,由于系统自带的Apache是不需要卸载的,直接到/etc/init.d/目录下。
cd /etc/init.d/
cp httpd{,.bak}   
vim httpd
    apachectl=/usr/local/apache/bin/apachectl
    httpd=${HTTPD-/usr/local/apache/bin/httpd}
    prog=httpd
    pidfile=${PIDFILE-/var/run/httpd/httpd.pid}
    lockfile=${LOCKFILE-/var/lock/subsys/httpd}
# 把这个几个对应的路径改一改,pidfile在配置文件中要定义下路径,并把error log的路径也写全了,这样方便排错
 
# 然后在配置文件中添加如下行:
在LoadModule装载的路径后面添加下面两行:
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
 
# 注意:把启动的用户和组改成SVN使用的用户和组,否则没有写权限,或者把SVN的目录的属主属组更改为运行Apache的也行。
 
# 在其他位置添加如下:
<Location /svn/>
    DAV svn
    SVNParentPath /data/svn
    AuthzSVNAccessFile /data/svn/authz
    #SVNListParentPath on
    AuthType Basic
    AuthName "Subversion Auth"
    AuthUserFile /data/svn/password
    Require valid-user
</Location>
 
# service httpd restart

5、配置svn的库以及认证文件,如第一个配置是一样的。


6、访问测试

wKioL1TYWqiBo1xxAAD2pQqPPL8812.jpg

wKiom1TYWbbSm7KwAADtNnX5iVU623.jpg

测试如上。客户端访问也是一样的。



本文转自Mr_陈 51CTO博客,原文链接:http://blog.51cto.com/chenpipi/1613007,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
CentOS6.9编译安装nginx1.4.7
1.系统安装开发包组和zlib-devel,关闭iptables [root@bogon ~]# yum groupinstall -y "Development Tools" [root@bogon ~]# yum install -y zlib-devel [root@bogon ~]# yum...
641 0
CentOS6.9源码编译安装redis和php-redis扩展
这篇笔记记录了在CentOS6.9中源码编译安装redis,开机启动,和源码编译安装php-redis扩展的过程
1241 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12029 0
CentOS6.9源码编译安装memcached
这篇笔记记录了在CentOS6.9中源码编译安装libevent和memcached,设置开机启动,以及telnet测试的过程
1189 0
6967
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载