步骤:
- 搭建svn服务
- 使用Apache HTTP服务将svn协议转成http协议
- nginx转发http请求到apache http服务
详细步骤
1.安装必要程序
1 |
yum install httpd subversion mod_dav_svn -y |
2.创建svn库
1 2 3 |
mkdir -p /svn/project svnadmin create /svn/project cd /svn/project/conf/ |
3.增加用户名和密码
1 |
vi passwd |
4.配置用户组和使用权限
1 |
vi authz |
5.配置svnserve.conf
1 2 3 4 5 |
anon-access = none#匿名用户可读 auth-access = write #授权用户可写 password-db = passwd #使用哪个文件作为账号文件 authz-db = authz #使用哪个文件作为权限文件 realm = /svn/project # 认证空间名,版本库所在目录 |
6 .启动svn
1 2 3 |
svnserve -d -r /svn/project # 停止svn:killall svnserve # 如果提示找不到killall:yum install psmisc |
7.设置为自启动
1 |
systemctl enable svnserve |
8.在httpd下创建svn.conf配置文件
1 2 |
cd /etc/httpd/conf.d/ vi svn.conf |
1 2 3 4 5 6 7 8 9 10 |
<Location /svn/project> DAV svn SVNPath /svn/project AuthType Basic AuthName "Authorization Realm" AuthUserFile /svn/project/conf/passwdfile AuthzSVNAccessFile /svn/project/conf/authz Require valid-user SVNAdvertiseV2Protocol Off </Location> |
9.配置http用户名密码认证文件/svn/project/conf/passwdfile
1 2 3 4 5 6 |
# -c表示创建 -m表示密码用md5加密,这里的用户名密码要跟passwd保持一致,需要根据提示输入两次密码 htpasswd -c /data/svn/project/conf/passwdfile user1 #第一次创建无文件时 htpasswd /data/svn/project/conf/passwdfile user2 #用户新增(需要输入密码) htpasswd -b /data/svn/project/conf/passwdfile user2 password 新增不必再次输入密码 #设置svn仓库上传权限,否则无法推送 chown -R apache:apache /data/svn/project |
10.配置/etc/httpd/conf/httpd.conf
1 2 3 4 5 6 7 8 9 10 |
service iptables stop && setenforce 0 vim /etc/httpd/conf/httpd.conf # 这里需要配置Listen和ServerName Listen = 8668 ServerName = 127.0.0.1:8668 #设置文件上传大小 LimitRequestBody 10485760 即10M=10 1024 1024,有的文章中提到应改为 600000000 重新启动apache,就可以在设置里看到你要的大小 |
11.重启httpd服务
1 2 |
systemctl restart httpd # 或httpd -k start/restart |
12.配置nginx
1 |
vim /usr/local/nginx/conf/nginx.conf |
增加 location /svn/project
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
server { listen 80; server_name localhost ; location /svn/project { proxy_pass http://127.0.0.1:86/svn/project; # 上传文件不能超过100m client_max_body_size 100m; } location / { return 404; } } |
13.重启nginx
1 |
nginx -s reload |
14. 可配置多个仓库
1 |
/etc/httpd/conf.d/svn.conf中增加多个Location节点,nginx中增加对应location |
apache配置文件翻版
1 2 3 4 5 6 7 8 9 10 11 12 |
<VirtualHost *:80> ServerAdmin 25458565@qq.com DocumentRoot "/data/wwwroot/htdocs/www.aaa.com" ServerName www.aaa.com ErrorLog "logs/wujuntian.log" CustomLog "logs/wujuntian.log" common <Directory "/data/wwwroot/htdocs/www.aaa.com"> Options Indexes FollowSymLinks MultiViews AllowOverride None Require all granted </Directory> </VirtualHost> |
添加对语言得支持
1 2 3 4 5 6 7 8 9 |
修改/etc/httpd/conf/httpd.conf 文件 末尾添加对PHP的支持及PHP的安装路径 # php7 support LoadModule php_module "D:/software/php/php8apache2_4.dll" AddType application/x-httpd-php .php .html .htm # configure the path to php.ini PHPIniDir "D:/software/php" |
1 2 |
可参考 https://www.cnblogs.com/lucky-man/p/6207851.html https://blog.csdn.net/xiatiancc/article/details/128821024 |
- 本文固定链接: https://www.yoyoask.com/?p=10257
- 转载请注明: shooter 于 SHOOTER 发表