利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(二)(网内首发超详细版)
2014-05-13 15:17
1121 查看
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.4.2 部署认证
通常系统已默认安装openssl,并且与之依赖的包很多,可不卸载直接编译安装;或就用系统默认版本创建ssl所需要的证书
这里所有的文件都是创建在/usr/local/apache2/conf目录中,按照默认httpd-ssl.conf中认证文件设置路径
创建key文件:
openssl genrsa -des3 -out server.key 1024 |
查看创建的key文件:(不是必须)
openssl rsa -noout -text -in server.key |
openssl rsa -in server.key -out server.key.unsecure |
openssl req -new -key server.key -out server.csr |
创建crt文件:
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt |
2.4.3修改apache的ssl配置文件
修改httpd.conf
在文件中找到下面一行,把注释去掉
#Include conf/extra/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站点的,如果你希望只有认证的用户才能访问的话,请继续2.4.4的配置!
2.4.4 创建认证客户所需要的证书
创建用户的key文件:
openssl genrsa -des3 -out client.key 1024 |
openssl req -new -x509 -days 3650 -key client.key -out client.crt |
创建访问用户的csr文件:
openssl req -new -out pony.csr |
openssl x509 -req -in pony.csr -out pony.crt -signkey client.key -CA client.crt -CAkey client.key -CAcreateserial -days 3650 |
openssl pkcs12 -export -in pony.crt -inkey client.key -out pony.pfx |
修改ssl配置文件:
在httpd-ssl.conf文件中找到SSLCACertificateFile的配置,然后修改文件路径为client.crt
把以下两行注释去掉:
SSLVerifyClient require SSLVerifyDepth 10 |
注:以上并未做实际测试,只供参考。
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 |
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 |
接下来,直接来到/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 |
我们再来看看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 |
[/]表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/data/svndata,[/]就是表示对全部版本库设置权限。[apps:/]表示fengwang版本库设置权限,[aizhouyou:/]表示aizhouyou版本库设置权限,@admin=rw表示admin组的所有用户,都有读写权限继续阅读请查看第三部分:http://auskangaroo.blog.51cto.com/740826/1410549
相关文章推荐
- 利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(四)(网内首发超详细版)
- 利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(三)(网内首发超详细版)
- 利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(一)(网内首发超详细版)
- 利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(五)(网内首发超详细版)
- svn + jenkins + maven 实现java环境的自动化构建和部署
- svn + jenkins + maven 实现java环境的自动化构建和部署
- svn + jenkins + maven 实现java环境的自动化构建和部署
- jenkins+tomcat+maven+svn实现自动化构建部署
- Linux平台搭建Jenkins+Maven+Shell实现自动化构建部署
- SVN + Maven + jenkins 实现自动化构建
- jenkins+mawen+svn实现自动化构建部署
- 记录一下selenium+maven+svn+jenkins+junit构建无人值守的自动化测试环境
- Linux平台搭建Jenkins+Maven+Shell实现自动化构建部署
- Java开发流程自动化(svn+maven+nexus+jenkins) --自动编译,持续集成,测试,打包,发布/部署
- selenium+maven+svn+jenkins+junit构建无人值守的自动化测试环境
- Jenkins+SVN+Maven自动化部署环境搭建
- Jenkins+SVN+Maven 自动化部署环境搭建
- Linux平台搭建Jenkins+Maven+Shell实现自动化构建部署
- SVN + Maven + jenkins 实现自动化构建(二)
- [原]Linux环境-Jenkins实战-分布式构建-自动化持续集成-自动化部署-gitlab-svn-shell启动tomcat