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

2022-07-04 11:06:09 浏览数 (1)

只是记录下安装过程,方便下次直接拷贝,省的在去查找一些选项。CentOS6安装完成后自带的有Apache2.2和subversion1.6,那我们就先来看系统自带的如何配置:

一、用系统自带的Apache和svn配置 1、添加svn用户 1 # useradd -r -s /sbin/nologin svn

2、配置Apache的配置文件

# 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、创建版本库并测试: # 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、解决依赖包 yum -y install pcre-devel perl-ExtUtils-Embed perl perl-devel yum -y remove subversion

2、下载需要的源码包 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、编译 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 # 在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、访问测试

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

0 人点赞