Re: CGIs werden nicht ausgeführt
Am 16.01.2018 um 20:31 schrieb Harald Weidner:
> Hallo,
>
> On Tue, Jan 16, 2018 at 07:21:46PM +0100, Sebastian Suchanek wrote:
>
>> Auf dem Stretch-Produktivsystem habe ich hingegen sogar die beiden
>> Apache-Mods "cgi" und "cgid" aktiviert, allerdings wird das
>> Uprecords-Skript leider immer noch nicht ausgeführt, sondern zum
>> Download angeboten. :-(
>
> Dann ist auf dem System irgendwas kaputtkonfiguriert.
Das glaube ich inzwischen auch, ja. Nur habe ich bislang nicht die
leiseste Ahnung, was und wo genau.
> Welche Module sind denn genau aktiviert? Was sagt "a2query -m"?
| # a2query -m
| authz_core (enabled by maintainer script)
| env (enabled by maintainer script)
| authn_file (enabled by maintainer script)
| authn_core (enabled by maintainer script)
| alias (enabled by maintainer script)
| mime (enabled by maintainer script)
| negotiation (enabled by maintainer script)
| authz_user (enabled by maintainer script)
| auth_basic (enabled by maintainer script)
| dir (enabled by maintainer script)
| mpm_prefork (enabled by maintainer script)
| suexec (enabled by site administrator)
| php7.0 (enabled by maintainer script)
| authz_svn (enabled by maintainer script)
| cgi (enabled by site administrator)
| status (enabled by maintainer script)
| rewrite (enabled by site administrator)
| socache_shmcb (enabled by site administrator)
| autoindex (enabled by maintainer script)
| dav (enabled by maintainer script)
| dav_svn (enabled by maintainer script)
| cgid (enabled by site administrator)
| authz_host (enabled by maintainer script)
| setenvif (enabled by maintainer script)
| access_compat (enabled by maintainer script)
| reqtimeout (enabled by maintainer script)
| filter (enabled by maintainer script)
| deflate (enabled by maintainer script)
| ssl (enabled by site administrator)
| #
> Welche Konfigurationenw werden eingebunden? Was sagt "a2query -c"?
| # a2query -c
| charset (enabled by maintainer script)
| cacti (enabled by maintainer script)
| phpmyadmin (enabled by maintainer script)
| other-vhosts-access-log (enabled by maintainer script)
| serve-cgi-bin (enabled by maintainer script)
| javascript-common (enabled by maintainer script)
| roundcube (enabled by maintainer script)
| localized-error-pages (enabled by maintainer script)
| php-horde (enabled by maintainer script)
| security (enabled by maintainer script)
| #
> Was steht in deiner site-Konfiguration bzgl. CGI-Skripten?
Aktuell gar nichts (IP und Domain anonymisiert):
| <VirtualHost a.b.c.d:80>
| ServerName www.domain.tld
| ServerAlias domain.tld
| ServerAdmin webmaster@domain.tld
| DocumentRoot "/var/www/domain/html"
| SuexecUserGroup web1 www-data
| CustomLog /var/www/domain/log/access.log combined
| ErrorLog /var/www/domain/log/error.log
| <Directory "/var/www/domain">
| Options -Indexes +MultiViews +FollowSymLinks
| AllowOverride All
| </Directory>
| </VirtualHost>
> Generell braucht es für CGI-Support vier Dinge:
>
> 1. Eines der Module mod_cgi oder mod_cgid muss geladen sein.
Ist gegeben (siehe oben).
> 2. Eine ScriptAlias Direktive auf das Verzeichnis mit den
> Skripten
Ist gegeben - in der serve-cgi-bin.conf, die 100% Debian-OOTB ist:
| <IfModule mod_alias.c>
| <IfModule mod_cgi.c>
| Define ENABLE_USR_LIB_CGI_BIN
| </IfModule>
|
| <IfModule mod_cgid.c>
| Define ENABLE_USR_LIB_CGI_BIN
| </IfModule>
|
| <IfDefine ENABLE_USR_LIB_CGI_BIN>
| ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
| <Directory "/usr/lib/cgi-bin">
| AllowOverride None
| Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
| Require all granted
| </Directory>
| </IfDefine>
| </IfModule>
(Falls die "Options"-Zeile umbrochen werden sollte: das ist nur ein
Problem von Thunderbird, im Original ist das eine einzige Zeile.)
> 3. Eine "Options +ExecCGI" Direktive für das Verzeichnis.
Ist gegeben - siehe oben.
> 4. Das verwendete Directory muss für den Apache-User (normalerweise
> www-data) lesbar und die Skript ausführbar sein.
> [...]
Ist gegeben:
| # ls -l /usr/lib/cgi-bin/
| total 0
| lrwxrwxrwx 1 root root 19 Nov 24 2016 uprecords.cgi ->
../../bin/uprecords
| #
| # ls -l /usr/bin/ | grep uprecords
| -rwxr-xr-x 1 root root 18440 Nov 24 2016 uprecords
| #
Tschüs,
Sebastian
Reply to: