1. 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 rake, 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
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.
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:
sudo subscription-manager repos --enable=rhel-server-rhscl-7-rpms
Install dependencies:
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:HTTPD24_HTTPD_SCLS_ENABLED="httpd24"
with
HTTPD24_HTTPD_SCLS_ENABLED="httpd24 rh-ruby22"
Warning
If using RHEL 7 you will also need to override the systemd configuration for Apache. You can modify it directly by either calling:
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:
[Service] KillSignal=SIGTERM KillMode=process PrivateTmp=false
Finally, save your changes and run:
sudo systemctl daemon-reload
Finally, make a source directory that will contain the checked out and built OOD infrastructure components and apps:
mkdir -p ~/ood/src