Stanąłem przed zadaniem instalacji coraz popularniejszego, darmowego CRM’a vTiger na serwerze u zewnętrznego dostawcy. Spodziewałem się kłopotów, zakładając że home.pl ma mocno zaostrzone kwestie bezpieczeństwa i ciężko coś z nimi 'wypracować’.
Finalnie okazuje się, że problem stwarza raczej sam CRM aniżeli dostawca. Powiem więcej – plus dla dostawcy hostingu za dobrą pomoc techniczną, bez której nie udałoby się zainstalować skryptu.
Nigdzie w google nie znalazłem odpowiedzi na moje pytanie, zatem opisuję krok po kroku z jakimi błędami spotkacie sie podczas instalacji vTiger na różnych serwerach:
1. Error: Tables partially created. Table creation failed
Problem wynika z błędnej komunikacji naszego skryptu z bazą mySQL. Jeżeli baza jest stosunkowo świeża np. w wersji 5.5.11 , nie obsługuje ona dyrektywy Type=InnoDB. Zamiast Type w skrypcie musimy użyć słowa 'Engine’.
Rozwiązania:
a) Pobrać notepad++ i wyedytować plik z paczki vTiger /schema/databaseschema.xml . Otwieramy w/w plik i zamieniamy ciąg (Ctrl+F, zakładka ZAMIEŃ, tryb normalny) znaków 'Type=InnoDB na Engine=InnoDB’ (powinno być kilkaset takich zmian)
b) Pobrać wyedytowany przeze mnie plik databaseschema.xml i wrzucić do paczki vTiger do katalogu 'schema’ : DatabaseSchema.xml
2. Sorry! Attempt to access restricted file.
Problem prawdopodobnie wiąże się ze ścieżkami na serwerze, które są źle zapisane w pliku config.inc.php.
Domyślnie w pliku /config.inc.php mamy zmienną $root_directory = '//’;
U mnie pomogła zmiana z dwóch slashy na jeden, czyli : $root_directory = '/’;
Jeśli to nie pomoże, zalecam zapytać admina serwera jaką wartość musimy podać aby skrypt przeszedł dalej.
W szczególnych przypadkach można wyciąć sprawdzanie ścieżek w pliku /include/utils/CommonUtils.php aczkolwiek może to przynieść nieprzewidywane rezultaty. Np. zalogujemy się do CRMa, ale już nie dodamy nowego użytkownika.
Kod jest w linii 3502 – 3505. Możemy dla testów go zakomentować
/*
if(stripos($realfilepath, $rootdirpath) !== 0) {
die(„Sorry! Attempt to access restricted file.”);
}
*/
3. Nie można dodać nowego użytkownika (PBX error widoczny tylko w przeglądarce IE)
Okazuje się, że podczas pełnej instalacji vTiger, coś złego dzieje się z obowiązkowym modułem PBX (do obsługi dzwonienia i centralki). vTiger bez tego modułu nie będzie działał dobrze. Musimy go ręcznie przeinstalować:
a) Usuwamy katalogi modułu:
- /modules/PBXManager
- /cron/modules/PBXManager
- /Smarty/templates/modules/PBXManager
b) Usuwamy poprzez np. phpmyadmin rekord modułu, który znajdziemy w tabeli vtiger_tab (nazywa się PBXManager).
Teraz jesteśmy w sytuacji, w której modułu nigdy nie było w systemie. Przechodzimy do jego ponownej instalacji:
c) Pobierz moduł na dysk stąd: PBXManager for VTiger a następnie dokonaj jego instalacji. Zaloguj się do CRM, następnie –> ADMINISTRACJA –> MENADŻER MODUŁÓW –> WŁASNE (CUSTOM) I PRZYCISK DODAJ NOWY lub IMPORT NEW. Wskazujemy moduł z dysku i potwierdzamy chęć instalacji.
Wykonanie tych kroków pozwoliło na prawidłową (póki co) pracę w systemie vTiger na serwerze home.pl
Jeśli masz jakieś inne ciekawe informacje związane z instalacją lub użytkowaniem, podziel się w komentarzu!