CGI-Skripte auf dem Apache aktivieren
CGI-Skripte sind eine praktische Lösung, um Apache-Webserver zu entlasten. Die notwendigen Apache-Konfigurationen sind schnell erledigt und die notwendigen Berechtigungen für das Verzeichnis und die CGI-Dateien unkompliziert erteilt.
Finden Sie den folgenden Abschnitt:
Ersetzen Sie die Zeile
Die erste Zeile weist den Apache an, CGI-Dateien auszuführen, die in das Verzeichnis
Der ganze Abschnitt sollte nun folgendermaßen aussehen:
Speichern und beenden Sie die Datei. Starten Sie dann den Apache neu, damit die Änderungen wirksam werden:
Starten Sie dann den Apache neu, damit die Änderungen wirksam werden:
Speichern und beenden Sie die Datei und definieren Sie im nächsten Schritt die notwendigen Ausführungsberechtigungen:
Zeigen Sie das Skript in einem Browser an, indem Sie den Domainnamen oder die IP-Adresse aufrufen:
Wenn die Einrichtung erfolgreich war, erscheint die im Skript definierte Meldung „Hello world!“.
War dieser Artikel hilfreich?
CGI-Skripte auf Apache: Anforderungen
Damit Sie das Common Gateway Interface (CGI) verwenden können, um Skripte an Ihren Apache-Webserver zu übermitteln, benötigen Sie folgendes Setup:- einen Cloud Server bzw. Virtual Private Server (VPS)
- eine Linux-Server-Distribution wie CentOS 8 oder Ubuntu 22.04
- einen installierten und laufenden Apache-Webserver
Hinweis
Bei einer Standard-Linux-Installation ist Apache von Anfang an installiert. Wenn Sie Ihren Server über eine Minimalinstallation erstellt haben, müssen Sie Apache aber in der Regel noch installieren und konfigurieren. Erfahren Sie in unseren weiterführenden Artikeln, wie Sie Apache für WordPress bzw. Apache unter Ubuntu installieren und konfigurieren.
CGI-Skripte in den Apache-Konfigurationen aktivieren
Zwei Dinge müssen eingerichtet werden, um auf einem Linux-Server Skripte via CGI mit Apache auszuführen:- Apache muss so konfiguriert werden, dass der Webserver CGI-Skripte ausführen kann.
- Die gewünschten Skripte müssen an den richtigen Ort hochgeladen und mit den erforderlichen Berechtigungen ausgestattet werden.
Apache-Einstellungen für CGI-Skripte unter CentOS
Öffnen Sie die Apache-Konfigurationsdateihttpd.conf
zur Bearbeitung:sudo nano /etc/httpd/conf/httpd.conf
bash# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
textOptions None
durch die folgenden zwei Zeilen:Options +ExecCGI
AddHandler cgi-script .cgi .pl .py
text/var/www/cgi-bin
hochgeladen werden. Die zweite Zeile teilt dem Apache mit, dass jede Datei mit der Endung .cgi,.pl (Perl-Skripte) oder.py (Python-Skripte) als CGI-Skript betrachtet wird.Der ganze Abschnitt sollte nun folgendermaßen aussehen:
#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
AllowOverride None
Options +ExecCGI
AddHandler cgi-script .cgi .pl
Require all granted
</Directory>
textsudo systemctl restart httpd
bashApache-Einstellungen für CGI-Skripte auf Ubuntu
In Ubuntu-Systemen wie Ubuntu 22.04 ist der Apache standardmäßig so konfiguriert, dass er die Ausführung von CGI-Skripten im angegebenen Verzeichnis/usr/lib/cgi-bin
erlaubt. Sie müssen keine Apache-Konfigurationen ändern. Allerdings muss das CGI-Modul des Apache aktiviert werden, bevor CGI-Skripte ausgeführt werden können. Dazu müssen Sie einen Symlink (symbolische Verknüpfung) erstellen:sudo ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/
bashsudo systemctl restart apache2
bash Cloud Server
Leistungsstarke Konfigurationen - On-Demand skalierbar, Load Balancer und Traffic inklusive
- Hochverfügbare Server-Plattform
- ISO-zertifizierte Rechenzentren am Standort Deutschland
- Inkl. 100,- € Startguthaben im 1. Monat
CGI-Skript hochladen und Berechtigungen festlegen
Um die Funktionalität von CGI-Skripten auf Ihrem Apache-Server zu überprüfen, empfehlen wir, mit einem Testskript zu beginnen. Erstellen Sie zu diesem Zweck die Dateitest.cgi
in dem vom Server angegebenen cgi-bin-Verzeichnis und öffnen Sie das Testskript zur Bearbeitung:-
CentOS:
sudo nano /var/www/cgi-bin/test.cgi
-
Ubuntu:
sudo nano /usr/lib/cgi-bin/test.cgi
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<h1>Hello world!</h1>";
text-
CentOS:
sudo chmod 755 /var/www/cgi-bin/test.cgi
-
Ubuntu:
sudo chmod 755 /usr/lib/cgi-bin/test.cgi
Hinweis
Durch die Verwendung der Parameter
chmod 755
kann das Skript vom Besitzer gelesen, bearbeitet und ausgeführt werden. Für die Gruppe und sonstige Zugriffe bestehen Lesezugriff und die Möglichkeit, das Skript auszuführen.https://example.com/cgi-bin/test.cgi
https://192.168.0.1/cgi-bin/test.cgi
textTroubleshooting für CGI-Skriptfehler
404-Fehler: Tritt ein 404-Error auf, konnte die jeweilige URL nicht gefunden werden. Überprüfen Sie in diesem Fall als erstes, ob das Skript dem richtigen Verzeichnis hinzugefügt wurde.-
CentOS: Das Standardverzeichnis ist
/var/www/cgi-bin/
-
Ubuntu: Das Standardverzeichnis ist
/usr/lib/cgi-bin
Cloud Backup powered by Acronis
Minimieren Sie Ausfallzeiten mit unserem Komplettschutz - Automatisch: Backups und Recovery
- Intuitiv: Planung und Management
- Intelligent: KI-basierter Bedrohungsschutz
- Inkl. 300,- € Startguthaben im 1. Monat