Ubuntu架设HTTP方式访问的SVN服务器以及war文件上传自动部署
本文详细讲述了在Ubuntu上通过SVN进行业务部署。由于使用Apache服务模块的的实现和使用不同,本文的方案仅适用于ubuntu,如在其他环境下,请酌情部署。
本文介绍在代码提交时通过http访问SVN服务器,使用Mysql进行用户验证,并在提交完成后自动部署至服务器中。
主要步骤如下:
1、 安装Apache和Mysql:
执行
- $ sudo apt-get install apache2 mysql-server
- $ sudo /etc/init.d/apache2 start
2、 安装subversion及对应Apache的服务器模块和MySQL用户认证管理模块:
- $ sudo apt-get install subversion libapache2-svnlibapache2-mod-auth-mysql
- $ sudo a2enmod auth_mysql
可以将所有的版本库放置在一个目录下,如/var/www/svn,可以自定义。
- $ sudo mkdir /var/www/svn
然后可以创建两个版本库,如/var/www/svn/repos、/var/www/svn/repos1。
先创建两个文件夹
- $ sudo mkdir /var/www/svn/repos
- $ sudo mkdir /var/www/svn/repos1
然后再执行svnadmin命令创建两个仓库,注意使用--fs-type来指定创建fsfs版本库,默认情况下是创建Berkeley DB版本库
- $ sudo svnadmin create /var/www/svn/repos --fs-type fsfs
- $ sudo svnadmin create /var/www/svn/repos1 --fs-type fsfs
- $ sudo chown -Rwww-data /home/www/svn/repos
- $ sudo chown -Rwww-data /home/www/svn/repos1
4、 创建用户验证数据库
创建进行用户验证的数据库
- $ mysql -u root -p
- #创建一个数据库,用于进行用户验证
- mysql> CREATE DATEBASE svn;
- #使用该数据库
- mysql> USE svn;
- #创建一个用户表,包含name,password和groups这三列,且名字为主键
- mysql> CREATE TABLE user (
- name char(30) NOT NULL COMMENT '用户名',
- passwd char(32) NOT NULL COMMENT '密码',
- groups varchar(32) NOT NULL COMMENT ‘群组’,
- PRIMARY KEY (name) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- mysql> INSERT INTO user VALUE ('admin', MD5('admin'),’admin’);
- mysql> INSERT INTO user VALUE ('test', MD5('test'),’test’);
需注意以下几点:
密码域一定要足够宽,本文将使用MD5密码(32字节),如果使用SHA1,则需要40字节。
必须设置groups字段,可以默认为其用户名,这样可以保证当使用mysql进行用户验证时,可以在apache的配置文件中指定群组,只有特定群组的人才能够访问该代码库,防止其他用户访问。
相关推荐
ECSHOP专属建设 2020-11-13
xzjforDream 2020-09-23
fenggit 2020-09-15
起点 2020-08-17
leehbhs 2020-07-26
leehbhs 2020-07-04
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf
起点 2020-06-28
leehbhs 2020-06-20
dingqinghu 2020-06-16
dengweijunkedafu 2020-06-09
nebulali 2020-05-27
起点 2020-05-10
起点 2020-05-05
83520298 2020-05-04