Working with the Apache configuration file
If you want to install Passenger in its Apache integration mode then you will reach a point where you have to edit Apache the configuration file. This page provides information for those who are not familiar with how the Apache configuration file and its related directories are organized.
The location of the Apache configuration file
On most systems if you installed Apache with a package manager, or it came preinstalled, the Apache configuration file is located in one of these locations:
/etc/apache2/httpd.conf
/etc/apache2/apache2.conf
/etc/httpd/httpd.conf
/etc/httpd/conf/httpd.conf
If you installed Apache from source it is likely located in /usr/local
or /opt
, though the config files may have been moved to /etc
as usual. Check your build script for more details.
Furthermore On macOS Server >= 10.8 Mountain Lion, the location of the Apache configuration file varies. Some paths are listed below, please refer to the macOS Server documentation for complete information.
Not using websites/webservices | default (/etc/apache2/httpd.conf) |
macOS Server 4 webservices | /Library/Server/Web/Config/apache2/httpd_server_app.conf |
macOS Server 5 websites | /Library/Server/Web/Config/apache2/server-httpd.conf |
mods-enabled and sites-enabled
To allow better organization, many operating systems and Apache distributions also read configuration files in the conf.d
, mods-enabled
and sites-enabled
subdirectories.
mods-enabled
contains symlinks to files in mods-available
. This latter subdirectory contains config files for all available modules, while mods-enabled
contains only a subset, namely the modules that should actually be enabled. The symlinks are created using the a2enmod
tool. *.load
files contain LoadModule
directives, while *.conf
files contain all other configuration directives.
Storing Passenger configuration snippets
If you can, you should use mods-enabled
/mods-available
to store Passenger configuration. Assuming that your Apache configuration directory is /etc/apache2
:
- Create
/etc/apache2/mods-available/passenger.load
and paste theLoadModule ...
directive thatpassenger-install-apache2-module
outputs. - Create
/etc/apache2/mods-available/passenger.conf
and paste thePassengerRoot
and other Passenger options. - Enable by running
sudo a2enmod passenger
.
If the mods-enabled
mechanism is not available then you can paste configuration snippets into httpd.conf
or apache2.conf
directly.