1. 实验环境:
ubuntu 11.04
Apache/2.2.17
subversion 1.6.12
2. 安装apache2和ssl配置:
安装apache2:
$ sudo apt-get install apache2
启用ssl模块:
$ sudo a2enmod ssl
生成SSL证书:
本来应该使用apache2-ssl-certificate命令的,但是ubuntu下安装的apache2貌似少这个脚本,所以使用openssl来生成。
$ sudo openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem
这个命令将key和certificate都生成到一个文件/etc/apache2/ssl/apache.pem
中。
注意: 执行该命令过程中会有一些提问信息需要输入,最好不要放空格,否则后面需要用https来访问svn可能会出问题
修改配置:
修改/etc/apache2/sites-available/default-ssl文件中的以下两行
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
为:
SSLCertificateFile /etc/apache2/ssl/apache.pem
启用站点:
sudo a2ensite default-ssl
启用该ssl站点设置
重启Apache2:
$ sudo /etc/init.d/apache2 reload
重新载入配置文件
3.安装和配置subversion
参考 http://wiki.ubuntu.org.cn/SubVersion
安装subverson:
$ sudo apt-get install subversion $ sudo apt-get install libapache2-svn
创建用户和组:
$ sudo addgroup subversion $ sudo usermod -G subversion -a www-data
$ sudo usermod -G subversion -a current_user
这里www-data是apache用户,current_user指当前系统用户
创建svn仓库目录:
$ sudo mkdir /home/svn $ cd /home/svn $ sudo mkdir myproject $ sudo chown -R root:subversion myproject
创建svn文件仓库:
$ sudo svnadmin create /home/svn/myproject
$ sudo chmod -R g+rws myproject
配置http和https访问svn,即通过 WebDAV 协议访问 SVN 文件仓库
/etc/apache2/mods-available/dav_svn.conf 中添加以下内容:
重启apache服务
sudo /etc/init.d/apache2 restart
创建 用户名密码文件
sudo htpasswd -c /etc/subversion/passwd user_name
其中user_name为自己的svn用户名,执行该命令后会提示输入密码
OK!