So fügen Sie Module zum Apache-Server unter CentOS hinzu

Da es sich um eine der weltweit am weitesten verbreiteten Servertechnologien handelt, besteht die Möglichkeit, dass auch Sie einen Linux-Server verwenden. Im Kern ist Apache ein reiner HTTP-Server, der Webseiten auf Anfrage präsentiert. Je nachdem, wofür Sie Ihren Webserver verwenden, stellen Sie möglicherweise Anforderungen, die etwas über das hinausgehen, was Apache standardmäßig bereitstellt. Glücklicherweise bietet Linux Module an.

Module bieten Erweiterbarkeit für Apache, verleihen ihm neue Fähigkeiten und Funktionalitäten und erweitern seine Fähigkeiten. Standardmäßig wird Apache mit einer Auswahlliste von Barebone-Modulen geliefert. Einige davon umfassen den Kern und die Apache HTTP Server-Funktionen; Prefork, das einen Pre-Forking-Webserver ohne Thread implementiert; und Worker, ein Multi-Processing-Modul, das einen Hybrid-Webserver implementiert.

Module können beim Erstellen des Servers in die HTTPD-Binärdatei kompiliert werden. Es können jedoch zusätzliche Module eingebunden werden, die von der HTTPD-Binärdatei getrennt sind und nach Bedarf geladen werden. Diese zusätzlichen Apache-Module werden als Dynamically Shared Objects (DSOs) bezeichnet . Um DSOs verwenden zu können, müssen Sie sicherstellen, dass Ihr Server zum Zeitpunkt der Erstellung das Shared Objects Module oder  SO Module (mod_so) enthielt .

Das SO-Modul ist für das Laden von ausführbarem Code und Modulen in den Server beim Start verantwortlich. Dieses Modul muss Teil der HTTPD-Binärdatei sein und kann aus offensichtlichen Gründen nicht nach dem ersten Build des Servers hinzugefügt werden. Wenn es nicht enthalten war und Sie eine modulare Erweiterbarkeit wünschen, müssen Sie Ihren Server neu erstellen und dabei sicherstellen, dass mod_so enthalten  ist.

Wenn Sie überprüfen möchten, ob mod_so  Teil der HTTPD-Binärdatei ist, führen Sie den folgenden Befehl aus:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ apachectl -M
$ apachectl -M
$ apachectl -M
  • Dieser Befehl zeigt eine Liste der Module an, die im HTTPD-Server auf ihren jeweiligen Systemen enthalten sind.
  • Das Modul mod_so  sollte Teil der angezeigten Liste sein.

Normalerweise werden DSOs über eine Anweisung in der Datei HTTPD.conf geladen  . Um zusätzliche Module in Apache einzubinden, müssen Sie die Datei HTTPD.conf ändern. Dies erfordert zwei Dinge: Root-Zugriff auf den Apache-Server und Erfahrung bzw. Kenntnisse in der Änderung von Konfigurationsdateien. Wenn Sie keinen Root-Zugriff haben oder nicht über ausreichende Erfahrung oder Kenntnisse in der Konfiguration von Konfigurationsdateien verfügen, empfehlen wir Ihnen dringend, diese Aufgabe von einem Systemadministrator oder einem Team des technischen Supports durchführen zu lassen.

Ein Modul hinzufügen

Binden Sie das Modul auf Ihrem Server ein und notieren Sie seinen Speicherort. Für diese Übung verwenden wir ein fiktives Foo-  Modul ( mod_foo.so ). Es befindet sich im Verzeichnis „ modules/“  im Server-Root (modules/mod_foo.so). Um das Modul einzubinden, verwenden wir die LoadModule-  Direktive. Die LoadModule-  Direktive ist eine Funktion des SO-Moduls (daher ihre Notwendigkeit).

Wie bereits erwähnt, erfordert das Hinzufügen eines Moduls eine Änderung der Datei HTTPD.conf. Öffnen Sie die Apache-Konfigurationsdatei und fügen Sie die folgende Zeile hinzu:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
LoadModule foo module/mod_foo. Also
LoadModule foo modules/mod_foo.so
LoadModule foo modules/mod_foo.so

Diese Anweisung verknüpft die Objektdatei ( mod_foo.so ) oder den Bibliotheksdateinamen (modules/mod_foo.so) und fügt die Modulstruktur mit dem Namen foo  zur Liste der aktiven Module hinzu.

Hinweis:  Wenn Sie ein Modul deaktivieren oder entfernen möchten, öffnen Sie einfach die HTTPD.conf und kommentieren Sie den LoadModule-  Eintrag für dieses bestimmte Modul entweder aus oder löschen Sie ihn.

Sobald ein Modul hinzugefügt oder gelöscht wurde, muss der Apache Server neu gestartet oder neu geladen werden.

Stoppen, Starten und Neustarten des Servers

Neustart oder Neuladen des Servers

Die folgende Methode startet den Apache-Webserver neu.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# systemctl startet httpd.service neu
# systemctl restart httpd.service
# systemctl restart httpd.service

Stoppen des Servers

Die folgende Methode stoppt den Apache-Webserver.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# systemctl stoppt httpd.service
# systemctl stop httpd.service
# systemctl stop httpd.service

Starten des Servers

Die folgende Methode startet den Apache-Webserver.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# systemctl startet httpd.service
# systemctl start httpd.service
# systemctl start httpd.service

Wenn Sie Ihre HTTPD.conf-Datei korrekt geändert und Ihren Server neu gestartet haben, sollte das Modul erfolgreich geladen werden. Wenn weiterhin Probleme auftreten, müssen Sie möglicherweise darüber nachdenken, Ihr Modul mit Ressourcen zu versorgen oder es selbst aus vertrauenswürdigem Quellcode zu kompilieren.

Kompilieren eines Moduls aus Quellcode

Neue Module können mit dem Apache Extension Tool ( apxs ) kompiliert und installiert werden . Wenn das Apxs-Tool nicht vorhanden ist, kann es durch die Installation des httpd-development-Pakets installiert werden, das die Include-Dateien, Header-Dateien und die Apache-Erweiterungsanwendung enthält.

Führen Sie den folgenden Befehl aus, um das httpd-development-Paket herunterzuladen und zu installieren:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# lecker, installiere httpd-devel
# yum install httpd-devel
# yum install httpd-devel

Und dann:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# yum groupinstall ‘Entwicklungstools’
# yum groupinstall ‘Development tools’
# yum groupinstall 'Development tools'

APXS (Apache Extension Tool) wird zum Erstellen und Installieren von Erweiterungsmodulen für den Apache HTTPD Server verwendet. Es erstellt DSO-Dateien aus einer oder mehreren Objekt- oder Quelldateien. Bei diesen Quelldateien kann es sich um eine beliebige C-Quelldatei (.c), eine Objektdatei (.o) oder ein Bibliotheksarchiv (.a) handeln.

Wenn wir beispielsweise den Quellcode für das foo-Modul (foo.c) haben, kompilieren wir ihn in ein gemeinsames Objekt, das zum Laden als Apache-Modul geeignet ist.

Navigieren Sie zu dem Ordner mit dem Quellcode und führen Sie die folgende Befehlsfolge aus:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# apxs -i -a -c mod_foo.c
# apxs -i -a -c mod_foo.c
# apxs -i -a -c mod_foo.c

Dieser Befehl kompiliert die Objektdateien aus der C-Quelldatei, verknüpft sie zu einer dynamischen gemeinsam genutzten Objektdatei, lädt sie in das Modulverzeichnis von Apache und fügt automatisch die Include- Zeile in die Hauptkonfigurationsdatei ein.

Sobald Ihr Modul kompiliert und installiert wurde, starten Sie Ihren Server wie oben beschrieben neu. Sobald der Server wieder hochgefahren ist, führen Sie den folgenden Befehl aus, um sicherzustellen, dass das Modul aktiviert ist:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# apachectl -M | grep foo
# apachectl -M | grep foo
# apachectl -M | grep foo

Wenn das Modul als aktiv zurückgegeben wird, bestätigt dies eine erfolgreiche Installation.

Schauen Sie sich diese Top 3 VPS-Dienste an:

Kamatera
4.8

141 Benutzerbewertungen

4,00 $ /Monat
Startpreis

Besuchen Sie Kamatera

Bewertung basierend auf Expertenbewertung
  • Benutzerfreundlich
    3.5
  • Unterstützung
    3,0
  • Merkmale
    3.9
  • Zuverlässigkeit
    4,0
  • Preisgestaltung
    4.3
ScalaHosting
4.9

319 Nutzerbewertungen

2,95 $ /Monat
Startpreis

Besuchen Sie ScalaHosting

Bewertung basierend auf Expertenbewertung
  • Benutzerfreundlich
    4.8
  • Unterstützung
    4.3
  • Merkmale
    4.4
  • Zuverlässigkeit
    4.8
  • Preisgestaltung
    4.5
Flüssiges Web
4.5

198 Benutzerbewertungen

5,00 $ /Monat
Startpreis

Besuchen Sie Liquid Web

Bewertung basierend auf Expertenbewertung
  • Benutzerfreundlich
    3.8
  • Unterstützung
    4.8
  • Merkmale
    4.5
  • Zuverlässigkeit
    4.6
  • Preisgestaltung
    3.8
  • Ihre Anfrage zum besten Webhosting kann mit einem Klick auf diesen Link beendet werden.