linux下搭建svn+apache+ssl服务器的步骤教程
(一)首先安装svn与ssl模块
yum install httpd mod_dav_svn subversion mod_ssl
验证SVN是否安装成功:svn –version
查看httpd配置文件/etc/httpd/conf/httpd.conf。
如果有以上mod_dav.so和mod_dav_fs.so两个文件的配置,则安装成功。
(二)配置版本库相关文件
1、创建主目录–创建版本库
mkdir -pv /svn/data
2、创建仓库
svnadmin create /svn/data/project
3、更改权限
因为是使用root权限创建的文件,需要赋予apache用户权限,否则apache没有足够权限去操作svn文件,所以要进行如下修改
chmod -R 700 /svn/data/ –修改库的其他人无权限
chown -R apache:apache /svn/data/ –修改库的所属
4、更改apache配置
vim /etc/httpd/httpd.conf/subversion.conf
加入以下内容
DAV svn SVNParentPath "/svn/data" #改为刚创建的svn路径 AuthType Basic AuthName "Subverion Repository" AuthUserFile "/svn/passwd" #改为密码文件路径 AuthzSVNAccessFile "/svn/authz" #改为权限文件路径 Require valid-user #需要验证用户 SSLRequireSSL #默认使用ssl进行连接
5、创建apache账户
通过htpasswd命令创建用户
htpasswd -c /svn/passwd match
htpasswd -c /svn/passwd child
6、 设定SVN权限
vim /svn/auth.conf
加入以下代码:
[groups] admin = match,chlid [/] match= rw [project:/] child= rw
match用户拥有/svn/data/根目录读写权限,而child拥有子目录project库读写权限。
(三) 使用SSL加密
1、生产密钥文件
cd /etc/httpd/conf
openssl genrsa -out httpd.key 1024
openssl req -new -key httpd.key -out httpd.pem -days 3650 -x509
按提示填写玩基本信息
完成后会生成3个证书相关文件
2、 修改apache使ssl生效
vim /etc/httpd/conf.d/ssl.conf
#ssl的监听端口为443 Listen 443 #此处为刚刚创建的crt地址 SSLCertificateFile /opt/key/server.crt #此处为刚刚创建的key地址 SSLCertificateKeyFile /opt/key/server.key
vim /etc/httpd/conf/httpd.conf
#此处端口不使用 #Listen 80
3、最后启动服务:
service httpd start
svnserve -d -r /svn/data/
通过https://服务器的ip地址/svn/project访问。提示下载证书,则证明SSL已经OK。
PS:如果出现405错误,则说明路径地址错误,输入正确的即可。
上一篇: leetcode 690