利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(二)(网内首发超详细版)

2.4 ssl方式部署apache

2.4.1安装apache


./configure --prefix=/usr/local/apache2 --enable-dav --enable-ssl--enable-so --enable-mods-shared=all

make && make install

2.4.2安装svn


安装apr-1.4.6.tar.gz、apr-util-1.5.1.tar.gz、neon-0.29.6.tar.gz同2.2章节部分

unzip sqlite-amalgamation-3071502.zip

tar -xzvf subversion-1.7.8.tar.gz

mv sqlite-amalgamation-3071502 ./subversion-1.7.8/sqlite-amalgamation

cd subversion-1.7.8

./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --without-berkeley-db --with-ssl

make && make install

注:环境变量等配置参考2.2章节部分

2.4.2 部署认证

通常系统已默认安装openssl,并且与之依赖的包很多,可不卸载直接编译安装;或就用系统默认版本
创建ssl所需要的证书
这里所有的文件都是创建在/usr/local/apache2/conf目录中,按照默认httpd-ssl.conf中认证文件设置路径
创建key文件:


openssl genrsa -des3 -out server.key 1024

执行完后应该在当前目录中有一个server.key文件
查看创建的key文件:(不是必须)


openssl rsa -noout -text -in server.key

创建pem文件:(不是必须)


openssl rsa -in server.key -out server.key.unsecure

创建scr文件:


openssl req -new -key server.key -out server.csr

执行完后应该在当前目录中有一个server.csr文件
创建crt文件:


openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

执行完后应该在当前目录中有一个server.crt文件
2.4.3修改apache的ssl配置文件
修改httpd.conf
在文件中找到下面一行,把注释去掉


#Include conf/extra/httpd-ssl.conf

修改httpd-ssl.conf
在extra目录中,修改ssl的配置文件
找到SSLCertificateFile和SSLCertificateKeyFile的配置,修改文件路径到上面创建的目录,

启动apache


# /usr/local/apache2/bin/httpd -k restart

httpd not running, trying to start

Apache/2.2.19 mod_ssl/2.2.19 (Pass Phrase Dialog)

Some of your private key files are encrypted for security reasons.

In order to read them you have to provide the pass phrases.

Server www.example.com:443 (RSA)

Enter pass phrase:

OK: Pass Phrase Dialog successful.

注意:这时应该要求你回答证书密钥,回答后即可启动,打开浏览器测试,这时候应该能以https访问你的站点了。
但这时,是所有的用户都可以访问你的https站点的,如果你希望只有认证的用户才能访问的话,请继续2.4.4的配置!
2.4.4 创建认证客户所需要的证书
创建用户的key文件:


openssl genrsa -des3 -out client.key 1024

创建用户的crt证书文件:


openssl req -new -x509 -days 3650 -key client.key -out client.crt

修改SSLCACertificateFile的文件路径
创建访问用户的csr文件:


openssl req -new -out pony.csr

创建访问用户的crt证书文件:


openssl x509 -req -in pony.csr -out pony.crt -signkey client.key -CA client.crt -CAkey client.key -CAcreateserial -days 3650

导出为pfx证书:(ie中只能导入pfx证书)


openssl pkcs12 -export -in pony.crt -inkey client.key -out pony.pfx

在你的测试机的ie中导入这个pfx证书
修改ssl配置文件:
在httpd-ssl.conf文件中找到SSLCACertificateFile的配置,然后修改文件路径为client.crt
把以下两行注释去掉:


SSLVerifyClient require
SSLVerifyDepth 10

重新启动apache,再次访问apache的时候,ie就会弹出窗口选择证书了。

注:以上并未做实际测试,只供参考。

3 Linux下svn独立服务器方式部署

3.1安装SVN


tar -xzvf apr-1.4.6.tar.gz

cd apr-1.4.6

./configure --prefix=/usr/local/apr

make && make install

cd ..

tar -xzvf apr-util-1.5.1.tar.gz

cd apr-util-1.5.1

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

make && make install

echo "/usr/local/apr/lib/" >> /etc/ld.so.conf

Ldconfig

cd ..

tar -xzvf neon-0.29.6.tar.gz

cd neon-0.29.6

./configure --prefix=/usr/local/neon

make && make install

echo "/usr/local/neon/lib" >> /etc/ld.so.conf

ldconfig

cd ..

unzip sqlite-amalgamation-3071502.zip

tar -xzvf subversion-1.7.8.tar.gz

mv sqlite-amalgamation-3071502 ./subversion-1.7.8/sqlite-amalgamation

cd subversion-1.7.8

./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --without-berkeley-db --with-ssl

make && make install

cd ..

cat >> /etc/profile <<EOF

PATH=$PATH:/usr/local/svn/bin/;export PATH

EOF

检测版本是否安装正确


#/usr/local/svn/bin/svnserve --version

3.2 配置环境

创建版本库存放目录


mkdir -p /data/svndata/

创建版本库


svnadmin create /data/svndata/apps

svnadmin create /data/svndata/aizhouyou

设置访问权限


groupadd svn

useradd -g svn -s /sbin/nologin svn

chown -R svn:svn /data/svndata (设置访问权限)

分别修改配置文件,多版本库环境下

例1:apps版本库


vim/data/svndata/apps/conf/svnserve.conf

[general]

anon-access = none

auth-access = write

password-db = /usr/local/svn/conf/passwd.conf

authz-db = /usr/local/svn/conf/authz.conf

realm =apps

例2:aizhouyou版本库


vim/data/svndata/aizhouyou/conf/svnserve.conf

[general]

anon-access = none

auth-access = write

password-db = /usr/local/svn/conf/passwd.conf

authz-db = /usr/local/svn/conf/authz.conf

realm =aizhouyou

注意:此信息中,包含了一些权限设置,以及SVN的用户名、密码验证配置相关信息。这里为了方便使用,我将password-db和authz-db都统一放到了svn里面,这样,让多个版本库可以共享同样的密码和验证信息。

接下来,直接来到/usr/local/svn,建立conf目录,并建立passwd.conf和authz.conf文件统一管理。


mkdir -p/usr/local/svn/conf

vim/usr/local/svn/conf/passwd.conf

[users]

#username = password

#username2 = password2

test = 123456

diaohongyong = 123456

chengxiaochao = 123456

zhengyongli = 123456

zhangran = 123456

xiaoyali = 12345

比较好理解, 除了个users标签,后面的每一行,对应访问SVN的用户名和密码,中间以等号隔开,保存后,直接退出。

我们再来看看authz.conf文件:


[groups]

#admin = username, username2

admin = diaohongyong,chengxiaochao

developers=diaohongyong,zhengyongli,zhangran,xiaoyali

[/]

@admin = rw

[apps:/]

@admin = rw

@developers =rw

test = rw

[aizhouyou:/]

@admin = rw

xiaoyali = rw

groups表示用户组,这里把username,username2都设置到一个叫admin的组里面。

[/]表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/data/svndata,[/]就是表示对全部版本库设置权限。[apps:/]表示fengwang版本库设置权限,[aizhouyou:/]表示aizhouyou版本库设置权限,@admin=rw表示admin组的所有用户,都有读写权限

继续阅读请查看第三部分:http://auskangaroo.blog.51cto.com/740826/1410549

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(二)(网内首发超详细版)

时间: 2024-08-01 19:19:53

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(二)(网内首发超详细版)的相关文章

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(四)(网内首发超详细版)

6安装maven 下载地址:http://maven.apache.org/download.cgi 解压安装 unzip –o apache-maven-3.2.1-bin.zip mv apache-maven-3.2.1 maven 配置环境变量 MAVEN_HOME=/usr/local/maven export PATH=$MAVEN_HOME/bin:$PATH 7 java环境自动构建部署 7.1 新建job 输入名称如下图 输入SVN服务器地址 注意:上面已经认证过了,因此没有报

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(一)(网内首发超详细版)

目录结构如下: 目录 1说明及环境介绍3 1.1说明3 1.2环境准备及格式约定4 2 Linux下apache搭建svn服务器4 2.1 apache安装部署4 2.2 svn安装部署5 2.3整合svn和apache6 2.4 ssl方式部署apache7 2.4.1安装apache7 2.4.2安装svn7 2.4.2 部署认证8 3 Linux下svn独立服务器方式部署9 3.1安装SVN9 3.2 配置环境10 3.3 权限配置样例11 3.4 启动SVN服务器12 3.5 访问方式1

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(三)(网内首发超详细版)

3.3 权限配置样例 注意: * 权限配置文件中出现的用户名必须已在用户配置文件中定义. * 对权限配置文件的修改立即生效,不必重启svn. 用户组格式: [groups] = , 其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔. 版本库目录格式: [<版本库>:/项目/目录] @<用户组名> = <权限> <用户名> = <权限> 其中,方框号内部分可以有多种写法: [/],表示根目录及以下,根目录是svnserve启动时指定的,我们

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(五)(网内首发超详细版)

8 Subversion FAQ 8.1 官方FAQ网址 http://subversion.apache.org/faq.zh.html 8.2 svn遇到错误总结 8.2.1 svn不显示日志 解决办法:1)找到你SVN版本库下conf文件夹下的svnserve.conf文件2)打开svnserve.conf文件,将其中名为anon-access的一项设置为anon-access=none. 这样的话,日志文件即可显示正常. 8.2.2 版本冲突问题 svn update --usernam

svn + jenkins + maven 实现java环境的自动化构建和部署

1. 环境说明: 系统CentOS 7 x64 IP:  10.6.0.126 1.1 首先安装配置 svn Centos 7  通过yum 安装svn 既可, 版本为1.7.14 # yum -y install subversion 安装完毕以后查看版本信息 # svnserve --version 添加svn运行用户 groupadd svn useradd -g svn -s /sbin/nologin svn 添加svn版本库目录,并授权svn用户权限 mkdir -p /opt/sv

Jenkins+Maven进行Java项目持续集成

最近配置了Jenkins服务器,记录下基本过程.(当然还遇到了若干小问题,兵来将挡水来土掩就是了) Jenkins安装 安装Tomcat 从Jenkins官网下载jenkins.war文件.官网地址:http://jenkins-ci.org/,注意选择最新版本的Long-Term Support Release 把war文件部署到Tomcat中 启动Tomcat 在浏览器中配置Jenkins,浏览器地址:http://{Tomcat IP}:{Tomcat port}/jenkins/ Jen

Jenkins+Maven+Github+Tomcat+shell实现自动化集成发布

Jenkins+Maven+Github+Tomcat+shell实现自动化集成发布在做这个工作得时候我查了很多网上资料,比较杂乱,最终在一名叫ianjinsong作者得文章中获得启发,还是要感谢这位仁兄!一.环境准备:Jenkins+Tomcat服务器:106.12.93.190(百度云主机,测试Jenkins使用)Tomcat服务器:118.24.137.86 (腾讯云主机,测试发布ZrLog项目专用)Github服务器:https://github.com/longyueyang/test

边缘化搭建DotNet Core 2.1 自动化构建和部署环境(上)

写在前面 写这篇文章的缘由是由于笔者的对新兴技术方向有所追求,但个人资产有限,只能容许购买一台阿里云低配1核2G服务器.服务器上搭建了 Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自动化发布和部署 环境后牺牲了大部分性能.造成了一个基于angular编写的前端应用无法自动构建,构建时一直出错,通过错误信息各种搜索并无任何结果.经过反反复复的的试验,用一台1核1G的Debain虚拟机去手动构建并成功,最后经过排查,确定是因为基于Java

Apache Tomcat下载、安装、环境变量配置以及项目部署

前言 针对在本地访问文件或资源出现的跨域问题,可以通过搭建本地服务器来解决,本篇随笔主要介绍通过搭建Apache Tomcat服务器来解决跨域.包括Apache Tomcat的下载.安装.环境变量的配置以及项目部署等. 具体内容 一.Apache Tomcat的下载 Apache Tomcat下载网址:https://tomcat.apache.org/ 选择下载版本,现在最新的版本是Tomcat 9.0.27.这里下载最新版本,单击"Download",进入到下载页面,如下图所示: