1 #############################################################################
2 # Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
11 class rubbos_httpd::rubbos_httpd_on {
13 include params::rubbos_params
14 require rubbos_common::rubbos_common_on
16 # Declare some variables
17 $rubbos_app_tools = $params::rubbos_params::rubbos_app_tools
19 # Prepare apache2 directory
20 exec {'mkdir ${rubbos_app_tools}/apache2':
21 command => "mkdir -p ${rubbos_app_tools}/apache2",
22 creates => "${rubbos_app_tools}/apache2",
23 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
27 file {'${rubbos_app_tools}/httpd-2.0.64.tar.gz':
29 path => "${rubbos_app_tools}/httpd-2.0.64.tar.gz",
30 source => "puppet:///modules/rubbos_httpd/httpd-2.0.64.tar.gz",
34 exec {'tar xzvf ${rubbos_app_tools}/httpd-2.0.64.tar.gz':
35 cwd => "${rubbos_app_tools}",
36 command => "tar xzvf ${rubbos_app_tools}/httpd-2.0.64.tar.gz",
37 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
38 require => File['${rubbos_app_tools}/httpd-2.0.64.tar.gz'],
41 file {'${rubbos_app_tools}/tomcat-connectors-1.2.32-src.tar.gz':
43 path => "${rubbos_app_tools}/tomcat-connectors-1.2.32-src.tar.gz",
44 source => "puppet:///modules/rubbos_httpd/tomcat-connectors-1.2.32-src.tar.gz",
48 exec {'tar xzvf ${rubbos_app_tools}/tomcat-connectors-1.2.32-src.tar.gz':
49 cwd => "${rubbos_app_tools}",
50 command => "tar xzvf ${rubbos_app_tools}/tomcat-connectors-1.2.32-src.tar.gz",
51 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
52 require => File['${rubbos_app_tools}/tomcat-connectors-1.2.32-src.tar.gz'],
59 before => User['apache'],
68 # Install apache http server
69 exec {'${rubbos_app_tools}/httpd-2.0.64/configure':
70 cwd => "${rubbos_app_tools}/httpd-2.0.64",
71 command => "${rubbos_app_tools}/httpd-2.0.64/configure --prefix=${rubbos_app_tools}/apache2 --enable-module=so --enable-so --with-mpm=worker",
72 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
74 Exec['tar xzvf ${rubbos_app_tools}/httpd-2.0.64.tar.gz'],
76 Exec['mkdir ${rubbos_app_tools}/apache2']],
80 cwd => "${rubbos_app_tools}/httpd-2.0.64",
82 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
83 require => Exec['${rubbos_app_tools}/httpd-2.0.64/configure'],
86 exec {'make install httpd':
87 cwd => "${rubbos_app_tools}/httpd-2.0.64",
88 command => "make install",
89 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
90 require => Exec['make httpd'],
94 exec {'${rubbos_app_tools}/tomcat-connectors-1.2.32-src/native/configure':
95 cwd => "${rubbos_app_tools}/tomcat-connectors-1.2.32-src/native",
96 command => "${rubbos_app_tools}/tomcat-connectors-1.2.32-src/native/configure --with-apxs=${rubbos_app_tools}/apache2/bin/apxs --enable-jni --with-java-home=${rubbos_app_tools}/jdk1.6.0_27",
97 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
98 require => Exec['make install httpd'],
102 cwd => "${rubbos_app_tools}/tomcat-connectors-1.2.32-src/native",
104 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
105 require => Exec['${rubbos_app_tools}/tomcat-connectors-1.2.32-src/native/configure'],
108 exec {'make install mod jk':
109 cwd => "${rubbos_app_tools}/tomcat-connectors-1.2.32-src/native",
110 command => "make install",
111 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
112 require => Exec['make mod jk'],
115 # Config apache http server
116 file {'${rubbos_app_tools}/apache2/conf/httpd.conf':
118 path => "${rubbos_app_tools}/apache2/conf/httpd.conf",
119 source => "puppet:///modules/rubbos_httpd/apache_conf/httpd.conf",
121 require => Exec['make install mod jk'],
124 file {'${rubbos_app_tools}/apache2/conf/workers.properties':
126 path => "${rubbos_app_tools}/apache2/conf/workers.properties",
127 source => "puppet:///modules/rubbos_httpd/apache_conf/workers.properties",
129 require => Exec['make install mod jk'],
132 file {'${rubbos_app_tools}/apache2/htdocs/rubbos':
134 path => "${rubbos_app_tools}/apache2/htdocs/rubbos",
136 source => "puppet:///modules/rubbos_httpd/apache_files/rubbos_html",
138 require => Exec['make install mod jk'],
141 # Ensure apache2 service is running
142 service {'apache http server':
145 status => "ps aux | grep 'bin/httpd.*start$'",
146 start => "${rubbos_app_tools}/apache2/bin/apachectl -f ${rubbos_app_tools}/apache2/conf/httpd.conf -k start",
147 stop => "${rubbos_app_tools}/apache2/bin/apachectl -f ${rubbos_app_tools}/apache2/conf/httpd.conf -k stop",
148 require => File['${rubbos_app_tools}/apache2/htdocs/rubbos'],