Michal Karm Babacek cd4a0f1
# mod_cluster modules configuration
Michal Karm Babacek cd4a0f1
# See http://modcluster.io/ for docs, tutorials and examples
Michal Karm Babacek 6bf9d20
Michal Karm Babacek cd4a0f1
# Load mod_cluster modules
Michal Karm Babacek cd4a0f1
# Please, note:
Michal Karm Babacek cd4a0f1
#  - mod_cluster cannot coexist with proxy_balancer_module; disable it
Michal Karm Babacek cd4a0f1
#  - mod_cluster needs proxy_module and proxy_ajp_module loaded for AJP transport
Michal Karm Babacek cd4a0f1
Michal Karm Babacek cd4a0f1
# Uncomment to enable mod_cluster:
Michal Karm Babacek 6bf9d20
#LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
Michal Karm Babacek 6bf9d20
#LoadModule cluster_slotmem_module modules/mod_cluster_slotmem.so
Michal Karm Babacek 6bf9d20
#LoadModule manager_module modules/mod_manager.so
Michal Karm Babacek 6bf9d20
#LoadModule advertise_module modules/mod_advertise.so
Michal Karm Babacek 6bf9d20
Michal Karm Babacek cd4a0f1
<IfModule manager_module>
Michal Karm Babacek cd4a0f1
  # Place for slotmem files - do not set this to NFS/CIFS
Michal Karm Babacek cd4a0f1
  MemManagerFile /var/cache/httpd/mod_cluster
Michal Karm Babacek 6bf9d20
Michal Karm Babacek cd4a0f1
  # We suggest to use a restricted VirtualHost
Michal Karm Babacek cd4a0f1
  # for receiving MCPM (Mod Cluster Protocol Message) from worker nodes.
Michal Karm Babacek cd4a0f1
  # To allow 6666 port for httpd, install policycoreutils-python-utils
Michal Karm Babacek cd4a0f1
  # and then label it:
Michal Karm Babacek cd4a0f1
  #
Michal Karm Babacek cd4a0f1
  #    semanage port -a -t http_port_t -p tcp 6666
Michal Karm Babacek cd4a0f1
  #
karm 33bc86f
  # For UDP datagrams with httpd's location to be sent to UDP Multicast address, one might have
karm 33bc86f
  # to allow it:
karm 33bc86f
  #
karm 33bc86f
  #    semanage port -a -t http_port_t -p udp 23364
karm 33bc86f
  #
Michal Karm Babacek cd4a0f1
  # also Firewalld might need to know about it (depends on your network
Michal Karm Babacek cd4a0f1
  # domains and particular setup), example:
Michal Karm Babacek cd4a0f1
  #
Michal Karm Babacek cd4a0f1
  #    firewall-cmd --add-port=6666/tcp
Michal Karm Babacek cd4a0f1
  #    firewall-cmd --add-port=6666/tcp --permanent
Michal Karm Babacek cd4a0f1
  #
karm 33bc86f
  #
Michal Karm Babacek cd4a0f1
  Listen 6666
Michal Karm Babacek cd4a0f1
  <VirtualHost *:6666>
Michal Karm Babacek 6bf9d20
Michal Karm Babacek cd4a0f1
    <Directory />
Michal Karm Babacek cd4a0f1
      # Change this to the range from which worker nodes are
Michal Karm Babacek cd4a0f1
      # going to contact the Apache HTTP Server,
Michal Karm Babacek cd4a0f1
      # e.g. your 10. internal network.
Michal Karm Babacek cd4a0f1
      Require ip 127.0.0.1
Michal Karm Babacek cd4a0f1
      # Worker nodes need to be contacted by Apache HTTP Server and also they
Michal Karm Babacek cd4a0f1
      # need to be able to initiate connections to Apache HTTP Server.
Michal Karm Babacek cd4a0f1
      # For example, if you have 2 workers reporting on your console
Michal Karm Babacek cd4a0f1
      # (see Management and monitoring console below) as:
Michal Karm Babacek cd4a0f1
      #
Michal Karm Babacek cd4a0f1
      #    

Node worker-1 (ajp://192.168.122.138:8011):

Michal Karm Babacek cd4a0f1
      #    

Node worker-2 (ajp://192.168.122.138:8012):

Michal Karm Babacek cd4a0f1
      #
Michal Karm Babacek cd4a0f1
      # you might need to label these ports for Selinux:
Michal Karm Babacek cd4a0f1
      #
Michal Karm Babacek cd4a0f1
      #    semanage port -a -t http_port_t -p tcp 8012
Michal Karm Babacek cd4a0f1
      #    semanage port -a -t http_port_t -p tcp 8011
Michal Karm Babacek cd4a0f1
      #
Michal Karm Babacek cd4a0f1
      # See aforementioned firewall-cmd for firewall settings.
Michal Karm Babacek cd4a0f1
    </Directory>
Michal Karm Babacek 6bf9d20
Michal Karm Babacek cd4a0f1
    # Apache HTTP Server advertises its presence
Michal Karm Babacek cd4a0f1
    # on 224.0.1.105:23364 via UDP multicast by default.
Michal Karm Babacek cd4a0f1
    # One has to allow this through Selinux:
Michal Karm Babacek cd4a0f1
    #
Michal Karm Babacek cd4a0f1
    #    semanage port -a -t http_port_t -p udp 23364
Michal Karm Babacek cd4a0f1
    #
Michal Karm Babacek cd4a0f1
    ServerAdvertise on
Michal Karm Babacek 6bf9d20
Michal Karm Babacek cd4a0f1
    # Here we declare that THIS and none other VirtualHost can
Michal Karm Babacek cd4a0f1
    # process configuration messages from worker nodes.
Michal Karm Babacek cd4a0f1
    EnableMCPMReceive
Michal Karm Babacek 6bf9d20
Michal Karm Babacek cd4a0f1
    # Management and monitoring console with the following default setup
Michal Karm Babacek cd4a0f1
    # appears on http://<your httpd address>:6666/mod_cluster_manager
Michal Karm Babacek cd4a0f1
    # and it is accessible only from localhost.
Michal Karm Babacek cd4a0f1
    <Location /mod_cluster_manager>
Michal Karm Babacek cd4a0f1
      SetHandler mod_cluster-manager
Michal Karm Babacek cd4a0f1
      Require ip 127.0.0.1
Michal Karm Babacek cd4a0f1
    </Location>
Michal Karm Babacek cd4a0f1
  </VirtualHost>
Michal Karm Babacek cd4a0f1
</IfModule>
Michal Karm Babacek 6bf9d20