PERL und ISPConfig 3

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von batman, 7. Juni 2009.

  1. batman

    batman New Member

    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
     
  2. Till

    Till Administrator

    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.
     
  3. batman

    batman New Member

    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
     
  4. Till

    Till Administrator

    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.
     
  5. batman

    batman New Member

    hi till,

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

    danke.

    gruss,
    b
     
  6. Till

    Till Administrator

    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.
     
  7. batman

    batman New Member

    Vielen Dank Till!
     
  8. he-du

    he-du New Member

    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:

    Code:
    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!
    
    
    
    
     
  9. Till

    Till Administrator

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

    he-du New Member

    Hi,

    Code:
    <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.
     
  11. Till

    Till Administrator

    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.
     
  12. he-du

    he-du New Member

    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
     
  13. Till

    Till Administrator

    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.
     
  14. he-du

    he-du New Member

    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.
     
  15. Till

    Till Administrator

    Wie heißt denn das Unterverzeichnis Deiner Software, das die eigentlichen CGI Scripte enthält?
     
  16. he-du

    he-du New Member

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

    Till Administrator

    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
     
  18. he-du

    he-du New Member

    hmm da bekomme ich nun egeal was ich aufrufe immer nen Fehler 500 :(
     
  19. Till

    Till Administrator

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

Diese Seite empfehlen