Chapter 4. Specifics of Individual Software Collections
This chapter is focused on the specifics of certain Software Collections and provides additional details concerning these components.
4.1. Red Hat Developer Toolset
Red Hat Developer Toolset is designed for developers working on the Red Hat Enterprise Linux platform. Red Hat Developer Toolset provides current versions of the GNU Compiler Collection, GNU Debugger, and other development, debugging, and performance monitoring tools. Similarly to other Software Collections, an additional set of tools is installed into the
/opt/
directory. These tools are enabled by the user on demand using the supplied scl utility. Similarly to other Software Collections, these do not replace the Red Hat Enterprise Linux system versions of these tools, nor will they be used in preference to those system versions unless explicitly invoked using the scl utility.
For an overview of features, refer to the Main Features section of the Red Hat Developer Toolset Release Notes.
For a complete list of components, see the Red Hat Developer Toolset Components table in the Red Hat Developer Toolset User Guide.
4.2. Ruby on Rails 5.0
Red Hat Software Collections 3.3 provides the rh-ruby24 Software Collection together with the rh-ror50 Collection.
To install Ruby on Rails 5.0, type the following command as
root
:
yum install rh-ror50
Installing any package from the rh-ror50 Software Collection automatically pulls in rh-ruby24 and rh-nodejs6 as dependencies.
The rh-nodejs6 Collection is used by certain gems in an asset pipeline to post-process web resources, for example, sass or coffee-script source files. Additionally, the Action Cable framework uses rh-nodejs6 for handling
WebSockets
in Rails.
To run the
rails s
command without requiring rh-nodejs6, disable the coffee-rails and uglifier gems in the Gemfile
.
To run Ruby on Rails without Node.js, run the following command, which will automatically enable rh-ruby24:
scl enable rh-ror50 bash
To run Ruby on Rails with all features, enable also the rh-nodejs6 Software Collection:
scl enable rh-ror50 rh-nodejs6 bash
The rh-ror50 Software Collection is supported together with the rh-ruby24 and rh-nodejs6 components.
4.3. MongoDB 3.6
The rh-mongodb36 Software Collection is available only for Red Hat Enterprise Linux 7. See Section 4.4, “MongoDB 3.4” for instructions on how to use MongoDB 3.4 on Red Hat Enterprise Linux 6.
To install the rh-mongodb36 collection, type the following command as
root
:
yum install rh-mongodb36
To run the MongoDB shell utility, type the following command:
scl enable rh-mongodb36 'mongo'
Note
The rh-mongodb36-mongo-cxx-driver package has been built with the
-std=gnu++14
option using GCC from Red Hat Developer Toolset 6. Binaries using the shared library for the MongoDB C++ Driver that use C++11 (or later) features have to be built also with Red Hat Developer Toolset 6 or later. See C++ compatibility details in the Red Hat Developer Toolset 6 User Guide.
To start the MongoDB daemon, type the following command as
root
:
systemctl start rh-mongodb36-mongod.service
To start the MongoDB daemon on boot, type this command as
root
:
systemctl enable rh-mongodb36-mongod.service
To start the MongoDB sharding server, type the following command as
root
:
systemctl start rh-mongodb36-mongos.service
To start the MongoDB sharding server on boot, type this command as
root
:
systemctl enable rh-mongodb36-mongos.service
Note that the MongoDB sharding server does not work unless the user starts at least one configuration server and specifies it in the
mongos.conf
file.
4.4. MongoDB 3.4
To install the rh-mongodb34 collection, type the following command as
root
:
yum install rh-mongodb34
To run the MongoDB shell utility, type the following command:
scl enable rh-mongodb34 'mongo'
Note
The rh-mongodb34-mongo-cxx-driver package has been built with the
-std=gnu++14
option using GCC from Red Hat Developer Toolset 6. Binaries using the shared library for the MongoDB C++ Driver that use C++11 (or later) features have to be built also with Red Hat Developer Toolset 6. See C++ compatibility details in the Red Hat Developer Toolset 6 User Guide.
MongoDB 3.4 on Red Hat Enterprise Linux 6
If you are using Red Hat Enterprise Linux 6, the following instructions apply to your system.
To start the MongoDB daemon, type the following command as
root
:
service rh-mongodb34-mongod start
To start the MongoDB daemon on boot, type this command as
root
:
chkconfig rh-mongodb34-mongod on
To start the MongoDB sharding server, type this command as
root
:
service rh-mongodb34-mongos start
To start the MongoDB sharding server on boot, type the following command as
root
:
chkconfig rh-mongodb34-mongos on
Note that the MongoDB sharding server does not work unless the user starts at least one configuration server and specifies it in the
mongos.conf
file.
MongoDB 3.4 on Red Hat Enterprise Linux 7
When using Red Hat Enterprise Linux 7, the following commands are applicable.
To start the MongoDB daemon, type the following command as
root
:
systemctl start rh-mongodb34-mongod.service
To start the MongoDB daemon on boot, type this command as
root
:
systemctl enable rh-mongodb34-mongod.service
To start the MongoDB sharding server, type the following command as
root
:
systemctl start rh-mongodb34-mongos.service
To start the MongoDB sharding server on boot, type this command as
root
:
systemctl enable rh-mongodb34-mongos.service
Note that the MongoDB sharding server does not work unless the user starts at least one configuration server and specifies it in the
mongos.conf
file.
4.5. Maven
The rh-maven35 Software Collection, available only for Red Hat Enterprise Linux 7, provides a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting, and documentation from a central piece of information.
To install the rh-maven35 Collection, type the following command as
root
:
yum install rh-maven35
To enable this collection, type the following command at a shell prompt:
scl enable rh-maven35 bash
Global Maven settings, such as remote repositories or mirrors, can be customized by editing the
/opt/rh/rh-maven35/root/etc/maven/settings.xml
file.
For more information about using Maven, refer to the Maven documentation. Usage of plug-ins is described in this section; to find documentation regarding individual plug-ins, see the index of plug-ins.
4.6. Passenger
The rh-passenger40 Software Collection provides Phusion Passenger, a web and application server designed to be fast, robust and lightweight.
The rh-passenger40 Collection supports multiple versions of Ruby, particularly the ruby193, ruby200, and rh-ruby22 Software Collections together with Ruby on Rails using the ror40 or rh-ror41 Collections. Prior to using Passenger with any of the Ruby Software Collections, install the corresponding package from the rh-passenger40 Collection: the rh-passenger-ruby193, rh-passenger-ruby200, or rh-passenger-ruby22 package.
The rh-passenger40 Software Collection can also be used with Apache httpd from the httpd24 Software Collection. To do so, install the rh-passenger40-mod_passenger package. Refer to the default configuration file
/opt/rh/httpd24/root/etc/httpd/conf.d/passenger.conf
for an example of Apache httpd configuration, which shows how to use multiple Ruby versions in a single Apache httpd instance.
Additionally, the rh-passenger40 Software Collection can be used with the nginx 1.6 web server from the nginx16 Software Collection. To use nginx 1.6 with rh-passenger40, you can run Passenger in Standalone mode using the following command in the web appplication's directory:
scl enable nginx16 rh-passenger40 'passenger start'
Alternatively, edit the nginx16 configuration files as described in the upstream Passenger documentation.
4.7. Database Connectors
Database connector packages provide the database client functionality, which is necessary for local or remote connection to a database server. Table 4.1, “Interoperability Between Languages and Databases” lists Software Collections with language runtimes that include connectors for certain database servers:
- yes - the combination is supported
- no - the combination is not supported
Database | |||||
---|---|---|---|---|---|
Language (Software Collection) | MariaDB | MongoDB | MySQL | PostgreSQL | Redis |
rh-nodejs4 | no | no | no | no | no |
rh-nodejs6 | no | no | no | no | no |
rh-nodejs8 | no | no | no | no | no |
rh-nodejs10 | no | no | no | no | no |
rh-perl520 | yes | no | yes | yes | no |
rh-perl524 | yes | no | yes | yes | no |
rh-perl526 | yes | no | yes | yes | no |
rh-php56 | yes | yes | yes | yes | no |
rh-php70 | yes | no | yes | yes | no |
rh-php71 | yes | no | yes | yes | no |
rh-php72 | yes | no | yes | yes | no |
python27 | yes | yes | yes | yes | no |
rh-python34 | no | yes | no | yes | no |
rh-python35 | yes | yes | yes | yes | no |
rh-python36 | yes | yes | yes | yes | no |
rh-ror41 | yes | yes | yes | yes | no |
rh-ror42 | yes | yes | yes | yes | no |
rh-ror50 | yes | yes | yes | yes | no |
rh-ruby25 | yes | yes | yes | yes | no |
rh-ruby26 | yes | yes | yes | yes | no |