linux下svn+apache+ssl搭建

这几天折腾搭建了个SVN服务器,这里记录下。

svn官方文档 http://svn.apache.org/repos/asf/subversion/tags/1.6.19/INSTALL

 

我这里建立的是配合apache的,发现当前的apache没有dav,没有ssl,只好重新编译apache:

./configure -prefix=xxx/apache2_2 -enable-so -enable-dav  --enable-ssl   --enable-rewrite -enable-mods-shared=all
make clean && make && make install

 

可以看到加载了dav,ssl (这里假设已经安装了openssl,如果没有还要安装openssl)

 

然后下载svn,编译安装

wget http://subversion.tigris.org/downloads/subversion-1.6.19.tar.gz
tar zxvf subversion-1.6.19.tar.gz

wget http://subversion.tigris.org/downloads/subversion-deps-1.6.19.tar.gz
tar zxvf subversion-deps-1.6.19.tar.gz

cd subversion-1.6.19
./configure --prefix=/xxxx/svn --with-apxs=/xxxx/apache2_2/bin/apxs --enable-dav --enable-so && make clean && make && make install

 

查看svn是否装好

/xxx/svn/bin/svnserve --version

 

创建svn仓库根目录和一个仓库

#根目录
mkdir -p /xxxx/svn
#创建个仓库
svnadmin create /xxxx/svn/projects

#创建密码用户名
htpasswd -c /xxxxx/svn/mymeho ignet             

#上面的命令创建了一个ignet的svn用户,密码存储在文件/xxxxx/svn/mymeho中。

 

 

配置apache

(如果只使用svnserve方式,则使用/xxxx/svn/projects/conf/svnserve.conf 中的配置,参见http://blog.51yip.com/server/901.html)

LoadModule ssl_module modules/mod_ssl.so

<Location /mymesvnhoho/repos>
    DAV svn
    SVNPath /xxxxx/svn/projects              #仓库目录
   
    SSLRequireSSL                                  #需要ssl方式
   
    AuthType Basic   
    AuthName "my svn"                          #取个名字
    AuthUserFile /xxxx/svn/mymeho          #指定用户密码文件
    Require valid-user
</Location>

 

ssl相关:

#创建私钥

openssl genrsa 4096 > svn.mymeho.key 

#创建自签名证书30年

openssl req -new -key svn.mymeho.key -x509 -days 10950 -out svn.mymeho.crt

 

apache ssl配置

 

Listen 20080

NameVirtualHost *:880
<VirtualHost *:880>
    SSLEngine On
    SSLCertificateFile conf/ssl/svn.mymeho.crt                         #指向证书
    SSLCertificateKeyFile conf/ssl/svn.mymeho.key                   #指向私钥
    DirectoryIndex index.php index.html

    #这里880端口专门用于svn,如果指明了目录(DocumentRoot)则需要配置Directory权限,否则无法访问,这些和普通apache一样。
    ServerName 127.0.0.1:880
</VirtualHost>

 

 

启动apache

apache2_2/bin/apachectl start

 

到这里就配置好了。

 

我测试了一下我的服务器提交速度,惨不忍睹,不堪使用,这里只是尝试一下。

 

 

 

 

 

参见:

http://mark.koli.ch/2010/03/howto-setting-up-your-own-svn-server-using-apache-and-mod-dav-svn.html


Total views.

© 2013 - 2024. All rights reserved.

Powered by Hydejack v6.6.1