В статье будет рассмотрено как установить SalesPlatform vtiger CRM, т.к. описанный в официальной документации способ не всегда работает, а также настроить Apache и MySQL для нормальной работы SalesPlatform vtiger CRM.
Upd: внес некоторые правки для установки SalesPlatform vtiger CRM 6.2.0-201505 на Debian 8 Jessie
Оглавление
1. Настройка Apache
2. Настройка MySQL
3. Установка SalesPlatform vtiger CRM.
4. Настройка работы планировщика
5. Ссылки
Итак, начнем:
1. Настройка Apache
- В папке /etc/apache2/sites-available/ создаем файл для виртуального хоста:
nano /etc/apache2/sites-available/crm
- Вставляем туда следующее
<VirtualHost *:80> ServerName vtigercrm.local DocumentRoot /var/www/vtigercrm <Directory /> Options FollowSymLinks AllowOverride All </Directory> <IfModule mod_php5.c> php_value error_reporting "E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT" php_value safe_mode off php_flag display_errors off php_value file_uploads on php_value max_execution_time 600 php_value memory_limit 128M php_value zlib.output_compression on php_value log_errors on php_value output_buffering on php_value register_globals off php_flag short_open_tag on php_value max_input_vars 100000 php_value max_execution_time 600 </IfModule> ErrorLog ${APACHE_LOG_DIR}/vtigercrm.local_error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/vtigercrm.local_access.log combined </VirtualHost>
- И включаем виртуальный хост
ln -s /etc/apache2/sites-available/crm /etc/apache2/sites-enabled/crm
- И перезагружаем Apache
apachectl restart
2. Настройка MySQL
Для MySQL 5.5 нужно настроить кодировку по умолчанию на UTF8, для этого нужно:
- Создадть файл /etc/mysql/conf.d/utf8.cnf:
nano /etc/mysql/conf.d/utf8.cnf
- Вставляем туда следующее
[mysqld] collation_server=utf8_general_ci character_set_server=utf8 init_connect='SET collation_connection = utf8_general_ci' init_connect='SET NAMES utf8'
- И перезагружаем MySQL
/etc/init.d/mysql restart
- Теперь подключаемся к базе данных:
mysql -u root -p
- Создаем базу vtiger:
create database vtiger;
- Создаем нового пользователя «vtiger» и паролем «some_pass», разрешаем ему подключаться только от localhost:
CREATE USER 'vtiger'@'localhost' IDENTIFIED BY 'some_pass';
- Даем новому пользователю полные права на базу «vtiger»:
GRANT ALL PRIVILEGES ON vtiger.* TO 'vtiger'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; quit;
3. Установка SalesPlatform vtiger CRM.
- Устанавливаем необходимые зависимости:
aptitude install binutils cpp flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake libtool bison autotools-dev gcc libpng12-dev libjpeg-dev libfreetype6-dev libssl-dev libxml2-dev libxml2 g++ gawk libapache2-mod-php5 php5-gd php5-imap php5-zlib php5-curl php5-mysql
- Обновляем временную зону для php, для этого необходимо установить репозиторий расширений PHP, доступ к которым предоставляется через систему PEAR:
apt-get install php-pear php5-dev pecl install timezonedb nano /etc/php5/mods-available/timezonedb.ini ln -s /etc/php5/mods-available/timezonedb.ini /etc/php5/conf.d/timezonedb.ini
- Затем скачиваем по ссылке последний дистрибутив, на момент написания этой статью версия была 6.1.0-201412, и распаковываем дистрибутив в каталоге /var/www. Внимание!!! В Debian 8 Jessie каталог по умолчанию /var/www/html/, поэтому, либо меняем каталог куда распаковываем, либо меняем настройки конфиге по умолчанию, у меня он называется 000-default.conf:
cd /var/www wget http://sourceforge.net/projects/salesplatform/files/salesplatform-vtigercrm-6.1.0-201412.tar.gz tar xzf salesplatform-vtigercrm-6.1.0-201412.tar.gz
- На время выполнения установки дадим веб-серверу права на запись для всех файлов и каталогов. Сделаем это, изменив владельца и группу на www-data (стандартный пользователь сервера Apache в Debian):
cd vtigercrm chown -R www-data.www-data *
- Внимание!!! Если Вы настроили Apache как написано в этом руководстве, то этот пункт вы пропускаете. Необходимо также исправить конфигурационный файл PHP (/etc/php5/apache2/php.ini), задав следующие значения параметров (для PHP >= 5.4 опция allow_call_time_pass_reference не требуется):
allow_call_time_pass_reference = on error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT safe_mode = off display_errors = off file_uploads = on max_execution_time = 600 memory_limit = 128M log_errors = on output_buffering = on register_globals = off short_open_tag = on max_input_vars = 5000
- Если установлен модуль PHP suhosin, то необходимо также исправить конфигурационный файл этого модуля (/etc/php5/conf.d/suhosin.ini), задав следующие значения параметров:
suhosin.get.max_value_length = 8192 suhosin.post.max_vars = 5000 suhosin.request.max_vars = 5000
- Внимание!!! Если Вы настроили MySQL как написано в этом руководстве, то этот пункт вы пропускаете. В настройках MySQL рекомендуется установить UTF8 в качестве кодировки по умолчанию. Для этого создадим файл /etc/mysql/conf.d/utf8.cnf со следующим содержанием (для MySQL версии 5.5 и выше опции default-character-set не требуются):
[mysqld] collation_server=utf8_general_ci character_set_server=utf8 default-character-set=utf8 init_connect='SET collation_connection = utf8_general_ci' init_connect='SET NAMES utf8' [mysql] default-character-set = utf8
- Для корректной работы с кодировками при импорте данных в CRM на сервере должны быть установлены соответствующие кодировкам локали: CP1251, UTF-8 и ISO-8859-1. Необходимо проверить существующие локали
locale -a
Вывод этой команды должен быть примерно таким
<strong>CP1251</strong> <strong>CP1251.cp1251</strong> C.UTF-8 <strong>ISO-8859-1</strong> <strong>ISO-8859-1.iso88591</strong> POSIX ru_RU.utf8 <strong>UTF-8</strong> <strong>UTF-8.utf8</strong>
Нужные нам локали выделены, если чего-то нахватает, то необходимо установить недостающие (важно точное соответствие названия кодировки и локали):
localedef -i ru_RU -f CP1251 CP1251 localedef -i ru_RU -f UTF-8 UTF-8 localedef -i en_US -f ISO-8859-1 ISO-8859-1
- Перезапускаем серверы:
/etc/init.d/mysql restart /etc/init.d/apache2 restart
- Наконец, все готово. Если настроили Apache по этому руководству, то переходим в браузере по адресу: http://vtigercrm.local/, если нет, то по адресу: http://адрес_сервера/vtigercrm и попадаем в мастер начальной установки vtiger CRM, который в интерактивном режиме поможет выполнить начальную конфигурацию БД vtiger CRM.
- Если по нажатии кнопки «Установка» появляется ошибка «Invalid request», то открываем файл
nano /var/www/vtigercrm/libraries/csrf-magic/csrf-magic.php
Находим там строчку $GLOBALS[‘csrf’][‘secret’], и в каычки вписываем любой набор символов, у меня получилось вот так:
$GLOBALS['csrf']['secret'] = 'kldsjfgldsjfkghdskjfghdksljfgh';
И запускаем установку заново
- Соглашаемся с лицензией
- Проверям параметры сервера, если что-то выделено красным, то вносим изменения в настройки php, но можно продолжить установку и так, не добиваясь полного соответствия
- Теперь вводим параметры подключения к базе данных, логин, пароль и имя базы данных мы настраивали в разделе настройки MySQL, в строке хост пишем «localhost»
- Затем,если параметры подключения введены правильно и ошибок нет, жмем «Далее»
- Отвечаем на опрос
- Ждем пока завершится установка, у меня она длилась минут пять
- Выбираем необходимые модули
- И завершаем установку
- После установки снимем права на запись для ряда подкаталогов системы:
cd /var/www/vtigercrm chown -R root.root * chown -R www-data.www-data cache logs modules storage test user_privileges tabdata.php parent_tabdata.php config.inc.php
4. Настройка работы планировщика
Для работы Планировщика необходимо:
- создать файл в /etc/cron.d/
nano /etc/cron.d/vtigercrm
- со следующим содержимым:
*/5 * * * * www-data /usr/bin/flock -n /tmp/vtigercron.lock /var/www/vtigercrm/cron/vtigercron.sh #
- Даем скрипту права на запуск
chmod 755 /var/www/vtigercrm/cron/vtigercron.sh
На этом установка закончена и можно пользоваться SalesPlatform vtiger CRM.
P.S. Для работы некоторых расширений необходимо, что бы был включен модуль Zlib, поэтому проверьте статус zlib.output_compression в phpinfo(), он должен быть On.
5. Ссылки:
http://community.salesplatform.ru/documentation/
http://softnastroy.com/content/ustanovka-pecl-i-ustanovka-uploadprogress-dlya-drupal-7-v-debian-squeeze-ili-ubuntu-lts-server.html
http://nslookup.org.ua/blog/2012/10/18/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-vtigercrm/http://serkas.pp.ru/index.php/pamyatki-zapiski-poleznyie-ssyilki/mysql-sozdat-bazu-i-polzovatelya/
http://howto.memcrab.com/2012/01/mysql.html