2011年6月10日星期五

  在ubuntu上安装配置带apache,ssl和basicAuth的SVN服务器

1. 安装软件包

sudo aptitude install subversion libapache2-svn apache2 libapache-mod-dav

2 Enable SSL

先备份apache配置

sudo cp  -rf /etc/apache2 /etc/apache2_backup

sudo a2enmod ssl

sudo sh –c “echo ‘Listen 443’ >> /etc/apache2/ports.conf”

3. SSL认证

如果ubuntu版本小于Feisty

sudo apache2-ssl-certificate

如果ubuntu版本大于Feisty

sudo aptitude install ssl-cert

sudo mkdir /etc/apache2/ssl

sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssl/eay.cnf  /etc/apache2/ssl/apache.pem

这里可以填写主机名。

4. 创建Virtual Host

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/$SITENAME

$SITENAME自行指定,这里指定为ssl, 下文中$SITENAME用ssl代替.

sudo vim /etc/apache2/sites-available/$SITENAME

修改为:

NameVirtualHost *:443

#这里增加

SSLEngine on

SSLCertificateFile /etc/apache2/ssl/apache.pem

SSLProtocol all

SSLCipherSuite HIGH:MEDIUM

5 . 使能站点 Enable the site

sudo a2ensite $SITENAME  

sudo /etc/init.d/apache2 restart

警告可以忽略

6. 增加代码仓库

sudo mkdir /home/svn/

sudo svnadmin create /home/svn/$REPOS

这里$REPOS自己指定,本文指定为myrepos.

sudo chown –R www-data:www-data /home/svn/$REPOS

sudo chmod –R g+ws /home/svn/$REPOS

7 增加Basic Authentication

sudo htpasswd –c –m /home/svn/$REPOS/conf/passwd $AUTH_USER

8 使能配置WebDAV和SVN

修改/etc/apache2/mods-available/dav_svn.conf为

==========

DAV svn

SVNParentPath /home/svn

AuthType Basic

AuthName “Subversion Repository”

AuthUserFile /home/svn/$REPOS/conf/passwd

Require valid-user

SSLRequireSSL

==========

如果是非匿名访问,需要加注释

#
#

9. 重起apache

sudo /etc/init.d/apache2 restart

10 .测试WEB访问

https://localhost/svn/$REPOS 

此时需要通过密码才能访问.输入用户名$AUTH_USER和对应密码

http://localhost/svn/$REPOS 

403-forbidden

没有评论:

发表评论