libapache2-mod-fcgid und .cgi .pl skripte

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
rolo
Beiträge: 2697
Registriert: 29.08.2002 12:12:25
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: hannover

libapache2-mod-fcgid und .cgi .pl skripte

Beitrag von rolo » 19.02.2007 22:15:12

hallo

ich versuche mit debian etch einen apache2 mit libapache2-mod-fcgid und suexec zu konfigurieren. soweit das joomla, munin und mittlerweile auch phpmyadmin funktionieren bin ich mittlerweile. probleme machen jetzt die meisten programme die unter /usr/lib/cgi-bin/ liegen, also sqwebmail, awstats und mailgraph.

in der /etc/apache2/mods-enabled/fcgid.conf findet sich diese zeile:

Code: Alles auswählen

AddHandler fcgid-script .fcgi
muss ich dort etwas erweitern?
vielleicht würde es mir weiterhelfen, wenn mir jemand erklärt wie dieser part für fcgi richtig aussieht.

Code: Alles auswählen

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory /var/www/apache2-default/ftp/config/vhost>
        # FCGIWrapper ?
	AllowOverride None
        SetHandler fcgid-script
        Options FollowSymLinks +ExecCGI
        Order allow,deny
        Allow from all
</Directory>
wie man wahrscheinlich sieht bin ich etwas ins rätseln geraten und die logs haben mir bisher zu verschiedenen konfigurationsversuchen immer neue log-meldungen angeboten, so das ich nicht weiss welche davon ich hier reinsetze..

derzeit bin auf dem stand das sqwebmail beim aufruf, quelltext im browser anzeigt aber nicht ausgeführt wird. ich erhalte keine fehlermeldung dazu im log.

nun denn
Zuletzt geändert von rolo am 26.02.2007 01:15:40, insgesamt 3-mal geändert.

Benutzeravatar
rolo
Beiträge: 2697
Registriert: 29.08.2002 12:12:25
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: hannover

Beitrag von rolo » 21.02.2007 12:15:43

ich habe jetzt nochmal weiterprobiert, mailgraph zum laufen zu bekommen. dazu liefere ich jetzt mal logs und konfigurationsdateien, in der hoffnung das damit jemand etwas anfangen oder wenigstens eine idee hat.
suexec.log

Code: Alles auswählen

[2007-02-20 23:45:23]: uid: (1008/user) gid: (1008/1008) cmd: mailgraph.cgi
[2007-02-20 23:45:24]: uid: (1008/user) gid: (1008/1008) cmd: mailgraph.cgi
mailgraph.cgi hat 755 rechte. 1008 ist die user und gruppen id.
error.log
http://nopaste.debianforum.de/5191
der komplette vhost derzeit:
http://nopaste.debianforum.de/5192
dann liegt unter

Code: Alles auswählen

/var/www/apache2-default/ftp/conf
liegt das script php-fcgi-start:

Code: Alles auswählen

#!/bin/sh
PHPRC="/etc/php5/cgi/php.ini"
export PHPRC
PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
exec /usr/bin/php5-cgi
die /etc/apache2/mods-enabled/fcgid.conf:

Code: Alles auswählen

<IfModule mod_fcgid.c>
  AddHandler fcgid-script .fcgi
  SocketPath /var/lib/apache2/fcgid/sock
  IPCConnectTimeout 20
</IfModule>
ich habe probiert hier die AddHandler zeile um .cgi und .pl zu erweitern, dann funktioniert allerdings nichts mehr, also auch kein phpmyadmin.

Benutzeravatar
rolo
Beiträge: 2697
Registriert: 29.08.2002 12:12:25
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: hannover

Beitrag von rolo » 26.02.2007 00:56:20

morgen,
ich probiere weiterhin dieses problem zu lösen und sicher hoffe ich auch, daß eventuell doch noch jemand, in irgendeiner form hilfe beisteuern kann.
jedenfalls habe ich jetzt die packete
libfcgi-perl
libfcgi-procmanager-perl
libcgi-fast-perl
installiert. nun meldet sich das error.log mit folgenden meldungen

Code: Alles auswählen

[Sun Feb 25 14:46:19 2007] [notice] mod_fcgid: server /var/www/apache2-default/ftp/conf/vhost/mailgraph.fcgi(27271) started
Undefined subroutine &main::do_some_initialization called at mailgraph.fcgi line 3.
[Sun Feb 25 14:46:20 2007] [error] [client 192.168.2.33] Premature end of script headers: mailgraph.fcgi
[Sun Feb 25 14:46:25 2007] [notice] mod_fcgid: process /var/www/apache2-default/ftp/conf/vhost/mailgraph.fcgi(27271) exit(communication error), terminated by calling exit(), return code: 255
eigentlich sollte mailgraph ja fastcgi tauglich sein:

Code: Alles auswählen

#!/usr/bin/perl -w
use CGI::Fast;
&do_some_initialization();
while ($q = new CGI::Fast) {
    &process_request($q);
}
mailgraph.cgi liegt nicht mehr als symlink im vhost, sondern ich habe ihn von /usr/lib/cgi-bin/mailgraph.fcgi dorthin kopiert. bevor ich .cgi in .fcgi geändert hatte, habe ich es mit

Code: Alles auswählen

AddHandler fcgid-script .cgi
probiert, beides führt nicht zum erfolg, und bringt jeweils die gleiche fehlermeldung. das zusätzliche eintragen von

Code: Alles auswählen

AddHandler fcgid-script .pl
ebenfalls nicht. wenn ich keinen ganz grundlegenden fehler mache, denke ich mittlerweile darüber nach, ob eines der packete, wenn dann wahrscheinlich libapache2-mod-fcgid, doch fehlerhaft ist.
andererseits glaube ich das doch einige das fcgid packet in etch erfolgreich nutzen. hat ansonsten jemand erfahrung mit libapache2-mod-fastcgi und kann sagen ob es damit eventuell nicht zu solchen wirklich nicht mehr gerade nerven-aufbauenden probs kommt.

nun denn

Benutzeravatar
rolo
Beiträge: 2697
Registriert: 29.08.2002 12:12:25
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: hannover

Beitrag von rolo » 27.02.2007 07:28:12

zu dem thema hat also wirklich überhaupt niemand irgendeinen tip?
ich gehe dann davon aus das es zumindest mit dem fcgid modul nicht möglich ist, programme in der gennanten richtung zu nutzen oder aber, daß es doch noch fehler hat.
ansonsten ist es mir halt vielleicht auch nicht gelungen die frage "vernünfig" zu stellen, zumal ich mir nicht vorstellen kann, das wirklich alle nutzer ohne cgi unterstützung auskommen. jedenfalls, auch dann hätte ich mich trotzdem über eine antwort gefreut.

wie dem auch sei, auf rootforum[1] gibts einen schon älteren thread, der ein zumindest sehr ähnliches problem behandelt, mit dem ich aber auch nicht wirklich weiterkomme - insofern, naja.
[1] http://www.rootforum.de/forum/viewtopic ... gi+awstats

floogy
Beiträge: 125
Registriert: 19.04.2006 22:43:15

Beitrag von floogy » 24.10.2007 15:12:49

Ist zwar schon lange her, aber die Thematik interessiert mich auch gerade:
Ich habe irgendwo 1) gelesen, dass

Code: Alles auswählen

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
erfolgreich durch

Code: Alles auswählen

ScriptAlias /fcgi-bin/ /var/www/php-fcgi-scripts/VHOST
ersetzt wurde.

Ich bin mir nicht sicher, ob das überhaupt passt, und was gegen ScriptAlias /fcgi-bin/ /usr/lib/cgi-bin/ spricht. :?:
Jedenfalls geht es hier ja eher um Perl, als um PHP.

1) http://www.rootforum.de/forum/viewtopic ... 068#242068
2) http://www.apache.jp/old_docs/mod/mod_fastcgi.html
Important Notes
[...]
3. The ScriptAlias directive takes priority over the AddType directive; a file located in a directory that is the target of ScriptAliasdirective has type application/x-httpd-cgi and is handled by mod_cgi. So don't put FastCGI applications in your /cgi-bin/ directory -- they won't work properly!
EDIT: Ich bin gerade über diesen thread gestolpert:
http://www.debianforum.de/forum/viewtopic.php?t=78073
Ich habe erst die erste Seite des threads gelesen. Der thread scheint aber für das Verständnis des debian HOWTO's apache2+fcgi+suexec sehr gut zu sein. Ich sehe ein leichtes dämmern am Ende des Tunnels... :wink:

Antworten