您的位置:首页 > 运维架构 > Apache

linux下使用apache+svn+ssl配置安全版本控制平台

2013-08-27 15:24 786 查看
环境:

        Red Hat Enterprise Linux Server release 6.3 (Santiago)_ 64

        apache  2.4.4

        subversion--1.7.5

         openssl-1.0.1e

安装过程:

1,apache安装

# ./configure --prefix=/usr/local/apache --enable-so --enable-dav=shared --enable-dav-fs=shared --enable-dav-lock=shared --enable-ssl=shared

编译时出现错误

checking for APR... no

configure: error: APR not found .  Please read the documentation

解决办法:

1.下载所需软件包:

wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz  
wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz  
wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip   

2.编译安装:

yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs 

具体步骤如下:

  a:解决apr not found问题>>>>>>

[root@xt test]# tar -zxf apr-1.4.5.tar.gz  
[root@xt test]# cd  apr-1.4.5  
[root@xt apr-1.4.5]# ./configure --prefix=/usr/local/apr  
[root@xt apr-1.4.5]# make && make install  
 

  b:解决APR-util not found问题>>>>

[root@xt test]# tar -zxf apr-util-1.3.12.tar.gz  
[root@xt test]# cd apr-util-1.3.12  
[root@xt apr-util-1.3.12]# ./configure --prefix=/usr/local/apr-util -with- apr=/usr/local/apr/bin/apr-1-config  
[root@xt apr-util-1.3.12]# make && make install 

  c:解决pcre问题>>>>>>>>>

[root@xt test]#unzip -o pcre-8.10.zip  
[root@xt test]#cd pcre-8.10  
[root@xt pcre-8.10]#./configure --prefix=/usr/local/pcre  
[root@xt pcre-8.10]#make && make install 

4.最后编译Apache时加上:

--with-apr=/usr/local/apr \

--with-apr-util=/usr/local/apr-util/ \

 --with-pcre=/usr/local/pcre

再次编译:

# ./configure --prefix=/usr/local/apache --enable-so --enable-dav=shared --enable-dav-fs=shared --enable-dav-lock=shared --enable-ssl=shared --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre   --with-ssl=/usr/local/openssl

make

make install

如果这台apache不做其他使用,这个配置就已经足够

2,subversion安装

subversion-1.4.2]#
./autogen.sh  #建议先执行此领命。

subversion-1.4.2]# ./configure --prefix=/usr/local/subversion/  --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apache/bin/apr-1-config --with-apr-util=/usr/local/apache/bin/apu-1-config   --with-apr=/usr/local/apr  --with-apr-util=/usr/local/apr-util
--with-ssl --with-zlib --enable-maintainer-mode

subversion-1.4.2]# make 

subversion-1.4.2]# make install

到此,如果没有出错,安装工作就已经完成了,下面进入配置阶段

1,apache的配置

正常安装下有如下文件 并在 /usr/local/apache/conf/httpd.conf中配置,并且保证没有注销如没配置则手动配置。

LoadModule dav_module modu
4000
les/mod_dav.so 

LoadModule dav_fs_module modules/mod_dav_fs.so 

LoadModule dav_lock_module modules/mod_dav_lock.so 
LoadModule dav_svn_module    
modules/mod_dav_svn.so 
LoadModule authz_svn_module   modules/mod_authz_svn.so 
LoadModule ssl_module   modules/mod_ssl.so

这几个module保证不是被注释的,另外找到 

Include conf/extra/httpd-dav.conf 

Include conf/extra/httpd-ssl.conf

这两行,去掉前面的注释。

编辑conf/extra/httpd-dav.conf,加入如下内容,其余内容可以全部删除

<Location /svn>

    DAV svn

    #SSLRequireSSL

   SVNListParentPath on

   SVNParentPath  /opt/svn

   AuthType Basic

  AuthName "Subversion Repositories"

  AuthUserFile  /opt/svn/conf/passwd

  AuthzSVNAccessFile /opt/svn/conf/authz

  Require valid-user

</Location>

编辑完成后保存退出,由于http访问的方式密码传输是明文的,所以还需要配置ssl进行加密传输

接下来配置ssl,需要以下几个步骤:

第一步,创建key和request: 

openssl req -new > new.cert.csr

第二步,从key中删除passphrase(可选): 

openssl rsa -in privkey.pem -out new.cert.key

第三步,把request转换成signed sert: 

openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days 1825

第四步,把cert和key文件拷贝到适当的位置: 

cp new.cert.cert /usr/local/apache/conf/server.crt 

cp new.cert.key /usr/local/apache/conf/server.key

注:如果你没有在第二步从key中把passphrase删除,那么每次你启动apache的时候你都要输入密码。这也就意味着如果你的服务器因为某些原因重新启动了,除非你在服务器旁手动敲入了密码,否则你的web服务器就不会启动。

到此,apache的配置就完成了,接下来对subversion来进行配置

2,subversion的配置

在/opt/svn/conf下创建authz文件,内容如下

[group] 

test=abc

[test:/] 

@test=rw

保存退出。

设置abc的密码

/usr/local/apache/bin/htpasswd –bc /opt/svn/conf/passwd abc 12345678

这样就会在/opt/svn下创建passwd文件,内容如下:

abc:gtnqpowogqB/Y

密码采用加密的方式。

创建test库:

/usr/local/subversion/bin/svnadmin create /data3/svn/test

Error:

1.Prce-8.00 安装问题 libtool: line 990: g++: command not found的解决

感觉是gcc没有编译完整,于是yum -y install gcc+ gcc-c++。。漫长的等待。完成后再次执行make命令错误消失。。

2..libs/pcrecpp.o:could not read symbols: Bad value

collect2: ld returned 1 exit status

make[1]: *** [libpcrecpp.la] 错误 1

make[1]: Leaving directory `/usr/app/pcre-8.00'

make: *** [all] 错误 2
解决办法:./configure --disable-shared --with-pic                      之后执行:make 没有错误
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux apache ssl svn