第一部分:svn
1.安装svn
apt-get install subversion
2.搭建svn仓库
mkdir /home/svn
mkdir /home/svn/demop
svnadmin create /home/svn/demop
3.启动svn
svnserve -d -r /home/svn
4.测试检出
svn co svn://192.168.247.131/demop test
第二部分:http
1.安装apache2
apt-get install apache2
apt-get install libapache2-svn
apt-get install apache2-utils
2.检查apache2是否已安装
访问:http://ip
3.编辑:etc/apache2/mods-available/dav_svn.conf
<Location /svn >
DAV svn
SVNParentPath /home/svn
SVNListParentPath On
AuthType Basic
AuthName "welcome to hitu subversion repository"
AuthUserFile /home/svn/passwd
AuthzSVNAccessFile /home/svn/authz.conf
Require valid-user
#SSLRequireSSL #配置访问时,需经过ssl验证,既走https模式,屏蔽http
</Location>
值 | 描述 |
---|---|
Location /svn | 意思是Subversion版本可用的URL是http://域名或IP/svn |
DAV SVN | 告诉Apache是哪个模块响应哪个URL的请求,在这里是Subversion模块 |
SVNParentPath /home/svn | 告诉Subversion需要查看的版本库在/home/svn之下。如果不希望为每个单独的项目都进行单独的设置,可以把所有项目都存放在统一的资源库目录,使用SVNParentPath指令来指定存放所有项目的路径。否则使用SVNPath |
SVNPath | 单版本库时使用此项指明版本库的路径,但在多版本库中不要使用此项 |
AuthType Basic | 认证类型为基本认证,就是用户名和密码 |
AuthName | "Subversion repository" 认证名称,将在浏览器界面弹出一个对话框,标题为Subversion repository |
AuthUserFile | 指定使用的认证密码文件,即访问版本库用户的文件,用apache的htpasswd命令生成 |
AuthzSVNAccessFile | 设定访问版本库权限的文件,可选 |
Require | 要求验证用户,即不能匿名访问。如果没有该语句,则只能第一个用户可以访问新建库此外,SVNIndexXSLT “/svnindex.xsl” 使用它可以在用浏览器时更好看 |
编辑:etc/apache2/apache2.conf
最后添加:
ServerName 80
4.添加用户密码权限
htpasswd -c /home/svn/passwd 用户名 //第一次设置用户时使用-c表示新建一个用户文件,之后取消-c.回车后输入用户密码
5.添加访问权限
vi /home/svn/authz.conf
#组
[groups]
admin = yangxg
test = de,te
#svn库权限读写分配
[demop:/]
@admin = rw
@test = r
6.设置版本库访问权限
chmod -R o+rw /home/svn
7.重启apache2
/etc/init.d/apached2 restart
8.访问测试
http://ip/svn/demop
注意:第一部分第3步启动svn,现在可以关闭kill掉,无需启动,在apache2里dav_svn.conf已经配置了访问会走DAV svn模块进行
第三部分:生成sslkey
进入目录:/home/sslkey
1,生成RSA密钥的方法:
openssl genrsa -des3 -out privkey.pem 2048
这个命令会生成一个2048位的密钥,同时有一个des3方法加密的密码,如果你不想要每次都输入密码,可以改成:
openssl genrsa -out privkey.pem 2048
建议用2048位密钥,少于此可能会不安全或很快将不安全。
2,生成一个证书请求:
openssl req -new -key privkey.pem -out cert.csr
这个命令将会生成一个证书请求,当然,用到了前面生成的密钥privkey.pem文件 这里将生成一个新的文件cert.csr,即一个证书请求文件,你可以拿着这个文件去数字证书颁发机构(即CA) 申请一个数字证书。CA会给你一个新的文件cacert.pem,那才是你的数字证书。
3,自己签名生成数字证书: 如果是自己做测试,那么证书的申请机构和颁发机构都是自己。就可以用下面这个命令来生成证书:
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
这个命令将用上面生成的密钥privkey.pem生成一个数字证书cacert.pem
第四部分:搭建https
1.编辑:etc/apache2/mods-available/dav_svn.conf
开启 SSLRequireSSL
SSLRequireSSL #配置访问时,需经过ssl验证,既走https模式,屏蔽http
2.开启apached2 ssl模块
a)开启SSL模块
a2enmod ssl
b)启用SSL站点
a2ensite default-ssl
e)配置SSL证书 vi /etc/apache2/sites-enabled/default-ssl
把SSLCertificateFile,SSLCertificateKeyFile修改为第三部生成的ssl key
SSLCertificateFile /home/sslkey/cacert.pem #数字证书文件放置路径
SSLCertificateKeyFile /home/sslkey/privkey.key #私钥文件放置路径
3.重启apache2
/etc/init.d/apached2 restart
8.访问测试
http://ip/svn/demop
https://ip/svn/demop
sdfasdfsadf
class aa():
self=dd
return