LINUXMAKER, OpenSource, Tutorials

Module auf Apache aktivieren, anzeigen und deaktivieren

Aktivierte Apache Module anzeigen lassen

Auf allen gängigen Linux Distributionen kann man einfach folgenden Befehl in der Commanline absetzten und man erhält eine Auflistung der aktivierten Apache2-Module. Allerdings wird bei CentOS und RHEL apache2ctl durch httpd ersetzt.

Der a2enmod Befehl listet ohne Parameter alle Module auf, die aktiviert werden können

apache2ctl -M

respektive

apache2ctl -t -D DUMP_MODULES

liefert eine Ausgabe wie

Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 actions_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgi_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 perl_module (shared)
 php5_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 setenvif_module (shared)
 ssl_module (shared)
 status_module (shared)
Syntax OK

In der Ausgabe werden die geladenen Module mit den Werten static respektive shared angezeigt.

static: Das sind fest kompilierte Module, die nicht deaktiviert werden können ohne dass der Apache neukompiliert werden müsste.

shared: Das sind dynamisch geladene Module, die jederzeit aktiviert oder deaktiviert werden können. Man sollte jedoch wissen wofür und vor allem ob die aktivierten Module benötigt werden, bevor sie deaktiviert werde. Der Apache2 könnte ansonsten in einen instabilen Zustand versetzt werden.

Aktivieren unter Debian, Ubuntu

Um ein Apache Modul auf Debian basierten Linux Distributionen zu aktivieren verwenden wir den Befehl 'a2enmod' und geben den entsprechenden Modulnamen an:
Der a2enmod Befehl listet ohne Parameter alle Module auf, die deaktiviert werden können

a2enmod MODULENAME

bzw. konkret

a2enmod ssl

Aktiviert das Modul ssl, das für die HTTPS-Verschlüsselung auf Port 443 benötigt wird. Danach wird ein Neustart oder Reload des Apache-Servers notwendig, um die veränderten Konfigurationsdaten in den Arbeitsspeicher zu laden.

/etc/init.d/apache2 restart (reload)

oder kürzer

systemctl reload apache2

Deaktivieren unter Debian, Ubuntu

Das Deaktivierender Module erfolgt analog mit dem Befehl 'a2dismod'. Auch hier gibt folgendes Konstrukt ohne Parameter alle deaktivierbaren Module auf.

a2dismod MODULENAME

Und konkret wird deflate abgeschaltet mit,

a2dismod deflate

Dabei handelt es sich um ein Modul, mit dem die Komprimierung ermöglicht wird. Danach ist zur Auffrischung des Arbeitsspeichers wieder ein Apache-Reload notwendig.

service apache2 reload

Aktivieren und deaktivieren auf CentOS und RedHat Linux

Die Distributionen RedHat Enterprise Linux und CentOS bieten kein entsprechendes Verwaltungssystem mit 'a2enmod' und 'a2dismod' an. Hier müssen die mitgelieferten Module direkt in die Apache-Konfigurationsdatei "/etc/httpd/conf/httpd.conf" mittels LoadModule eingetragen werden.
Das sieht dann wie folgt aus, wobei nicht benötigte Module mit einem # auskommentiert werden.

...
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
# LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule ldap_module modules/mod_ldap.so
...

Zusätzliche httpd-Module, die zu einem späteren Zeitpunkt installiert werden, befinden sich als conf-Datei im Verzeichnis /etc/httpd/conf.d/. Diese können in die Apache2-Konfiguration included werden.