Willkommen im kivitendo Forum! Hier erweitern und teilen AnwenderInnen und EntwicklerInnen ihr Wissen.

Teste kivitendo!

kivitendo Demo

kivitendo Demo mit Schweizer Kontenplan

Geld allein macht nicht glücklich - benutzt kivitendo!

0 Punkte

Hallo zusammen.

Ich versuche gerade die aktuelle Version von kivitendo zu installieren.
Alle Perl Module sind installiert, und werden als OK getestet.
Das Tar Archiv wurde in eine Plesk-Subdomain entpackt, die http.include angepasst, aber trotzdem bekomme ich immer folgende Meldung des Apache:

[Fri Jan 10 07:14:08 2014] [error] Can't locate SL/Dispatcher.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl . /etc/apache2) at /var/www/vhosts/(domain)/subdomains/kivitendo/httpdocs/controller.pl line 5.\nBEGIN failed--compilation aborted at /var/www/vhosts/(domain)/subdomains/kivitendo/httpdocs/controller.pl line 5.\n

Wenn ich die Webseite mittels http://kivitendo.domain.de aufrufe, springt die URL auf
https://kivitendo.domain.de/controller.pl?action=LoginScreen/user_login um, somit sollte perl ja eigentlich funktionieren.

Kann mir jemand einen Tip geben, warum die Datei ./SL/Dispatcher.pm nicht gefunden wird? Ist das eine open_basedir Sache? (Nur der Hauptordner ist freigegeben)
Wo kann ich Suchen, um den Fehler zu finden?

Nachtrag: Aktuell verwende ich die in "Grundkonfiguration mittels CGI" angegebenen Einstellungen für den Apache, noch kein FastCGI
Danke und Gruß,
Dirk

Gefragt von (20 Punkte)
wieder getaggt von

1 Antwort

0 Punkte

[Fri Jan 10 07:14:08 2014] [error] Can't locate SL/Dispatcher.pm in @INC (@INC contains:

klingt nach einem Problem in Deiner Apache Config. Kontrolliere noch mal alle Pfade

Denke auch daran, das fals Du mehrere Alias Direktiven verwendest, die Speziellere vor der allgemeineren kommen muss

Beispiel
 
#falsch
Alias /kivitendo-erp/ /var/www/kivitendo-erp/
Alias /kivitendo-erp/css /var/www/schoenes-css
 
#richtig
Alias /kivitendo-erp/css /var/www/schoenes-css
Alias /kivitendo-erp/ /var/www/kivitendo-erp/

Kann mir jemand einen Tip geben, warum die Datei ./SL/Dispatcher.pm nicht gefunden wird? Ist das eine open_basedir Sache? (Nur der Hauptordner ist freigegeben)
Wo kann ich Suchen, um den Fehler zu finden?

Der Nutzer unter dem der http-server lauft (wahrscheinlich www-data) muss SL/Dispatcher.pm lesen duerfen

#Test
sudo -u ww-data
cat /var/www/kivitendo-erp/SL/Dispatcher.pm
Beantwortet von (17.9k Punkte)

Das war es leider nicht.
Die http.include für die Domain sieht so aus:

<VirtualHost xxx:80>
        ServerName   kivitendo.domain.de:80
        SuexecUserGroup         domain_ftp psacln
        ServerAdmin  "info@domain.de"
        DocumentRoot /var/www/vhosts/domain.de/subdomains/kivitendo/httpdocs
        CustomLog  /var/www/vhosts/domain.de/statistics/logs/access_log plesklog
        ErrorLog  /var/www/vhosts/domain.de/statistics/logs/error_log
        ScriptAlias  /cgi-bin/ /var/www/vhosts/domain.de/subdomains/kivitendo/cgi-bin/
        AddHandler cgi-script .pl
        <Directory  /var/www/vhosts/domain.de/subdomains/kivitendo/httpdocs>
           Options ExecCGI Includes FollowSymlinks
        </Directory>
 </VirtualHost>

Alles andere habe ich schon entfernt.
Trotzdem will er nach wie vor nicht SL/Dispatcher.pl finden...

Das sudo -u ww-data cat /var/www/kivitendo-erp/SL/Dispatcher.pm hat mir, wie erwartet, den Inhalt der Datei geliefert. Die Rechte stimmen eigentlich...

Aber danke für die Hilfe


  <VirtualHost xxx:80>
            ServerName   kivitendo.domain.de:80
            SuexecUserGroup         domain_ftp psacln
            ServerAdmin  "info@domain.de"
            DocumentRoot /var/www/vhosts/domain.de/subdomains/kivitendo/httpdocs
            CustomLog  /var/www/vhosts/domain.de/statistics/logs/access_log plesklog
            ErrorLog  /var/www/vhosts/domain.de/statistics/logs/error_log
            ScriptAlias  /cgi-bin/ /var/www/vhosts/domain.de/subdomains/kivitendo/cgi-bin/
            AddHandler cgi-script .pl
            <Directory  /var/www/vhosts/domain.de/subdomains/kivitendo/httpdocs>
               Options ExecCGI Includes FollowSymlinks
            </Directory>
     </VirtualHost>

Das sudo -u ww-data cat /var/www/kivitendo-erp/SL/Dispatcher.pm hat mir, wie erwartet, den Inhalt der Datei geliefert. Die Rechte stimmen eigentlich...

na wenn Das Stimmt (glaube ich nicht denn da steht als user ww-data) das Du es mit diesem Pfad "/var/www/kivitendo-erp/SL/Dispatcher.pm" zu tun hast,
und der cat Befehl funktioniert hat, kann Dein Apache Konfig nicht stimmen. Denn Die verweist auf
diesen Pfad /var/www/vhosts/domain.de/subdomains/kivitendo/httpdocs

Kontroliere noch mal Deine Pfade. die Anleitung kennst du ja
https://demo.kivitendo.de/beta/doc/html/ch02s06.html#d0e697
Nimm erstmal wirklich diese Minimalconfig. Nenne auch die Url kivitendo erreicht werden soll. Am besten auch hier erstmal dem Beispiel in der Doku folgen (http://DOMAIN/kivitendo-erp).
Damit eine Hilfestellung im Forum moeglich wird, bitte wirklich via copy&paste die Befehle und deren Ausgaben hier posten, anders koennen wir Dich nicht unterstuetzen, dass Du Deinen Fehler findest.

Mea culpa. Blöder Copy & Paste Fehler. Aber ich habe ja keinen Doktortitel, den ich verlieren kann :D

Ich meinte natürlich, dass ein sudo -u ww-data cat /var/www/vhosts/domain.de/subdomains/kivitendo/httpdocs/SL/Dispatcher.pm zum Erfolg führt. /var/www/kivitendo-erp wird nirgends verwendet oder auch nur angezeigt.

Mein Problem ist nur, dass Plesk einige Anforderungen an die Domain stellt, und ich muss die Basiskonfiguration von Kivitendo mit Plesk vereinbaren (open_basedir, ...) Aber ich versuche, so nah wie möglich an der Vorlage zu bleiben...

na wenn das plesk ist solltest Du es auch damit konfigurieren. Oder Du machst eine neue Server-Installation ohne Plesk.
Bei plesk, Confixx und co. in den Configs selber rumschreiben gibt einfach zu oft theater.

...