Skip to content

IBM-CAMHub-Open/cookbook_apache_httpd_multios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

Httpd Cookbook

DESCRIPTION

The Apache HTTP cookbook provides the necessary resources to install and manage Apache HTTP Server

Platforms Support

  • RHEL 6.x
  • RHEL 7.x
  • Ubuntu Server 14.04 or greater

Versions

Apache HTTP Server 2.4

Use Cases

  • Single installation with no configuration.
  • Single installation with SSL and Proxy configuration

Platform Pre-Requisites

  • Linux YUM Repository - An onsite linux YUM Repsoitory is required.

Requirements

Platform:

  • Redhat
  • Ubuntu

Cookbooks:

  • ibm_cloud_utils

Attributes

Attribute Description Default
node['httpd']['conf_file_mode'] OS Permisssions of confguration files 0640
node['httpd']['custom_log'] Name of the custom log, for the standard virtual host. access_log
node['httpd']['custom_log_format'] Directory of log to be configured in HTTP server combined
node['httpd']['data_dir_mode'] OS Permisssions of data folders 0750
node['httpd']['directory_index'] Enable or Disable directory listing index.html info.php
node['httpd']['document_root'] File System Location of the Document Root
node['httpd']['enable_MMAP'] HTTP Server enable_MMAP off
node['httpd']['enable_send_file'] HTTP Server enable_send_file off
node['httpd']['error_log'] Name of the error log, for the standard virtual host. error_log
node['httpd']['hostname_lookups'] HTTP Server hostname_lookups Off
node['httpd']['httpd_home'] Directory of the HTTP Server Process.
node['httpd']['install_dir'] Directory where HTTP Server will be installed
node['httpd']['keep_alive'] HTTP Server TCP Keep alive Off
node['httpd']['keep_alive_timeout'] HTTP Server keep_alive_timeout 15
node['httpd']['listen'] Listening port to be configured in HTTP server 80
node['httpd']['log_dir'] Directory where HTTP Server logs will be sent
node['httpd']['log_level'] Log levels of the http process warn
node['httpd']['max_keep_alive_requests'] HTTP Server max_keep_alive_requests 100
node['httpd']['os_users']['daemon']['comment'] HTTP Server daemon comment HTTP Server daemon user
node['httpd']['os_users']['daemon']['gid'] HTTP Server daemon gid apache
node['httpd']['os_users']['daemon']['home'] HTTP Server daemon home
node['httpd']['os_users']['daemon']['ldap_user'] HTTP Server daemon ldap_user false
node['httpd']['os_users']['daemon']['name'] HTTP Server daemon name apache
node['httpd']['os_users']['daemon']['shell'] HTTP Server daemon shell /sbin/nologin
node['httpd']['os_users']['web_content_owner']['comment'] Comment, describing the User purpose httpd daemon user
node['httpd']['os_users']['web_content_owner']['gid'] Group ID of web content owner to be configured in HTTP server apache
node['httpd']['os_users']['web_content_owner']['home'] Home directory of web content owner to be configured in HTTP server /home/webmaster
node['httpd']['os_users']['web_content_owner']['ldap_user'] Use LDAP to authenticate Web Content Owner account on Linux HTTP server as well as web site logins false
node['httpd']['os_users']['web_content_owner']['name'] User ID of web content owner to be configured in HTTP server webmaster
node['httpd']['os_users']['web_content_owner']['shell'] Default shell configured on Linux server /bin/bash
node['httpd']['php_mod_enabled'] Enable PHP in Apache on Linux by Loading the Module true
node['httpd']['prefork_max_clients'] HTTP Server prefork_max_clients 256
node['httpd']['prefork_max_requests_per_child'] HTTP Server prefork_max_requests_per_child 4000
node['httpd']['prefork_max_spare_servers'] HTTP Server prefork_max_spare_servers 20
node['httpd']['prefork_min_spare_servers'] HTTP Server prefork_min_spare_servers 5
node['httpd']['prefork_server_limit'] HTTP Server prefork_server_limit 256
node['httpd']['prefork_start_servers'] HTTP Server prefork_start_servers 8
node['httpd']['proxy']['ProxyPreserveHost'] Instruct the reverse proxy to preserve original host header from the client browser On
node['httpd']['proxy']['rules']['ProxyPass']['path'] HTTP Server ProxyPass path /sw/
node['httpd']['proxy']['rules']['ProxyPass']['url'] HTTP Server ProxyPass url http://localhost
node['httpd']['proxy']['rules']['ProxyPassReverse']['path'] HTTP Server ProxyPassReverse path /sw/
node['httpd']['proxy']['rules']['ProxyPassReverse']['url'] HTTP Server ProxyPassReverse url http://localhost
node['httpd']['server_admin'] Email Address of the Webmaster webmaster@localhost
node['httpd']['server_name'] The Name of the HTTP Server, normally the FQDN of server.
node['httpd']['server_root'] httpd server_root
node['httpd']['service_name'] Name the HTTP Server process will run as
node['httpd']['ssl']['https_port'] Secure Port for the HTTP Server 443
node['httpd']['ssl']['install_mod_ssl'] Enable SSL within HTTP Server Configuration true
node['httpd']['ssl']['sslcompression'] Enable SSL compression within HTTP Server Configuration Off
node['httpd']['ssl']['sslproxycacertificatefile'] SSL proxy Certificate file name PleaseProvide
node['httpd']['ssl']['sslproxycacertificatepath'] SSL proxy Certificate file path PleaseProvide
node['httpd']['ssl']['sslproxycarevocationcheck'] SSL proxy CA revocation check PleaseProvide
node['httpd']['ssl']['sslproxycarevocationfile'] SSL proxy CA revocation file PleaseProvide
node['httpd']['timeout'] httpd timeout off
node['httpd']['use_canonical_name'] Should the HTTP Server use the canonical hostname Off
node['httpd']['version'] Version of HTTP Server to be installed. 2.4
node['httpd']['vhosts_enabled'] Allow to configure virtual hosts to run multiple websites on the same HTTP server true
node['httpd']['virtualhosts']['default_http_server']['custom_log'] Location of the HTTP Server Custom Log
node['httpd']['virtualhosts']['default_http_server']['custom_log_format'] Log Format of the Custom Log combined
node['httpd']['virtualhosts']['default_http_server']['document_root'] Location of the Default Docuement Root
node['httpd']['virtualhosts']['default_http_server']['error_log'] Location of the HTTP Server Error Log
node['httpd']['virtualhosts']['default_http_server']['global_ssl_config'] Use default global configuration for HTTP communication in HTTP server true
node['httpd']['virtualhosts']['default_http_server']['log_dir']
node['httpd']['virtualhosts']['default_http_server']['proxy_enabled'] Enable proxy usage for virtual host for HTTP Communication in HTTP server false
node['httpd']['virtualhosts']['default_http_server']['server_admin'] Email address of the Server Admin
node['httpd']['virtualhosts']['default_http_server']['server_name'] Vhost server name for directing requests
node['httpd']['virtualhosts']['default_http_server']['ssl_enabled'] Enable SSL for virtual host for HTTPS communication in HTTP server false
node['httpd']['virtualhosts']['default_http_server']['vhost_listen'] Listening port configured in virtual host for HTTP communication in HTTP server 80
node['httpd']['virtualhosts']['default_http_server']['vhost_type'] Allow to configure virtual hosts to run multiple websites on the same HTTP server name_based
node['httpd']['virtualhosts']['default_https_server']['custom_log'] HTTPS Virtual host custom log dir
node['httpd']['virtualhosts']['default_https_server']['custom_log_format'] HTTPS Virtual host custom log format combined
node['httpd']['virtualhosts']['default_https_server']['document_root'] HTTPS virtual host document root
node['httpd']['virtualhosts']['default_https_server']['error_log'] HTTPS Virtual host error log dir
node['httpd']['virtualhosts']['default_https_server']['global_ssl_config'] Use default global configuration for HTTPS communication in HTTP server true
node['httpd']['virtualhosts']['default_https_server']['log_dir'] HTTPS virtual host log dir
node['httpd']['virtualhosts']['default_https_server']['proxy_enabled'] Enable proxy configuration true
node['httpd']['virtualhosts']['default_https_server']['server_admin'] HTTPS Virtual host server admin
node['httpd']['virtualhosts']['default_https_server']['server_name'] HTTPS Virtual host server name for directing requests
node['httpd']['virtualhosts']['default_https_server']['ssl_enabled'] HTTPS - Enable SSL for virtual host for HTTP communication in HTTP server true
node['httpd']['virtualhosts']['default_https_server']['vhost_listen'] Listening port configured in virtual host for HTTPS communication in HTTP server 443
node['httpd']['virtualhosts']['default_https_server']['vhost_type'] Specify type of virtual host for HTTPS communication in HTTPS server name_based
node['httpd']['worker_max_clients'] HTTP Server worker_max_clients 25
node['httpd']['worker_max_requests_per_child'] HTTP Server worker_max_requests_per_child 0
node['httpd']['worker_max_spare_servers'] HTTP Server worker_max_spare_servers 25
node['httpd']['worker_min_spare_servers'] HTTP Server worker_min_spare_servers 300
node['httpd']['worker_server_limit'] HTTP Server worker_server_limit 75
node['httpd']['worker_start_servers'] HTTP Server worker_start_servers 4

Recipes

httpd::cleanup.rb

Cleanup recipe (cleanup.rb) Perform post-install cleanup

httpd::config_httpd_conf.rb

Configure httpd server recipe (config_httpd_conf.rb) Setup the main server configuration file

httpd::config_ssl.rb

SSL configuration recipe (config_proxy.rb) Install mod_ssl, create SSL configuration file, create certificates

httpd::config_vhosts.rb

vhost configuration recipe (config_vhost.rb) Create vhost configuration file

httpd::default.rb

Default recipe (default.rb) The default recipe for the cookbook. It is recommended to not use the default recipe, but explicitly specify a run_list for the deployment node.

httpd::gather_evidence.rb

Gather evidence recipe (gather_evidence.rb) Gather evidence that installation was successful

httpd::install.rb

Installation recipe (install.rb) Perform an installation of selected httpd package on the target node.

httpd::prereq.rb

Prerequisites recipe (prereq.rb) Perform prerequisite tasks.

httpd::service.rb

Service control recipe (service.rb) Enable and start the httpd service

License and Author

Author:: IBM Corp (<>)

Copyright:: 2018, IBM Corp

License:: Copyright IBM Corp. 2016, 2018