centos subversion apache https

yum install httpd mod_dav_svn subversion mod_ssl openssl openldap

# mkdir /home/svn

[root@localhost ~]# svnadmin create /home/svn/project1

[root@localhost ~]# svnadmin create /home/svn/project2

[root@localhost ~]# cd /home/svn

[root@localhost svn]# ll

总用量 0

drwxr-xr-x. 6 root root 80 6月  27 20:11 project1

drwxr-xr-x. 6 root root 80 6月  27 20:11 project2

[root@localhost svn]# cp project1/conf/authz ./

[root@localhost svn]# vim authz

配置权限

[/]

admin = rw

[project1:/]

user1 = rw

[project2:/]

user2 = rw

修改svnserve.conf

[root@localhost svn]# vim project1/conf/svnserve.conf

在general加入如下两行

[general]

anon-access = none

auth-access = write

拷贝此文件到project2

生成密码文件

[root@localhost svn]# htpasswd -cm passwd admin

目录权限更改

[root@localhost svn]# chown -R apache.apache /home/svn

apache配置

1、http.conf

[root@localhost svn]# vim /etc/httpd/conf/httpd.conf

在底部增加如下配置

ServerName localhost:80

LoadModule dav_svn_module     modules/mod_dav_svn.so

LoadModule authz_svn_module   modules/mod_authz_svn.so

<Location /project1>

      DAV svn

      SVNPath /home/svn/project1

      SSLRequireSSL

      AuthType Basic

      AuthName "Subversion for project1"

      AuthUserFile /home/svn/passwd

      AuthzSVNAccessFile /home/svn/authz

      Satisfy all

      Require valid-user

</Location>

<Location /project2>

      DAV svn

      SVNPath /home/svn/project2

      SSLRequireSSL

      AuthType Basic

      AuthName "Subversion for project2"

      AuthUserFile /home/svn/passwd

      AuthzSVNAccessFile /home/svn/authz

      Satisfy all

      Require valid-user

</Location>

2、配置https访问

生成私钥

[root@localhost svn]# cd /etc/httpd/conf

[root@localhost conf]# openssl genrsa -out httpd.key 1024

用前面生成的私钥生成证书

[root@localhost conf]# openssl req -new -key httpd.key -out httpd.pem -days 3650 -x509

修改Apache的SSL配置文件

[root@localhost conf.d]# vim /etc/httpd/conf.d/ssl.conf

注释如下2个字段

在底部添加三行

ServerName localhost:443

SSLCertificateFile /etc/httpd/conf/httpd.pem

SSLCertificateKeyFile /etc/httpd/conf/httpd.key

[root@localhost conf.d]# lsof -i:80

或者

[root@localhost conf.d]# netstat -apn|grep 80

查看端口80 占用情况

关闭gitlab服务

重启httpd服务

[root@localhost conf.d]# systemctl restart httpd

查看日志

[root@localhost conf.d]# tail -f /etc/httpd/logs/ssl_error_log

浏览器打开 https://172.30.68.227

若apache服务启动正常,会显示如下测试页面

访问project1 输入admin

错误提示

查看日志

修改passwd权限

重启服务后,查看日志

仍然报错,关掉selinux即可

[root@localhost ~]# vim /etc/sysconfig/selinux

重启服务器

猜你喜欢

转载自my.oschina.net/u/3457287/blog/1036751