.. _software-requirements: Software Requirements ===================== We will use RedHat Software Collections to satisfy these requirements: - `Apache HTTP Server 2.4 `__ - `NGINX 1.6 `__ - `Phusion Passenger 4.0 `__ - `Ruby 2.2 `__ with :command:`rake`, :command:`bundler`, and development files - `Node.js 0.10 `__ - `Git 1.9 `__ In this tutorial RHSCL (RedHat Software Collections) packages are installed under ``/opt/rh``. This tutorial is also done from an account that has :command:`sudo` access but is not root. #. Enable the RHSCL repository. Note that you may also need to enable the Optional channel and attach a subscription providing access to RHSCL to be able to use the repository. .. code-block:: sh sudo subscription-manager repos --enable=rhel-server-rhscl-6-rpms # => Repository 'rhel-server-rhscl-6-rpms' is enabled for this system. .. warning:: If using **RHEL 7** you will need to replace the above command with: .. code-block:: sh sudo subscription-manager repos --enable=rhel-server-rhscl-7-rpms #. Install dependencies: .. code-block:: sh sudo yum install -y \ sqlite-devel \ httpd24 \ nginx16 \ rh-passenger40 \ rh-ruby22 \ rh-ruby22-rubygem-rake \ rh-ruby22-rubygem-bundler \ rh-ruby22-ruby-devel \ nodejs010 \ git19 #. Update the Apache Environment to include Ruby 2.2. This is necessary for the user mapping script written in Ruby. Edit ``/opt/rh/httpd24/service-environment`` and replace the following line: .. code-block:: sh HTTPD24_HTTPD_SCLS_ENABLED="httpd24" with .. code-block:: sh HTTPD24_HTTPD_SCLS_ENABLED="httpd24 rh-ruby22" .. warning:: If using **RHEL 7** you will also need to override the :program:`systemd` configuration for Apache. You can modify it directly by either calling: .. code-block:: sh sudo systemctl edit httpd24-httpd or by creating and modifying the file below with your favorite editor:: /etc/systemd/system/httpd24-httpd.service.d/override.conf You will then add the following to override the default settings: .. code-block:: sh [Service] KillSignal=SIGTERM KillMode=process PrivateTmp=false Finally, save your changes and run: .. code-block:: sh sudo systemctl daemon-reload #. Finally, make a source directory that will contain the checked out and built OOD infrastructure components and apps: .. code-block:: sh mkdir -p ~/ood/src