Установка SalesMan CRM без FreePBX
В данной статье наглядно показано, как произвести интеграцию SalesMan CRM с Asterisk (без FreePBX).
Предполагается, что Asterisk с поддержкой CDR MySQL уже установлен .
Если установлена версия php>5.3, то необходимо выполнить следующее:
cd /opt
git clone https://github.com/cweiske/phpfarm.git phpfarm
cd phpfarm/src/
yum install gcc libxml2-devel openssl-devel bzip2-devel curl-devel libjpeg-devel freetype-devel icu libicu-devel gcc-c++ postgresql-devel aspell-devel git libmcrypt-devel libpng-devel -y
wget dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum install mod_fcgid -y
yum install libc-client-devel -y
nano compile.sh
Удаляем строки:
—enable-debug
—disable-short-tags
nano options.sh
Вместо:
—enable-bcmath
—enable-calendar
—enable-exif
—enable-ftp
—enable-mbstring
—enable-pcntl
—enable-soap
—enable-sockets
—enable-sqlite-utf8
—enable-wddx
—enable-zip
—with-zlib
—with-gettext
Вставляем:
—with-pdo-pgsql
—with-zlib-dir
—with-freetype-dir
—enable-mbstring
—with-libxml-dir=/usr
—enable-soap
—enable-calendar
—with-curl=/usr/bin
—with-mcrypt
—with-zlib
—with-gd
—with-pgsql
—disable-rpath
—enable-inline-optimization
—with-zlib
—enable-sockets
—enable-sysvsem
—enable-sysvshm
—enable-pcntl
—enable-mbregex
—with-mhash
—enable-zip
—with-pcre-regex
—with-mysql
—with-libdir=lib64
—with-pdo-mysql
—with-mysqli
—with-jpeg-dir=/usr
—with-png-dir=/usr
—enable-gd-native-ttf
—with-openssl
—enable-ftp
—with-kerberos
—with-gettext
—enable-cli
—enable-fastcgi
—enable-discard-path
—enable-force-cgi-redirect
—enable-cgi
—with-imap
—with-imap-ssl
./compile.sh 5.3.29
PATH=»/opt/phpfarm/inst/bin:/opt/phpfarm/inst/current-bin:$PATH»
export PATH=»$PATH:/opt/phpfarm/inst/bin:/opt/phpfarm/inst/current-bin»
cd /var/www
nano /var/www/cgi-bin/php.fastcgi.5.3.29
Вставляем:
#!/bin/bash
PHPRC=»/opt/phpfarm/inst/php-5.3.29/lib/php.ini»
PHP_FCGI_CHILDREN=4
PHP_FCGI_MAX_REQUESTS=1000
export PHPRC
export PHP_FCGI_CHILDREN
export PHP_FCGI_MAX_REQUESTS
exec /opt/phpfarm/inst/bin/php-cgi-5.3.29
chmod 777 /opt/phpfarm/inst/bin/php-cgi-5.3.29
chown asterisk:asterisk /opt/phpfarm/inst/bin/php-cgi-5.3.29
nano +1500 /etc/httpd/conf/httpd.conf
Добавляем VirtualHost:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html/salesman
ScriptAlias /cgi-bin/ «/var/www/cgi-bin/»
<Directory /var/www/html/salesman>
Options Indexes ExecCGI FollowSymLinks
AddHandler php-cgi .php
Action php-cgi /cgi-bin/php.fastcgi.5.3.29
AllowOverride All
Order allow,deny
Allow from All
<FilesMatch «.php$»>
Options Indexes FollowSymLinks Includes ExecCGI
SetHandler php-cgi
</FilesMatch>
RewriteEngine off
</Directory>
</VirtualHost>
Всё остальное(создание БД, скачивание свежего дистра CRM, подключение PHPexpress выполняем в файле /opt/phpfarm/inst/php-5.3.29/lib/php.ini) выполняем по статье установки SalesMan.
Для установки SalesMan CRM необходимо наличие Apache, PHP, MySQL, для их установки необходимо выполнить в терминале ряд команд вида:
# yum update ; Выполнит обновление системы
# yum install httpd ; Установка Apache
# yum install php php-mysql php-pear php-mbstring php-imap php-mcrypt php-dom ; Установка PHP с необходимыми модулями для корректной работы Asterisk и SalesMan CRM
# yum install mysql mysql-server mysql-devel mysql-connector-odbc ; Установка MySQL
# chkconfig —level 345 mysqld on ; Добавление MySQL в автозагрузку
# service mysqld start ; Запуск MySQL
# chkconfig —level 345 httpd on ; Добавление Apache в автозагрузку
# service httpd start ; Запуск Apache # tzselect ; Выполним установку временной зоны
# ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime #reboot ; Перезагрузка обязательна
# nano +946 /etc/php.ini ; изменим временную зону на «Europe/Moscow»
# mysqladmin -u root password ‘пароль’ ; Изменение пароля для root пользователя к MySQL
# mysql -u root -p’пароль’
# create database asteriskcdrdb; ; Создаем базу данных asteriskcdrdb
# create database asterisk; ; Создаем базу данных asterisk
# create database yoolla; ; Создаем базу данных SalesMan
# create user ‘yoolla’ IDENTIFIED BY ‘yoolla!1’; ; Создаем нового пользователя
# GRANT ALL PRIVILEGES ON yoolla.* TO yoolla@localhost IDENTIFIED BY ‘yoolla!1’;
# GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY ‘пароль_Asterisk’; ; Назначаем привелегии для пользователя к БД
#GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY ‘пароль_Asterisk’;
# flush privileges;
# q ; выходим из MySQL
Если Вы хотите, чтобы пользователь MySQL мог подключаться удаленно к серверу MySQL (с другого компьютера), то (при создании, а также предоставлении ему прав доступа к БД) его имя следует указывать в формате:
# имя-пользователя@хост
например:
Если же Вы не знаете с каких IP будет подключаться пользователь, либо Вам необходимо, чтобы он подключался с любых IP адресов, укажите имя пользователя в следующем формате:
# имя-пользователя@’%’
например:
asterisk_user@’%’
В этом случае команда для предоставления полных прав [на работу с MySQL] пользователю asterisk_user, который может подключаться к MySQL с любых IP адресов будет выглядеть так:
# GRANT ALL
# ON asteriskcdr.*
# TO asterisk_user@’%’;
Для создания таблицы asterisk CDR подключитесь к созданной базе данных и выполните следующий запрос:
USE asteriskcdrdb;
CREATE TABLE cdr (
calldate datetime NOT NULL default ‘0000-00-00 00:00:00’,
clid varchar(80) NOT NULL default »,
src varchar(80) NOT NULL default »,
dst varchar(80) NOT NULL default »,
dcontext varchar(80) NOT NULL default »,
channel varchar(80) NOT NULL default »,
dstchannel varchar(80) NOT NULL default »,
lastapp varchar(80) NOT NULL default »,
lastdata varchar(80) NOT NULL default »,
duration int(11) NOT NULL default ‘0’,
billsec int(11) NOT NULL default ‘0’,
start datetime NULL default NULL,
answer datetime NULL default NULL,
end datetime NULL default NULL,
disposition varchar(45) NOT NULL default »,
amaflags int(11) NOT NULL default ‘0’,
accountcode varchar(20) NOT NULL default »,
userfield varchar(255) NOT NULL default »,
uniqueid varchar(32) NOT NULL default »
);
Проверим связь с БД
Для этого из командной строки запустите:
# mysql —host=имя-сервера-MySQL -u имя-пользователя-БД -p
например:
# mysql —host=127.0.0.1 -u asterisk_user -p
Для настройки asterisk для работы с MySQL откройте файл /etc/asterisk/cdr_mysql.conf и впишите туда подобные строки (здесь указан лишь пример):
# nano /etc/asterisk/cdr_mysql.conf
[global]
hostname=127.0.0.1 ; хост, где находится mysql сервер (может быть localhost)
dbname=asteriskcdr ; имя базы данных asterisk
table=cdr ; имя таблицы asterisk
user=asterisk_user ; имя пользователя для базы данных sql
password=ast_password; пароль для пользователя asterisk_user
;timezone=UTC ; часовой пояс (раньше называлась usegmtime)
;charset=UTF-8 ; кодировка базы данных, ее можно узнать в процессе настройки MySQL(необязательный параметр)
После выполнения вышеуказанных действий запустите asterisk и попробуйте подключить модуль cdr_mysql.so.
Для этого запустите подключение к asterisk:
# asterisk -rvvv
И из командной строки asterisk (asterisk CLI) выполните следующую команду:
# module load cdr_mysql.so
Начинаем установку CRM SalesMan
Выполним ряд команд, вида:
# cd /usr/src/
# mkdir salesman ; создадим папку с именем salesman
# cd salesman
# wget http://isaler.ru/getfile.php?v=linux ; скачаем свежий дистрибутив CRM
# mv getfile.php?v=linux salesman.zip ; переименуем скачанный файл
# unzip salesman.zip ; распакуем скачанный файл
# rm salesman.zip
# cp -vR /usr/src/salesman/ /var/www/html/ ; скопируем каталог salesman
# chown asterisk:asterisk /var/www/html/salesman/ -R ; изменим рекурсивно владельца/группу
# cd /usr/src/ # mkdir phpexpress ; создадим папку phpexpress
# cd phpexpress ; перейдем в раннее созданную папку
# wget http://download.nusphere.com/customer/download/files/NuSphere-PhpExpress-3.1.zip ; скачаем акселератор php
# unzip NuSphere-PhpExpress-3.1.zip ; распакуем скачанный архив
# cd /usr/src/phpexpress/NuSphere-PhpExpress/ ; перейдем в подкаталог # tar xvf phpexpress-3.1-Linux.tar.gz ; распакуем модуль php для Linux
# cp /usr/src/phpexpress/NuSphere-PhpExpress/phpexpress-3.1-Linux/x86_64/phpexpress-php-5.3.so /usr/lib64/php/modules ; скопируем необходимый модуль в систему
# nano /etc/php.ini ; откроем редактором конфигурационный файл php
# подключим модуль акселератора php, добавив в файл строку следующего вида:
# zend_extension=/usr/lib64/php/modules/phpexpress-php-5.3.so
# А так же необходимо изменить парамметр «short_open_tag» с «off» на “on”
# php -m ; проверим подключение модуля
Пропишем виртуальный хост в Apache для обращения к каталогу по нестандартному порту. Для этого выполним ряд команд:
# nano /etc/httpd/conf/httpd.conf
# И добавим следующие строки:
NameVirtualHost *:900 ; Укажем желаемый порт
Listen 900
<VirtualHost *:900>
</Directory /var/www/html/salesman>; путь к каталогу salesman
RewriteEngine off
</VirtualHost>
Теперь после всех проделанных действий можно перейти к установке и конфигурации CRM SalesMan.
Для этого необходимо запустить браузер (InternetExplorer, Firefox, Opera, GoogleChrome) и в адресную строку прописать:
# http://ip_адресс_сервера:порт/install.php
Должны получить окно следующего вида:
Если все соответствует данному скриншоту, то можно переходить к следующему шагу. Соглашаемся с лицензионным соглашением.
Заполняем данные для соединения с БД. Т.к. база данных и пользователь у нас соответствуют данным по умолчанию CRM, то продолжаем установку. Если вы вносили какие-либо коррективы, то заполните поля в соответствии со своими данными.
Следующим шагом будет произведена проверка введенных данных и существования БД
Перейдя к следующему шагу, необходимо будет заполнить поля (Логин, Пароль, ФИО), а так же выбрать часовой пояс.
По успешному окончанию установки CRM можно перейти к странице авторизации http://ip_адресс:порт и ввести логин и пароль.
Для дальнейшей интеграции CRM с IP-АТС Asterisk, необходимо зайти в Панель управления→ Интеграция→ Сервер IP-телефонии и заполнить поля
И последним шагом по интеграции будет редактирование файла cdr2crm.php. Для этого необходимо ввести в терминале ряд команд, следующего вида:
# nano /var/www/html/salesman/api/asterisk/cdr2crm.php
# И внести свои данные для доступа к MySQL
Сохраняем все изменения и выполняем перезапуск Apache.
Все настройки выполнены, можно переходить к полноценной работе с CRM SalesMan.
Остались вопросы?
Я - Виталий Шелест, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.