Ubuntu下搭建Apache+SVN服务
最近和朋友合作一个小项目,于是在VPS(Ubuntu 10.04 LTS 64bit)上搭建了一个Apache+SVN服务便于管理代码,记录如下。
1. 安装
- sudo apt-get install subversion
- sudo apt-get install libapache2-svn
2. 创建subversion用户组,并把apache运行用户www-data加入到subversion用户组中
- sudo addgroup subversion
- sudo usermod -G subversion -a www-data
3. 创建SVN仓库(假设文件存放在/data/svn目录下)
- sudo mkdir /data/svn
- cd /data/svn
- sudo mkdir myproject
- sudo chown -R root:subversion myproject # 让目录属于subversion组
- sudo svnadmin create /home/svn/myproject # 创建SVN仓库
- sudo chmod -R g+rws myproject # 赋予subversion组权限
4. 配置apache服务,加入下面的配置/etc/apache2/mods-available/dav_svn.conf中
- <Location /svn/myproject>
- DAV svn
- SVNPath /data/svn/myproject
- AuthType Basic
- AuthName "myproject subversion repository"
- AuthUserFile /etc/subversion/passwd
- Require valid-user
- </Location>
5. 创建/etc/subversion/passwd文件
- sudo htpasswd -c /etc/subversion/passwd user_name
- sudo htpasswd /etc/subversion/passwd other_user_name
系统会提示输入密码,-c选项表示创建新的/etc/subversion/passwd文件,没有-c选项表示加入新用户到已有的/etc/subversion/passwd文件
6. 重启apache,通过http://hostname/svn/myproject就可以访问SVN了
- sudo /etc/init.d/apache2 restart
7. 给apache配置SSL,请参考
SSLEngine on
SSLProtocol all -SSLv2 //只允许SSLv3和TLSv1,SSLv2有缺陷禁止掉
SSLCipherSuite RSA:DH:DSS:!EXP:!NULL:!ADH:!EDH:!LOW:!RC4:!MD5:HIGH:MEDIUM //最终的结果就是Key Exchange=RSA/DH,Authentication=RSA/DSS,Cipher Encoding=AES(128/256)/3DES(168),MAC Digest=SHA1
SSLCertificateFile /etc/ssl/certs/nnlm.cer //CA颁发的证书
SSLCertificateKeyFile /etc/ssl/private/nnlm.key //证书的私钥
SSLCertificateChainFile /etc/ssl/certs/chain.cer //证书链,所有的证书链全部写到一个文件里面
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf