Ubuntu's Apache2 default configuration is different from the
upstream default configuration, and split into several files optimized for
interaction with Ubuntu tools. The configuration system is
fully documented in
/usr/share/doc/apache2/README.Debian.gz. Refer to this for the full
documentation. Documentation for the web server itself can be
found by accessing the manual if the apache2-doc
package was installed on this server.
The configuration layout for an Apache2 web server installation on Ubuntu systems is as follows:
/etc/apache2/
|-- apache2.conf
| `-- ports.conf
|-- mods-enabled
| |-- *.load
| `-- *.conf
|-- conf-enabled
| `-- *.conf
|-- sites-enabled
| `-- *.conf
-
apache2.conf is the main configuration
file. It puts the pieces together by including all remaining configuration
files when starting up the web server.
-
ports.conf is always included from the
main configuration file. It is used to determine the listening ports for
incoming connections, and this file can be customized anytime.
-
Configuration files in the mods-enabled/,
conf-enabled/ and sites-enabled/ directories contain
particular configuration snippets which manage modules, global configuration
fragments, or virtual host configurations, respectively.
-
They are activated by symlinking available
configuration files from their respective
*-available/ counterparts. These should be managed
by using our helpers
a2enmod,
a2dismod,
a2ensite,
a2dissite,
and
a2enconf,
a2disconf
. See their respective man pages for detailed information.
-
The binary is called apache2 and is managed using systemd, so to
start/stop the service use systemctl start apache2 and
systemctl stop apache2, and use systemctl status apache2
and journalctl -u apache2 to check status. system
and apache2ctl can also be used for service management if
desired.
Calling /usr/bin/apache2 directly will not work with the
default configuration.