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,

bin gerade dabei oder besser schon einige Zeit dabei das ERP und CRM aufzusetzen.
Nutze dazu lighttpd und fastcgi auf einer debian whezzly Maschine.

Das Erp einrichten und zum laufen zu bekommen war kein Thema, die Anleitungen sind Top und die Konfiguration für den lighttpd Server hab ich mir noch im Netz gesucht.
Probleme bereitet mir nun aber das CRM zu integrieren. Habe mir die aktuelle Master vom Git geladen und bin entsprechend der install.txt vorgegangen, einziger unterschied, sowohl ERP und CRM liegen bei mir im Verzeichnis /var/www und nicht unter /usr/lib

Php rennt auch, da der aufruf von http://xxx.xxx.xxx.xxx/kivitendo-erp/crm/info.php mir die Rückgabe von phpinfo(); ausgibt.
Wenn ich mich jetzt aber ins ERP einlogge und einen Menupunkt des CRM wähle bekomme ich folgende Fehlermeldung:

CRM-Tabellen sind nicht (vollständig) installiert Fatal error: Cannot
redeclare db2date() (previously declared in
/var/www/kivitendo-crm/inc/stdLib.php:27) in
/var/www/kivitendo-crm/inc/stdLib.php on line 33

Was darauf hindeutet das die stdLib.php irgendwie zweimal eingebunden werden muss.

Nun hab ich gedach, ok schieben wir mal die CRM ins /usr/lib. Dann noch angepasst und wieder Webseite aufrufen.
Nun erscheint die Eingabemaske, mit der Meldung das die Config nicht gefunden werden konnte und man das Verzeichnis aber nicht den Pfad eingeben soll. Habe da einiges probiert, von Kivitendo über Kivitendo-erp, usw. ohne Erfolg. Die Config gehört www-data und hat die Rechte 666.

Ich hoffe jemand hat eine Idee woran das liegen könnte.

Danke
Christian

Gefragt von (120 Punkte)

4 Antworten

+1 Punkt
 
Beste Antwort

Ich habe Kivitendo ERP+CRM unter wheezy mit lighttpd auf einem Raspberry Pi installiert.

Mit den aktuellen Paketen von sf.
Bis auf die Besonderheiten für den Lighttpd verlief die Installation problemlos.

Ein Fehler ist mir dabei allerdings aufgefallen.
Die Variable $erp wurde in $erpConfigFile umbenannt. Leider ist das nicht in der Datei login.php angekommen.
Entweder dort die 2 Stellen ändern oder in der conf.php die Variable erpConfigFile kopieren.

$erpConfigFile='kivitendo';
$erp='kivitendo';

Dann tut dat.

Beantwortet von (6.7k Punkte)
ausgewählt von

Juhu,

genau das hat noch gefehlt :)
So nun kann ich mal etwas damit rumspielen und mich mit dem System vertraut machen.

Wäre schön wenn die Lighttpd Konfigurationsbeschreibung (die ich dir gesendet habe) mit ins Handbuch aufgenommen wird.
Nutze ebenfalls den Raspi und da wäre der Indianer ein NoGo ;-)

Grüße
Christian

Hallo Holgi,
ich hab die Meldung
Configfile nicht gefunden

Lx-Office ERP V 2.7.0 oder größer erwartet!!!

Bitte den Verzeichnisnamen (nicht den Pfad) der ERP eingeben:

wenn ich das verzeichnis ..bei mir kivitendo-erp eingebe, ändert sich nichts. Hab auch schon die conf.php angesehen.
crm version 1.5.5-4 von sourceforge.
Vielen Dank im Vorraus

0 Punkte

Hallo,
bei mir hat geholfen in die crm config hinzufügen:
$erp='Verzeichniszurerp';
dann findet die crm die erp config.

Beantwortet von (910 Punkte)

Hallo,
hab ich probiert ohne Änderung.
Es kommt immer noch die Seite

Configfile nicht gefunden

ERP V 3.0.0 oder größer erwartet!!!

Bitte den Verzeichnisnamen (nicht den Pfad) der ERP eingeben:

Hier nachmal meine jetzige Einrichtung:
ERP ist unter /var/www/kivitendo-erp
CRM ist unter /usr/lib/kivitendo-crm
CRM ist mit ln -s /usr/lib/kivitendo-crm crm ins ERP verlinkt

und hier mal noch die config vom crm:

<?php
// Die volgenden Datenbanken müssen extra installiert werden. Siehe install.txt
$GEODB=false; // Geodatenbank vorhanden
$BLZDB=true; // BLZ-Datenbank vorhanden
$tools=true;
//php-db => "", mdb2 => "m"
$dbmodul="m";
//Xajax => 0.5 evtl. auch 0.6
define("XajaxVer","05");
define("XajaxPath","./crmajax/");
//Xajax = 0.23
//define("XajaxVer","");
//define("XajaxPath","./crmajax/xajax");
$from=16;  // Anrufernummer (Telcall)
$to=18;    // Zielnummer (Telcall)
$constring="created"; // Eindeutiges Wort für Anwahlzeile (Telcall)
$connect=9; // Position eindeutiges Wort (Tellcall)
//Beispiellog von Capilog
//Mon Jul  7 15:31:25 2008 Connection 0x81324f8: Connection object created for incoming call PLCI 101 from $
//Mon Jul  7 15:31:25 2008 Connection 0x81324f8: rejecting with cause 34a9
//Mon Jul  7 15:31:25 2008 Connection 0x81324f8: Connection object deleted
$bgcol[1]="#ddddff";
$bgcol[2]="#ddffdd";
$bgcol[3]="#ff6666";
$bgcol[4]="#fffa05";
$typcol["T"]="#f3f702";
$typcol["M"]="#18f204";
$typcol["S"]="#07d3f7";
$typcol["P"]="#f70727";
$typcol["D"]="#ff4605";
$typcol["X"]="#fa05ff";
$typcol["F"]="#af05ff";
define("FPDF_FONTPATH","/usr/share/fpdf/font/");
define("FONTART","2");
define("FONTSTYLE","1");
$logmail=true;
$jcalendar=true;
$listLimit=500;
$tinymce=true;
$zeigeextra=true;
$jpg=false;
//$jpg=true; //jpgraph
$showErr=false;
$CallEdit = true;
$CallDel = false;
//Verschiedene Map-Anbieter können hier eingestellt werden
//Leerzeichenersatz
//GoYellow
//$planspace="-";
//$stadtplan="http://www.goyellow.de/map/%TOZIPCODE%-%TOCITY%/%TOSTREET%";
//URL
//viamichelin
$planspace="+";
//$stadtplan="http://www.viamichelin.de/viamichelin/deu/dyn/controller/mapPerformPage?strAddress=%TOSTREET%$
//Google
//http://maps.google.de/maps?f=d&hl=de&saddr=89073+ulm,+ulmergasse+11&daddr=Hafenstra%C3%9Fe+5,+24837+Schle$
//$planspace="+";
//$stadtplan="http://maps.google.de/maps?f=d&hl=de&daddr=%TOSTREET%,%TOZIPCODE%+%TOCITY%&saddr=%FROMSTREET%$
$stadtplan="http://maps.google.de/maps?f=d&hl=de&daddr=%TOSTREET%,%TOZIPCODE%+%TOCITY%";
$Expunge=True;
//Seen, Answered, Flagged, Deleted, Draft
$MailFlag='Flagged';
$ttpart='azstd'; //Artikelnummer für Arbeitszeit
$tttime=60;     //Anzahl der Minuten für eine Einheit
$ttround=15;    //Ab hier wird eine Einheit berechnet
$clearonly=True; //Nur eigene Aufträge abrechnen
$logfile=true;
$ERPNAME="kivitendo-erp"; //Verzeichnisname der ERP
// Absolute URI zur ERP. Wird benötgt, um Menü und Stylesheets korrekt darzustellen, und sollte immer geset$
// Wenn dieser Wert leer ist, wird stattdessen versucht ein relativer Pfad zu bilden.
$ERP_BASE_URL='/var/www/kivitendo-erp/';
$erp='/var/www/kivitendo-erp/';
$erpConfigFile='kivitendo'; //Konfigurationsdatei der ERP (ohne .conf-Endung)
$sep_cust_vendor=true; //Links zu verzeichenissen in Kunden und Lieferanten einteilen
$dir_mode=0775; //Rechte erzeugter Verzeichnisse, ToDo: Dateien prüfen
$dir_group='www-data'; //Gruppe für Dateien und Verzeichnisse
$feature_ac=true; //Autocompletion
$feature_ac_minLength='3'; //Eingabelänge für die Aktivierung der Autovervollständigung
$feature_ac_delay='0'; //Verzögerung in ms für die Aktivierung der Autovervollständigung
$feature_unique_name_plz=true; //Doppelte Namen bei gleicher Plz verbieten (Kunden doppelt anlegen)
?>

Hallo,

$erp='kivitendo-erp';

Guten Morgen,

hat nix gebracht.
Hab mir jetzt mal die Datei mit der Meldung rausgesucht, ist die login.php.
In der Ausgabe der Fehlermeldung hab ich die Variable mit der die Konfigfile gesucht wird ausgegeben.
Gesucht wird nach ../kivitendo-erp/config/kivitendo.conf .

Mh hab ich mir gedacht, zugegriffen wird über den Link CRM welcher in kivitendo erstellt wurde.
Das heißt ja das in der Variable das kivitendo-erp raus muss. Gesagt getan und es durch nen . 'Dot' ersetzt.

Und wieder nix :-(.
Also hab ich jetzt das mal auf der Konsole getestet ob ich per ls die Dateien im Config Verzeichnis sehe.
Und das Ergebnis ist, nix.
Nachdem ich mal ls .. gemacht habe ist mir nun auch einiges klar, den der Befehl zeigt mir den Inhalt von /usr/lib an und nicht /var/www/kivitendo-erp.

Hab nun mal in der Login den Pfad Hardcodiert, kommt kein Fehler mehr aber es erscheint dann wieder ganz normal meine ERP Webseite. Vermute mal das der zusammenbau Verzeichnis und Datei noch an anderen Stellen vorkommt.

Klar könnte ich jetzt Erp und Crm wieder in ein Verzeichnis kopieren aber dann bekomme ich ja den PHP Error.

0 Punkte

So nun hab ich noch etwas rumprobiert.
Als erstes erst mal PHP Error und in der PHP.ini aktiviert.
Sorry wenn ich das sage aber das CRM ist uih, sehr bearbeitungsbedürftig.
Viele Variablen werden versucht zu benutzen ohne vorhher zu prüfen ob sie existieren, deswegen auch die vielen Notices von PHP.
Die Anzeige hab ich nun erst mal deaktiviert um meinen anderen Fehler mit dem zweimaligen einbinden auf die Spur zukommen.
Aber ausser der Fehleranzeige und ein paar globale Variablen kam nix weiter zurück.
Nachdem ich mich etwas belesen hatte, was genau die ursache für meine Fehler sein kann, hab ich dann den kompletten Code durchsucht und zwar überall wo stdLib.php eingebunden wird.
Und siehe da, es gibt viele stellen wo nur require oder include benutzt werden.
Diese hab ich alle abgeändert in require_once und include_once und siehe da, nun kommt die Seite mit den installationsvoraussetzungen.
Da ich dort noch 3 Sachen rot habe, wird es noch etwas dauern bis es läuft aber ich denke das hier noch einiges an Arbeit drin steckt auch für die Projektentwickler.

Beantwortet von (120 Punkte)

Hi Christian,
grundsätzlich ist es egal in welchem Verzeichnis die CRM liegt.
An der Konfigurationsdatei fiel mir folgendes auf:

$ERP_BASE_URL='';

sollte leer sein. Wird nur in Sonderfällen (Kivi hinter Proxy o.ä) benötigt.

$erp='/var/www/kivitendo-erp/';

kann entfallen. (Heißt jetzt $erpConfigFile)

Die CRM erhält gerade komplett neue Bibliotheken.
In der Git-Version kann sich immer mal ein Fehler einschleichen. Diese Fehler sind meistens einige Commits später beseitigt. Zum Aktualisieren ein git pull ausführen. Doch Vorsicht das Kivitendoprojekt ist gerade zu Github umgezogen.
Eventuell noch einmal ein git clone https://github.com/kivitendo/kivitendo-crm.git ausführen.

Sorry wenn ich das sage aber das CRM ist uih, sehr
bearbeitungsbedürftig.

Die CRM benutzt sehr viele Bibliotheken dadurch kommt es bei einem niedrigen Errorlevel zu sehr vielen Meldungen.
Die meisten dieser Meldungen entstehen durch die eingebundenen Bibliotheken bzw deren Code und liegen somit nicht in der Hand der Entwickler der CRM. Einfach das Errorlevel hochsetzen.

Falls Fehler gefunden werden, versuche diese zu reproduzieren und dann kurz und knapp ins Trac schreiben.
https://trac.kivitendo.de/wiki
Gefundene Lösungen können als Patch angehangen werden. Mitarbeit ist bei Opensource-Projekten ausdrücklich erwünscht.

Viele Grüße Ronny

Hallo Ronny,

danke für Antwort.
Im Trac hab ich diesen Beitrag als Erklärung schon gemeldet.
Das mit den Verzeichnis ist nicht so einfach wie du denkst, schau mal den Kommentar von mir auf die Antwort von Fritz Pörschke, da sieht man wie das bei mir zusammengebaut wurde.

Was die Meldungen angeht ist auch nicht in erster Linie die fremden Libs. Im CRM wird meistens per

if($variable[x])

geprüft und diese wirft schon Meldungen.
Besser wäre da

if(isset($variable[x]) && $variable[x])

zu benutzen.
Die direkte Mitentwicklung ist mom. aus Zeitmangel schlecht, da ich selber noch genug Projekte zum abarbeiten habe.

Grüße
Christian

Löst Commit 8c686a23386

VG Ronny

Heute Früh die neuste Master vom Git gezogen und mit den Tip von Holgi rennt es nun.

Danke

was ist der tipp?

0 Punkte

Hallo

Ich möchte auch lighttpd als Webserver verwenden. Kann mir jemand kurz erklären was ich wie einstellen muss?

Mfg
Jens

Beantwortet von (140 Punkte)

Ähnliche Fragen

0 Punkte
2 Antworten
0 Punkte
2 Antworten
Gefragt 17, Jul 2013 von leo_kivi (940 Punkte)
0 Punkte
1 Antwort
Gefragt 11, Jun 2018 von nschneider (330 Punkte)
0 Punkte
3 Antworten
Gefragt 22, Apr 2014 von scotty (100 Punkte)
...