CGI für ein bestimmtes Verzeichnis aktivieren unter Apache 2.4
Hallo zusammen,
ich versuche gerade Webapplikationen von einem Apache Webserver (2.2) von Ubuntu 12.04 auf eine Redhat 7 (Apache 2.4) Machine zu migrieren.
Auf dem Ubuntu System konnte ich das in der /etc/apache2/httpd.conf recht easy aktivieren für meine Dienste:
Anscheinend hat sich die Syntax in der Version 2.4 so geändert, dass ich das so nicht mehr anwenden kann
Die Module für CGI sind auf dem neuen Server geladen, aber ich bekomme es irgendwie nicht hin dem Server zu sagen, dass die Beiden Verzeichnisse "dudle" und "bugzilla3" .cgi Dateien beinhalten und ausgeführt werden sollen.
Hätte vielleicht jemand einen Tipp für mich?
Grüße
D1Ck3n
ich versuche gerade Webapplikationen von einem Apache Webserver (2.2) von Ubuntu 12.04 auf eine Redhat 7 (Apache 2.4) Machine zu migrieren.
Auf dem Ubuntu System konnte ich das in der /etc/apache2/httpd.conf recht easy aktivieren für meine Dienste:
<Directory /var/www/bugzilla3/>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit
</Directory>
<Directory /var/www/dudle/>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit
</Directory>
Anscheinend hat sich die Syntax in der Version 2.4 so geändert, dass ich das so nicht mehr anwenden kann
Die Module für CGI sind auf dem neuen Server geladen, aber ich bekomme es irgendwie nicht hin dem Server zu sagen, dass die Beiden Verzeichnisse "dudle" und "bugzilla3" .cgi Dateien beinhalten und ausgeführt werden sollen.
Hätte vielleicht jemand einen Tipp für mich?
Grüße
D1Ck3n
Please also mark the comments that contributed to the solution of the article
Content-ID: 368912
Url: https://administrator.de/contentid/368912
Printed on: December 9, 2024 at 22:12 o'clock
8 Comments
Latest comment
eina vornweg: ich poste vom handy, kann also nicht wirklich selbst was testen - aber auf den ersten blick sieht die syntax okay aus.
Bei fehlern in der config meckert apache ja schon beim start
Aber andere fragen: sind die .cgi files in den jeweiligen verzeichnissen ausführbar? vom apache user?
außerdem steht bei einem wechsel auf centOS immer die frage nach SELinux: Ist es bei dir aktiv? Stimmen die Einstellungen? Da gibts auch gute tools um aus den kryptischen SEL meldungen sinnvolle debug infos zu bekommen.
Und Nein, bitte nicht den SELinix einfach abschalten - jedes mal wenn mandas tut kommt dem Entwickler eine träne
Mehr morgen wenn ich nen rechner zur hand habe
Bei fehlern in der config meckert apache ja schon beim start
Aber andere fragen: sind die .cgi files in den jeweiligen verzeichnissen ausführbar? vom apache user?
außerdem steht bei einem wechsel auf centOS immer die frage nach SELinux: Ist es bei dir aktiv? Stimmen die Einstellungen? Da gibts auch gute tools um aus den kryptischen SEL meldungen sinnvolle debug infos zu bekommen.
Und Nein, bitte nicht den SELinix einfach abschalten - jedes mal wenn mandas tut kommt dem Entwickler eine träne
Mehr morgen wenn ich nen rechner zur hand habe
Hi,
naja, "grundsätzlich" bringt SELinux fertige configs mit, die meist für standardaufgaben stimmen - erst wenn man z.B. externe Dateiesysteme einbindet, muss man schauen das die erweiterten Dateiattribute stimmen etc. - aber das ist ja in dem Falls sowieso egal da du es abgeschaltet hast. (Zu dem Gag gibts ne Website: https://stopdisablingselinux.com/)
In der Ausgabe vom Linux Magazin war ein gutes Special zum Thema SSLinux:
www.linux-magazin.de/magazine/2018/02/
Aber ich schweife ab:
An den .htaccess Files sollte es ja auch nicht liegen, da du AllowOverride nur Limit erlaubst.. hm
Evtl. den Troubleshooting Teil der Manpage durchgehen?
https://httpd.apache.org/docs/2.4/howto/cgi.html#But%20it's%20still ...!
- z.B. Path variable checken, und die Environment variables
(am besten mit dem alten server vergleichen)
Ansonten schau doch mal was der Log vom Apache sagt
naja, "grundsätzlich" bringt SELinux fertige configs mit, die meist für standardaufgaben stimmen - erst wenn man z.B. externe Dateiesysteme einbindet, muss man schauen das die erweiterten Dateiattribute stimmen etc. - aber das ist ja in dem Falls sowieso egal da du es abgeschaltet hast. (Zu dem Gag gibts ne Website: https://stopdisablingselinux.com/)
In der Ausgabe vom Linux Magazin war ein gutes Special zum Thema SSLinux:
www.linux-magazin.de/magazine/2018/02/
Aber ich schweife ab:
An den .htaccess Files sollte es ja auch nicht liegen, da du AllowOverride nur Limit erlaubst.. hm
Evtl. den Troubleshooting Teil der Manpage durchgehen?
https://httpd.apache.org/docs/2.4/howto/cgi.html#But%20it's%20still ...!
- z.B. Path variable checken, und die Environment variables
(am besten mit dem alten server vergleichen)
Ansonten schau doch mal was der Log vom Apache sagt
leg mal im Ordner /var/www/html
eine .htaccess datei an mit dem inhalt:
an, damit überschreibt die .htaccess alle anderen einstellungen die in der httpd.conf stehen
dazu aber in der httpd.conf evtl. noch ein
AllowOverride All
dazuschreiben in das jeweilige directory, also deine bisherige erweitern:
eine .htaccess datei an mit dem inhalt:
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
an, damit überschreibt die .htaccess alle anderen einstellungen die in der httpd.conf stehen
dazu aber in der httpd.conf evtl. noch ein
AllowOverride All
dazuschreiben in das jeweilige directory, also deine bisherige erweitern:
<Directory /var/www/html>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
Require all granted
AllowOverride All
</Directory>
Ach ja, und schau mal ob bei dir irgendwo in den confs noch was mit "Location" konfiguriert ist, mehr dazu hier:
https://httpd.apache.org/docs/2.4/howto/htaccess.html
im Abschnitt:
Merging of .htaccess with the main configuration files
PS: Ich stelle fest das ich leider gar keinen laufenden Apache habe in dem Laden wo ich gerade arbeite - daher alles theoretischer natur was ich so schreibe
https://httpd.apache.org/docs/2.4/howto/htaccess.html
im Abschnitt:
Merging of .htaccess with the main configuration files
PS: Ich stelle fest das ich leider gar keinen laufenden Apache habe in dem Laden wo ich gerade arbeite - daher alles theoretischer natur was ich so schreibe
Ich denke auch das du eine zusätzliche Config-Section hast die dir die Einstellung für den "Directory-Context" in der
Gehe mal alle Configs in
Siehe:
https://serverfault.com/questions/391457/how-does-apache-merge-multiple- ...
Und selinux abzuschalten das tun auch nur Blödel die sich nicht damit beschäftigen. Der Context eines Directories lässt sich so ändern damit CGI-Scripts ausgeführt werden können:
Einfach mal hier lesen:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6 ...
Also alles keine Hexerei .
Gruß schnuffi
httpd.conf
überschreibt.Gehe mal alle Configs in
/etc/httpd/conf.d/
durch.Siehe:
https://serverfault.com/questions/391457/how-does-apache-merge-multiple- ...
Und selinux abzuschalten das tun auch nur Blödel die sich nicht damit beschäftigen. Der Context eines Directories lässt sich so ändern damit CGI-Scripts ausgeführt werden können:
chcon -R -t httpd_sys_script_exec_t /var/www/html
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6 ...
Also alles keine Hexerei .
Gruß schnuffi