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",
33 exec {'tar xzvf ${rubbos_app_tools}/httpd-2.0.64.tar.gz':
34 cwd => "${rubbos_app_tools}",
35 command => "tar xzvf ${rubbos_app_tools}/httpd-2.0.64.tar.gz",
36 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
37 subscribe => 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",
47 exec {'tar xzvf ${rubbos_app_tools}/tomcat-connectors-1.2.32-src.tar.gz':
48 cwd => "${rubbos_app_tools}",
49 command => "tar xzvf ${rubbos_app_tools}/tomcat-connectors-1.2.32-src.tar.gz",
50 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
51 subscribe => File['${rubbos_app_tools}/tomcat-connectors-1.2.32-src.tar.gz'],
59 before => User['apache'],
66 before => Exec['${rubbos_app_tools}/httpd-2.0.64/configure'],
69 # Install apache http server
70 exec {'${rubbos_app_tools}/httpd-2.0.64/configure':
71 cwd => "${rubbos_app_tools}/httpd-2.0.64",
72 command => "${rubbos_app_tools}/httpd-2.0.64/configure --prefix=${rubbos_app_tools}/apache2 --enable-module=so --enable-so --with-mpm=worker",
73 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
74 subscribe => Exec['tar xzvf ${rubbos_app_tools}/httpd-2.0.64.tar.gz'],
79 cwd => "${rubbos_app_tools}/httpd-2.0.64",
81 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
82 subscribe => 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 subscribe => Exec['make httpd'],
95 exec {'${rubbos_app_tools}/tomcat-connectors-1.2.32-src/native/configure':
96 cwd => "${rubbos_app_tools}/tomcat-connectors-1.2.32-src/native",
97 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",
98 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
100 Exec['tar xzvf ${rubbos_app_tools}/tomcat-connectors-1.2.32-src.tar.gz'],
101 Exec['make install httpd']],
106 cwd => "${rubbos_app_tools}/tomcat-connectors-1.2.32-src/native",
108 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
109 subscribe => Exec['${rubbos_app_tools}/tomcat-connectors-1.2.32-src/native/configure'],
113 exec {'make install mod jk':
114 cwd => "${rubbos_app_tools}/tomcat-connectors-1.2.32-src/native",
115 command => "make install",
116 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
117 subscribe => Exec['make mod jk'],
121 # Config apache http server
122 file {'${rubbos_app_tools}/apache2/conf/httpd.conf':
124 path => "${rubbos_app_tools}/apache2/conf/httpd.conf",
125 source => "puppet:///modules/rubbos_httpd/apache_conf/httpd.conf",
127 subscribe => [Exec['make install httpd'],Exec['make install mod jk']],
130 file {'${rubbos_app_tools}/apache2/conf/workers.properties':
132 path => "${rubbos_app_tools}/apache2/conf/workers.properties",
133 source => "puppet:///modules/rubbos_httpd/apache_conf/workers.properties",
134 show_diff => present,
135 subscribe => [Exec['make install httpd'],Exec['make install mod jk']],
138 file {'${rubbos_app_tools}/apache2/htdocs/rubbos':
140 path => "${rubbos_app_tools}/apache2/htdocs/rubbos",
142 source => "puppet:///modules/rubbos_httpd/apache_files/rubbos_html",
144 subscribe => [Exec['make install httpd'],Exec['make install mod jk']],
147 # Ensure apache2 service is running
148 service {'apache http server':
151 status => "ps aux | grep 'bin/httpd.*start$'",
152 start => "${rubbos_app_tools}/apache2/bin/apachectl -f ${rubbos_app_tools}/apache2/conf/httpd.conf -k start",
153 stop => "${rubbos_app_tools}/apache2/bin/apachectl -f ${rubbos_app_tools}/apache2/conf/httpd.conf -k stop",
155 File['${rubbos_app_tools}/apache2/conf/httpd.conf'],
156 File['${rubbos_app_tools}/apache2/conf/workers.properties']],