前面的文章有写过svn版本管理工具的安装是基于svn的安装包进行安装,对于svn与apache的结合还得下svn和apache的模块进行结合过程比较繁琐,今天来介绍下通过centos的yum来安装svn能够快速安装svn,安装过程大致分成4个部分:1、svn的安装和版本库的建立,2、apache的安装和配置,3、svnmanager的安装和配置 4、mysql的安装。如果不需要安装svnmanager进行管理svn只需要安装1和2过程即可。let's do it...
一、svn的安装和版本库的建立
1、安装软件
yum install subversion mysql-server httpd mod_dav_svn mod_perl sendmail wget gcc-c++ make unzip perl* ntsysv vim-enhanced httpd php php-mysql php-pear php-mbstring
2、创建svn仓库和修改配置
mkdir /home/svn
svnadmin create /home/svn/project
修改svnserve.conf、authz、passwd文件如下:
vi /home/svn/project/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /home/svn/project/conf/passwd
authz-db = /home/svn/project/conf/authz
vi /home/svn/project/conf/authz
[groups]
[project:/]
zhangyaowen = rw
vi /home/svn/project/conf/passwd
[users]
zhangyaowen=zhangyaowen
配置完毕可以启动测试svn安装是否成功
启动svn:svnserve -d -r /home/svn
ps -aux|grep svnserve
关闭 kill -9 ID号
访问地址:
http://172.30.11.46/project
二、配置apache
修改/etc/httpd/conf.d/php.conf
#add by wen
<Location /svn>
DAV svn
SVNPath /home/svn/
AuthType Basic
AuthName "svn for project"
AuthUserFile /home/svn/project/conf/httpPwd
AuthzSVNAccessFile /home/svn/project/conf/authz
Satisfy all
Require valid-user
</Location>
修改/home/svn目录所属用户和所属组
创建文件 touch /home/svn/project/conf/httpPwd
chown -R apache:apache /home/svn
启动apache并验证svn
service httpd start
http://172.30.11.46/project
通过http命令添加用户名和密码:htpasswd /home/svn/project/conf/httpPwd zhangyaowen 然后在输入一次密码zhangyaowen即可
三、安装和配置svnmanager
下载svnmanager解压并放置到/var/www/html/下
配置/etc/httpd/conf/httpd.conf
#add by zhangyaowen svnmanager
<Directory "/var/www/html/svnmanager/">
AllowOverride None
Order deny,allow
Deny from all
Allow from all
</Directory>
四、 创建svnmanager database
1、修改配置,如果不需要修改可以忽略此步骤:
使用的mysql数据库 如果不用修改mysql的数据保存目录直接启动创建svnmanager用户和密码即可如果有需要修改mysql的my.cnf目录可以做一下配置:
datadir=/app/mysql
socket=/app/mysql/mysql.sock
[mysqld]
datadir=/app/mysql
socket=/app/mysql/mysql.sock
[mysql]
socket=/app/mysql/mysql.sock
[client]
socket=/app/mysql/mysql.sock
[mysqldump]
socket=/app/mysql/mysql.sock
[mysqladmin]
socket=/app/mysql/mysql.sock
其中socket等于的路径就是socket文件的位置,我们只要修改my.cnf文件,告诉mysql,mysqldump,mysqladmin等mysql服务的socket位置在哪里就可以。在/etc/my.cnf文件中添加如下内容,并重启mysqls服务,即可解决mysql,mysqldump,mysqladmin的“Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'”问题。如果我们是通过php去链接mysql所以还需要修改/etc/php.ini连接配置svnmanager用的是mysqli进行连接mysql所以修改如下:
vi /etc/php.ini,找到mysqli.default_socket = ""这一行修改为mysqli.default_socket = "/app/mysql/mysql.sock"
2、启动数据库
service mysqld restart
mysqladmin -u root password 123456 创建用户初始化密码
mysql -uroot -p 123456 登录mysql
创建数据库
mysql -uroot -p
执行
create database svn;
grant all on svn.* to svnmanager@localhost identified by "svnmanager123456";
flush privileges;
quit;
3、修改php配置:
vim /var/www/html/svnmanager/config.php
$htpassword_cmd = "/usr/bin/htpasswd";
$svn_cmd = "/usr/bin/svn";
$svnadmin_cmd = "/usr/bin/svnadmin";
//Subversion locations
$svn_config_dir = "/home/svn/project/conf";
$svn_repos_loc = "/home/svn";
$svn_passwd_file = "/home/svn/project/conf/httpPwd";
$svn_access_file = "/home/svn/project/conf/authz";
$svn_trash_loc = "/app/trash";
$svnserve_user_file="";
$smtp_server = "smtp.126.com";
$dsn = "mysqli://svnmanager:svnmanager123456@localhost/svn";
$admin_name = "admin";
$admin_temp_password = "admin";
重启apache service httpd restart
访问:http://172.30.11.46/svnmanager,首次登陆用户名密码为admin
http://172.30.11.46/svn/project
参考:https://note.youdao.com/share/?id=0d013f5bc29ca0f63c1c14a3b86ce661&type=note#/
© 著作权归作者所有
举报
打赏
0 赞
1 收藏
分享
加载中

其他人还在看
2020年是极不平凡的一年,尽管外部环境不断变化,但越来越多的企业将开源技术作为构建信息系统的重要选择。其中也不乏一些以技术立业的创业企业,而像华为、阿里巴巴、腾讯、百度为代表的知名科技企业,早已拥抱开...
负载均衡和缓存功能是 Nginx 最常用的两个功能,这两个功能都属于高性能的调优手段,也和后端人员的关系比较密切,只有了解并会使用它们才能更好地调试和运行自己的项目。针对Nginx 负载均衡模式先前有整理过:N...
本文原题“程序员应如何理解高并发中的协程”,转载请联系作者。 1、系列文章引言 1.1 文章目的 作为即时通讯技术的开发者来说,高性能、高并发相关的技术概念早就了然与胸,什么线程池、零拷贝、多路复用、事件驱...
鸿蒙内核源码注释中文版 < Gitee仓 | CSDN仓 | Github仓 | Coding仓 >精读内核源码,中文注解分析,深挖地基工程,构建底层网图,四大码仓每日同步更新 鸿蒙源码分析系列篇 < CSDN | OSCHINA | WeHarmony | 公众号 >问...
还在单体应用的时候就是分层架构一说,我们用得最多的就是三层架构。而现在已经是微服务时代,在微服务架构模型比较常用的有几个,例如:整洁架构,CQRS(命令查询分离)以及六边形架构。每种架构模型都有自己的应...
之前遇到对List进行遍历删除的时候,出现来一个ConcurrentModificationException 异常,可能好多人都知道list遍历不能直接进行删除操作,但是你可能只是跟我一样知道结果,但是不知道为什么不能删除,或者说这个报...
作用域是JS中一个很基础但是很重要的概念,面试中也经常出现,本文会详细深入的讲解这个概念及其他相关的概念,包括声明提升,块级作用域,作用域链及作用域链延长等问题。 什么是作用域 第一个问题就是我们要弄清...
在过去的一年多,由于工作的原因我接触 Kafka 比较多,在工作的过程中,总结了很多关于 Kafka 的知识并将它们沉淀为一篇篇文章,包括 Kafka 核心知识点的讲解,工作中遇到的问题排查分析与性能调优相关,仔细看了...
你好,我是A哥(YourBatman)。 本系列的目的是明明白白、彻彻底底的搞定日期/时间处理的几乎所有case。上篇文章 铺设所有涉及到的概念解释,例如GMT、UTC、夏令时、时间戳等等,若你还没看过,不仅强烈建议而是强制...
前言 TKEx-CSIG 是基于腾讯公有云 TKE 和 EKS 容器服务开发的内部上云容器服务平台,为解决公司内部容器上云提供云原生平台,以兼容云原生、适配自研业务、开源协同为最大特点。 业务容器上云过程中,会遇到一些问...
选择专区和圈子:{{title}}
{{o.name}}
{{m.name}}