Open-Source-CRM: Wie man vtiger CRM 5.1.0 auf eigenem Webspace installiert

In der Vergangenheit habe ich bereits die Installation von vtiger 5.0.4 auf eigenem Webspace und die Lösung einer problematischen Migration von Version 5.0.4 auf Version 5.1.0 beschrieben. Wohl dem, der das Glück hat, nun ganz neu anfangen zu dürfen. Im nun folgenden beschreibe ich, wie man vtiger CRM 5.1.0 auf eigenem Webspace installiert.

Mit ein bisschen Übung vergehen während der im folgenden beschriebenen Prozedur gerade mal zwei Stunden. Zumindest, sofern keine Probleme auftauchen, man nicht doch noch die eine oder andere Sache klären, recherchieren oder erlernen muss, man nicht versehentlich Fehler macht und nicht abgelenkt wird. Es kostet also bestenfalls einen lauen Vormittag oder einen verregneten Abend, sich auf einem selbst angemieteten Speicherplatz im Internet ein voll funktionsfähiges Customer Relationship Management zu installieren, das, online verfügbar und mit den üblichen PIM-Programmen wie Outlook, Thunderbird oder Google verknüpfbar, für ein beliebig großes Team Vertriebsunterstützung bieten kann. Wem die Untiefen der Installation nicht geheuer sind, dem biete ich an, die Installation auf seinem Webspace gegen kleines Endgelt und Rechnung zu installieren. Nun aber zur Sache.

Die Installationsvarianten

Dem Anwender stehen prinzipiell zwei unterschiedliche Möglichkeiten der Installation von vtiger CRM zur Verfügung. Die erste Möglichkeit besteht darin, vtiger CRM lokal auf dem eigenen Rechner mittels einer eigens hierfür angebotenen Installationsroutine zu installieren. Diese installiert auf einem PC zunächst eine Apache-MySQL-PHP-Umgebung, um dann den in PHP geschriebenen Quellcode von vtiger in das Verzeichnis /htdocs des gerade installierten Apache-Servers zu kopieren. Eine solche Installation steht dann entweder nur lokal auf dem betreffenden Rechner zur Verfügung, auf dem vtiger installiert worden ist, oder wird von dort aus dem Büronetzwerk zur Verfügung gestellt, an das der Rechner angeschlossen ist. Hierfür muss nur in der Konfigurationsdatei des Apache unter „Listen“ die feste IP-Adresse des PC im LAN eingetragen werden. Eine solche Installation ist jedoch in der Regel von außerhalb des Büros nicht erreichbar. Man mag das als Gewinn an Sicherheit sehen. Oder, man erlebt es als Barriere bei der Nutzung mobiler Endgeräte, bei der Zusammenarbeit mit externen Partnern oder Zweigniederlassungen.

Die zweite Möglichkeit einer vtiger-Installation eröffnet daher mehr Möglichkeiten. Sie besteht darin, eine bestehende Apache-MySQL-PHP-Umgebung zu nutzen, wie sie zum Beispiel für einen angemieteten Webspace üblich ist. Die Installation von vtiger auf einem Server im Internet legt insofern nahe. Hier wird nun lediglich der Source-Code installiert wird. Für eine solche Source-Installation steht vtiger „Source“ als gepackte Datei zum Download bereit. Bedingung einer Installation auf einem eigenen Webspace ist, dass hier mindestens 60 MB Speicherplatz, Apache 2.0.40 oder höher, MySQL 4.1.x bis 5.1.x und PHP 5.0.x bis 5.2.x zur Verfügung stehen (siehe auch die vtiger510:Release Notes. Die Anpassbarkeit der PHP-Variablen mittels einer im gewünschten Installationsverzeichnis ablegbaren php.ini-Datei oder mittels .htaccess ist von Vorteil.
Sehr gute Erfahrungen habe ich bislang mit Goneo, Alfahosting und Hosteurope gemacht – um nur drei der unendlich vielen möglichen Anbieter zu nennen. Man sollte insbesondere darauf achten, dass der Provider SSL-Unterstützung anbietet. Dazu aber später.

vtiger CRM 5.1.0 installieren

Die Installation beginnt damit, den Quellcode herunterzuladen, in einem lokalen Verzeichnis auf dem eigenen Rechner zu entpacken und dann via FTP auf einen bei einem Webhosting-Anbieter angemieteten Speicherplatz hochzuladen. Nach dem Upload der rund 55 MB ruft man im Browser die Installationsroutine auf, die vtiger CRM installiert. Hierzu gibt man einfach den Pfad der Installation ein, also beispielsweise https://www.meinedomain.de/beispielverzeichnis/ . Es erscheint dann der Begrüßungsdialog, in der zwischen Migration einer bestehenden Installation („Migrate“) und Neuinstallation („Install“) gewählt werden kann. Während der Installation legt vtiger seine Konfigurationsdatei und seine Datenbanktabellen an. Die Installation erfordert dabei zweierlei. Erstens ist mittels PhpMyAdmin zu überprüfen, ob für die gewünschte Datenbank die Kollation „utf_general_ci“ eingestellt ist. Wenn nicht, muss man das ändern, damit die Installationsroutine feststellt, dass eine Unterstützung von UTF-8 durch die Datenbank gegeben ist. Das erspart einem Schereien mit Umlauten und Sonderzeichen. Zweitens sind die PHP-Variablen korrekt einzustellen. Bei Goneo ist dies möglich, indem man eine php.ini-Datei mit den notwendigen Einstellungen in das gewünschte Installationsverzeichnis legt. Die php.ini-Datei enthält beispielsweise folgende Einstellungen:


max_execution_time = 600
error_reporting = E_WARNING & ~E_NOTICE
allow_call_time_pass_reference = On

Als .htaccess-Datei sieht das Ganze so aus (man bemerke die spezifisch andere Schreibweise bei error_reporting):

Options -Indexes
php_value max_execution_time 600
php_value error_reporting 2039
php_flag allow_call_time_pass_reference On

Sind die richtige Kollation der Datenbank und die PHP-Variablen eingestellt, startet man die Installation. Man akzeptiert die Lizenzrechtlichen Belange, akzeptiert die voreingestellte Erweiterung der Installation um einige bereits mitgelieferte Komponenten, hinterlegt im Dialog die MySQL-Zugangsdaten sowie Passwörter und Emailadressen von Administrator und Standardbenutzer des CRM und quittiert die nochmals zur Prüfung angezeigten Daten. Im nächsten Schritt quittiert die Installation dann die Erstellung der Konfigurationsdatei. Dann werden die Datenbanktabellen erstellt, was einige Zeit dauern kann. Im glücklichen Normalfall gelingt dies. Man kann sich dann zum ersten Mal am System mit den Administrator-Zugangsdaten am System anmelden. Die Installation ist geglückt.

Unangenehmerweise gelingt gerade dieser letzte Schritt der Anlage der Datenbanktabellen häufig nicht, weil vtiger zur Ausführung des Befehls die vom Server maximal zugelassene Zeit überschreitet. Aus nur schwer nachvollziehbaren Gründen bricht die Installationsroutine dann ab. In diesem Fall kann man versuchen, das CRM auch ohne erfolgreich abgeschlossenen Installationsdialog aufzurufen, in der Hoffnung, dass es einfach nur nicht mehr für die Erfolgsmeldung gereicht hat. Führt dies aber zu Fehlern, werden beispielsweise Fehlermeldungen, eine leere Seite oder ähnliches angezeigt, sind die Datenbanktabellen meist unvollständig, weil die Installationsroutine versagt hat. In diesem Fall besteht die Möglichkeit, vtiger CRM auf einer lokalen Apache-MySQL-PHP-Umgebung auf dem eigenen PC zu installieren, die dort erstellten Datenbanktabellen mittels PhpMyAdmin als SQL zu exportieren und mittels PhPMyAdmin des Webspace in die Datenbank der Webinstallation zu importieren, um auf diese Weise zu vollständig erstellten Datenbanktabellen zu gelangen. Ich empfehle hierzu, ApacheFriends XAMPPlite in der Version 1.7.1 zu nutzen, da hierin PhpMyAdmin bereits enthalten ist. Aber Achtung! Bei späteren Versionen von XAMPP misslingt die vtiger-Installation aus anderen Gründen.

Sicherheit

Die Möglichkeit der Absicherung von vtiger auf einem eigenen Webspace mittels SSL und htaccess habe ich an anderer Stelle ausführlich dargestellt. Die Installation sollte nach Möglichkeit in ein Verzeichnis erfolgen, das serverseitig eine SSL-geschützte Client-Server-Verbindung ermöglicht. Man kann bereits vor der Installation zusätzliche Sicherheit schaffen, indem man zusätzlich zur vtiger-Benutzer-Authentifikation einen htaccess-Verzeichnisschutz für das Installationsverzeichnis einrichtet, welcher dann alle anderen untergeordneten Verzeichnisse einschließt. Nach der Installation ist es dann höchste Zeit für diese Massnahme. Möchte man allerdings den ContactGrabber in der aktuellen Version nutzen (und ich bin ziemlich sicher, dass das jeder möchte, der ihn erstmal für sich entdeckt hat), dann wird man den htaccess-Schutz entweder deaktivieren müssen, sobald man ContactGrabber nutzt. Oder aber, man beschränkt den htaccess-Schutz allein auf das Verzeichnis /storage. Dieses Verzeichnis beinhaltet die Dateien, die man hochladen und einzelnen Kontakten zuordnen kann.

Sprache einstellen

Wenn man vtiger CRM mit den Administrator-Zugangsdaten zum ersten Mal betreten hat, kann es im Prinzip schon losgehen. Es gibt jedoch relativ viele „erste Schritte“, bevor es wirklich produktiv wird. Es empfiehlt sich zunächst, einen endgültigen Status der Installation zu erreichen, um erst dann mit der Konfiguration von Benutzerrechten, Benutzern, Auswahllisten und dergleichen zu beginnen. Der allererste Schritt wird darin bestehen, das deutsche Sprachmodul zu installieren. Zunächst ist nämlich alles auf Englisch. Nach dem Login geht man daher auf „Settings“ > „Modul Manager“ und dort auf „Custom Modules“. Über die Schaltfläche „Import New“ hat man dann die Möglichkeit, das Sprachmodul German de_de language pack for vtiger CRM 5.1.0 hochzuladen, dass dankenswerter Weise von crm-now als Extension zum kostenlosen Download angeboten wird. Nach der Installation des Sprachmoduls kann man dann noch in der config.inc.php die voreingestellte Sprachauswahl auf Deutsch voreinstellen, indem der Wert „$default_language“ auf „de_de“ gesetzt wird. Das sieht dann so aus:

$default_language = 'de_de';

Interessante Erweiterungen installieren

Ehe man mit der „weichen Konfiguration“ von Mailserver-Daten, Backup-Routinen, Benutzerrechten, Auswahllisten und den vielen anderen Möglichkeiten beginnt, die der Administrationsbereich von vtiger bietet (siehe hierzu meine Beiträge zur Nutzung von vtiger zur Umsetzung der Vertriebskonzeption), sollte man die Gelegenheit der Softwareinstallation auch gleich nutzen, einige interessante Erweiterungen zu installieren bzw. in Betrieb zu nehmen.
Hierzu zählen die Konfiguration der von ContactGrabber benötigten SOAP-Schnittstelle, die Installation von vgcal for vtiger CRM 5.1.0 zur Kommunikation mit Google Calendar (was z.B. für die Synchronisation mit Thunderbird ein interessanter Workaround ist), der PDF Configurator for v5.1 zur Anpassung der Layouts der aus vtiger exportierbaren PDF-Dokumente wie beispielsweise Angebote und Rechnungen oder auch die Installation des OpenOffice Merge Feature.

14 Kommentare

    Walid

    Danke für die Anleitung – hat mir geholfen!
    Habe noch einen Hinweis zum deutschen Sprachmodul:

    Bei mir wurden die Umlaute erst richtig angezeigt, als ich in der config.inc.php den Wert $default_charset = ‚UTF-8‘; gesetzt habe. Defaultmäßig war da nämlich nach dem Download „ISO….“ eingestellt.

    Norwe

    Danke, mir hats auch geholfen, ebenso der Hinweis von Walid.

    Für 1&1 webspace wäre noch zu bemerken, dass die neu erstellte php-ini hochgeladen werden muss bevor die eigentliche Installation erfolgt. Die php.ini ist zwingend erforderlich.

    Die entsprechenden Einträge (wie oben beschrieben) in die htaccess.txt oder .htaccess einzufügen führt nicht zum Erfolg

    Dann muss eine Datei mit Namen
    .htaccess (ohne suffix.txt)mit folgendem Inhalt ins rootverzeichnis geladen werden

    AddType x-mapp-php5 .php
    AddHandler x-mapp-php5 .php

    ohne die geht nix, standardmäßig steht nur php 4.6 zur Verfügung und vtiger läßt sich erst gar nicht installieren

    Jay

    Besten Dank, genau das, was ich gesucht habe..!
    Wenn ich mir dagegen andere Anleitungen anschaue, weiss ich, warum ich gerade in diesem Moment nach deiner vorgehe:)
    Hoch lebe vTiger:))

    Carsten

    Danke für die Anleitung. Damit bin ich bis zu dem Punkt gekommen, an dem die Datentabellen angelegt werden sollen, dann aber (auf einem 1und1 managed-Server) der Timeout (504 Gateway Time-out) kommt. Leider reichen meine Kenntnisse für die lokale Variante mit hochladen via PhpMyAdmin nicht aus. Gibt es zwischenzeitlich noch andere Workarounds? Würde mich über Hinweis sehr freuen. Besten Dank.

    Florian Dieckmann

    Hallo Carsten, der von mir vorgeschlagene Workaround ist der einzige, den ich für mich entwickelt habe. Der Knackpunkt ist meines Wissens die Serverlaufzeit. Vielleicht kann der Serveradmin die Serverlaufzeit für Dich kurzfristig auf die von vtiger verlangte Zeit hochsetzen, damit Du die Installationsroutine normal laufen lassen kannst. Kleinere Provider machen das manchmal und geben einem dann ein, zwei Stunden Zeit, die zu erledigende Sache zu machen…

    fas77

    Hallo Carsten!
    Ich hänge auch bei der Installation auf einem Webserver. Daten per filezilla rauf- Schreib Lese Rechte gesetzt. Install.php aufgerufen- Datenbank eingetragen ( Leider bei der Konfiguration vorher einige rote Punkte) dann ein leerer screen. Nicht mal eine Fwehlermeldung.
    Eventuell würde mich Dein Angebot interessieren, wenn Du mir bitte Deine Konditionen mailst. (Muss ja nicht hier)

    MfG,

    fas 77

    fas77

    Sry , Florian!

    Florian Dieckmann

    Kein Problem.

    Josef Spang

    Sehr geehrter Herr Dieckmann,

    Nachdem ich VTiger 5.4.0 nach Ihrer Anleitung installiert habe bekomme ich folgenden Fehler:

    Fatal error: Uncaught exception ‚Exception‘ with message ‚result is not an object‘ in /var/www/l3s2136/html/vtigercrm/include/database/PearDatabase.php:789 Stack trace: #0 /var/www/l3s2136/html/vtigercrm/index.php(120): PearDatabase->query_result(false, 0, ‚current_version‘) #1 {main} thrown in /var/www/l3s2136/html/vtigercrm/include/database/PearDatabase.php on line 789

    Kennen Sie das und gibt es hier eine Möglichkeit das zu beheben?

    Besten Dank und herzlichen Gruß
    Josef Spang

    Florian Dieckmann

    Hallo Herr Spang, die Frage ist nicht so leicht zu beantworten. Es ist aber denkbar, dass die Lösung relativ einfach ist. Ich empfehle Ihnen, das Problem im Forum von vtiger unter https://forums.vtiger.com/viewforum.php?f=58 zur Sprache zu bringen und mittels der dortigen Suchmaske nach ähnlichen Problemen/Lösungen Aussicht zu halten. Oder sie wenden sich an einen Dienstleister. Ich empfehle Ihnen Herrn Andreas Göbel, der u.a. auf vtiger spezialisiert ist. Siehe http://www.a-g-c.de

    Splini

    Guten tag,
    auf der Suche nach einer Problemlösung bin auf diesen Post gestoßen.
    Ich habe vTiger 5.4.0 auf einem Server bei Hosteurop installiert. Ich bekomme die Mailfunktion nicht hin. Wenn ich im Mailserver meine Daten angebe will er nicht speichern. Habe dann bei Different Solution im Forum was gefunden wonach man in der class.phpmailer.php (modules/emails) dien Code änder soll:
    von: function IsSMTP() {
    $this->Mailer = „smtp“;
    auf: function IsSMTP() {
    $this->Mailer = „sendmail“;

    Danch läßt sich der Mailserver zwar speichern, Mail funzt aber trozdem nicht.

    Sie schreiben das Sie Hosteurope empfehlen können. Können Sie mir helfen??

    Florian Dieckmann

    Die Sendmail-Funktion ist auf dem Server unter Umständen deaktiviert, weil sie meines Wissens die Möglichkeit für Spam durch Dritte Tür und Tor öffnet, sofern Scripte, die diese Funktion benutzen, von Dritten manipuliert, d.h. gehackt werden können. Insofern stellt die Umstellung auf SMTP mit zugehöriger Authentifierung eigentlich einen Fortschritt dar. Warum aber SMTP nicht läuft, ließe sich u.U. mit dem Server-Admin besprechen, weil es sein kann, dass das vtiger-script und die Konfiguration des vorhandenen SMTP-Servers nicht kompatibel sind oder kompatibel gemacht werden könnten. Ich würde es alternativ noch mit einer Diskussion bzw. einer Suche im Supportforum unter http://vtiger.com probieren.

    Kai

    Hallo, auch ich habe 5.4.0 auf meinem Hosteurope Webpack L installiert und bekomme den Fehler „Unable to create selectable TCP socket (1468 >= 1024)“. Laut diversen anderen Foren kann man daran wohl nichts ändern. Haben Sie evtl. eine Idee.

    Florian Dieckmann

    Da bin ich überfragt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*
*