# PERL und ISPConfig 3



## batman (7. Juni 2009)

Hi Leute,

ich benutze eine einwandfrei funktionierende ISPConfig 3.0.1.3.

Ich möchte nun eine Webpage die Perl benötigt zum laufen bekommen, daher meine frage, wie kann ich dies am einfachsten in einem ispconfig-umfeld bewerkstelligen?

Eine Direktive für Apache2, wie wund wo sollte diese bitte dann abgelegt werden?

Vielen Dank.

batman


----------



## Till (8. Juni 2009)

Schalte einfach CGI für die Website an, dann kannst Du perl CGI Scripte verwenden. Die Scripte müssen dann ins cgi-bin Verzeichnis der Website.


----------



## batman (8. Juni 2009)

Hallo Till,

vielen Dank für Deine Antwort.

Genau das Fuxt mich ja, ich habe eine HP mit diversen Perl-Skripten, z.T. sind auch andere Dateitypen dabei, soll ich nun die Perl-Skripte aus der "Struktur" herausreisen und in ein anderes Verzeichnis (CGI-Bin) werfen, dann könnten doch andere darauf verweisende Dateien diese garnicht mehr finden?

Oder muss ich vl. die ganze Seite dorthin legen?

Es handelt sich um Request Tracker, der in Perl geschrieben ist, er hat teilweise PL-Dateien und andere...

Danke.

Gruss,
batman


----------



## Till (8. Juni 2009)

Ok, dann macht es vermutlich mehr Sinn perl für die Ganze Seite zu erlauben, z.B. über mod_perl. In dem Fall müsstest Du CGI nicht aktivieren und dann die notwendigen Direktiven für mod_perl in das apache Direktiven Feld tun.


----------



## batman (1. Sep. 2009)

hi till,

kannst du mir vl. sagen welche direktive dies sein könnte um perl freizuschalten?

danke.

gruss,
b


----------



## Till (2. Sep. 2009)

In der .vhost Datei dieser Website im sites-enabled Verzeichnis muss folgendes drin stehen:

<Directory {tmpl_var name='document_root'}/cgi-bin>
      Order allow,deny
      Allow from all
    </Directory>
    ScriptAlias  /cgi-bin/ <tmpl_var name='document_root'>/cgi-bin/
    AddHandler cgi-script .cgi
    AddHandler cgi-script .pl

Du musst außerdem nochmal kontrollieren, dass selinux und apparmor definitiv ausgeschaltet sind, da sie jegliche CGI Scripte blockieren.


----------



## batman (4. Sep. 2009)

Vielen Dank Till!


----------



## he-du (4. Nov. 2009)

Hi,

da bin ich auch grade dran perl zu aktivieren. habe das mal hinzugefügt aber wenn ich apache neustarte bekomm ich immer eine fehlermeldung:


```
Restarting web server: apache2We failed to correctly shutdown apache, so we're now killing all running apache processes. This is almost certainly suboptimal, so please make sure your system is working as you'd expect now! (warning).
 ... waiting Syntax error on line 69 of /etc/apache2/sites-enabled/test.XYZ.firma.de.vhost:
Multiple <Directory> arguments not (yet) supported.
 failed!
```


----------



## Till (4. Nov. 2009)

Poste bitte mal den Inhalt der Datei 
/etc/apache2/sites-enabled/test.XYZ.firma.de.vhost


----------



## he-du (4. Nov. 2009)

Hi,


```
<Directory /var/www/test.xyz.firma.de>
    AllowOverride None
    Order Deny,Allow
    Deny from all
</Directory>

<VirtualHost *:80>
      DocumentRoot /var/www/test.xyz.firma.de/web

    ServerName test.xyz.firma.de
    ServerAlias *.test.xyz.firma.de
    ServerAdmin webmaster@test.xyz.firma.de

    ErrorLog /var/log/ispconfig/httpd/test.xyz.firma.de/error.log

    ErrorDocument 400 /error/400.html
    ErrorDocument 401 /error/401.html
    ErrorDocument 403 /error/403.html
    ErrorDocument 404 /error/404.html
    ErrorDocument 405 /error/405.html
    ErrorDocument 500 /error/500.html
    ErrorDocument 503 /error/503.html

    <Directory /var/www/test.xyz.firma.de/web>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all

        # ssi enabled
        AddType text/html .shtml
        AddOutputFilter INCLUDES .shtml
        Options +Includes
    </Directory>
    <Directory /var/www/clients/client3/web17/web>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all

        # ssi enabled
        AddType text/html .shtml
        AddOutputFilter INCLUDES .shtml
        Options +Includes
    </Directory>
     # cgi enabled
        <Directory /var/www/clients/client3/web17/cgi-bin>
      Order allow,deny
      Allow from all
    </Directory>
    ScriptAlias  /cgi-bin/ /var/www/clients/client3/web17/cgi-bin/
    AddHandler cgi-script .cgi
    AddHandler cgi-script .pl
    # suexec enabled
    SuexecUserGroup web17 client3
    # php as fast-cgi enabled
    <Directory /var/www/test.xyz.firma.de/web>
        AddHandler fcgid-script .php .php3 .php4 .php5
        FCGIWrapper /var/www/php-fcgi-scripts/web17/.php-fcgi-starter .php
        Options +ExecCGI
        AllowOverride all
        Order allow,deny
        Allow from all
    </Directory>

DirectoryIndex index.php

<Directory {tmpl_var name='document_root'}/cgi-bin>
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ <tmpl_var name='document_root'>/cgi-bin/
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
</VirtualHost>
```
die directive habe ich einfach übers ISPconfig webinterface hinzugefügt.


----------



## Till (4. Nov. 2009)

> die directive habe ich einfach übers ISPconfig webinterface hinzugefügt.


Und genau das ist der Grund des Fehlers. Du musst das, was Du manuell eingefügt hast, wieder rauslöschen. Es ist nicht nötig etwas manuell einzufügen.


----------



## he-du (4. Nov. 2009)

Zitat von Till:


> Und genau das ist der Grund des Fehlers. Du musst das, was Du manuell eingefügt hast, wieder rauslöschen. Es ist nicht nötig etwas manuell einzufügen.


Hi,

aber irgendwo muss doch das dann eingetragen werden? Wenn nicht manuell eintragen wie dann? Über SSH die datei editieren kommt ja auf das selbe hinaus


----------



## Till (4. Nov. 2009)

Du musst überhaupt nichts eintragen und erst recht nichts manuell editieren (damit schießt du höchstens Deinen Sefver ab, wie Du ja schon festgestellt hast), einfach nur einen Haken bei CGI machen, das ist alles.


----------



## he-du (4. Nov. 2009)

Zitat von Till:


> Du musst überhaupt nichts eintragen und erst recht nichts manuell editieren (damit schießt du höchstens Deinen Sefver ab, wie Du ja schon festgestellt hast), einfach nur einen Haken bei CGI machen, das ist alles.


Dann müssen die scripte aber im CGI verzeichnis liegen. Das selbe problem wie der thread starter hier auch hat... ich müsste dann die ganzen scripte aus der struktur reißen wird denke ich nicht funktionieren.


----------



## Till (4. Nov. 2009)

Wie heißt denn das Unterverzeichnis Deiner Software, das die eigentlichen CGI Scripte enthält?


----------



## he-du (4. Nov. 2009)

die sind überall da verstreut. Das verzeichnis liegt unter 
/var/www/client3/web17/web/twiki/


----------



## Till (4. Nov. 2009)

Dann versuch es mal so. Füge diese Zeile im apache direktiven Feld ein:

ScriptAlias  /twiki/ /var/www/clients/client3/web17/web/twiki/

und dann warte aber min. eine Minute damit die Config neu geschrieben wurde


----------



## he-du (4. Nov. 2009)

hmm da bekomme ich nun egeal was ich aufrufe immer nen Fehler 500


----------



## Till (4. Nov. 2009)

Dann schau halt im error log der Webseite nach, was der Fehler ist.


----------

