SalesPlatform Vtiger CRM Developers Руководство Окружение разработчика
Vtiger CRM — система управления взаимоотношениями с клиентами (CRM) с открытым кодом (Open Source). Vtiger CRM построена на связке технологий LAMP/WAMP (Linux/Windows, Apache, MySQL, PHP). Данное руководство предназначено для разработчиков Vtiger CRM. Руководство предполагает наличие следующего установленного программного обеспечения: операционная система Linux, веб-сервер Apache, сервер баз данных MySQL, интерпретатор PHP.
Загрузить дистрибутив SalesPlatform Vtiger CRM можно по ссылке: http://community.salesplatform.ru/download/
Содержание |
Права доступа
Для начала модификации исходного кода Vtiger CRM необходимо настроить соответствующим образом права на файлы с исходным кодом. Разработку рекомендуется вести с правами непривилегированного пользователя Linux.
Примечание
- Данная конфигурация прав на файлы с исходным кодом Vtiger CRM подходит только для разработки, а не для промышленного использования приложения.
Общие сведения
У каталогов и файлов ОС, построенной на базе Linux, существует три степени доступа для трех категорий пользователей:
- категория владелец файла или каталога (u);
- категория — группа владельца (g);
- категория — все остальные (o).
Просмотр информации о правах доступа к файлам текущего каталога:
# ls -la
В результате предоставляется полная информация о правах доступа к файлам и папкам, которые расположены в текущем каталоге.
Например:
-rwxrw-r-- 1 root root 1051 дек. 23 15:53 index.php
где:
- -rwxrw-r-- — обозначение степени доступа по три символа для каждой категории пользователей. Права доступа “rwx” характеризуют степень доступа категории владелец и означают следующее: категория владелец имеет право читать файл (символ “r”), записывать в файл (“w”) и запускать файл (“x”). Следующие три символа “rw-” характеризуют права одногруппников владельца на данный файл. Символы “rw-” означают, что читать и записывать в данный файл одногруппники владельца могут, но выполнять файл им запрещено, т. к. вместо “x” стоит прочерк. Для всех остальных пользователей назначены права “r--”, т.е. они имеют право только на чтение файла.
Смена прав доступа к файлам системы Vtiger CRM
Примечание
- Работа в режиме суперпользователя идентифицируется знаком # в конце командной строки, в обычном режиме - $.
Перейдите в папку с исходным кодом:
# cd /var/www/html/vtiger640/ # ls -la
Необходимо чтобы Вы имели права на чтение, на запись и, кроме того, на выполнение определенных файлов. Для этого выполните команду:
# chown -R <user>.<group> /var/www/html/vtiger640/
где:
- chown: — Linux‐утилита, изменяющая владельца и/или группу для указанных файлов. В качестве имени владельца/группы берётся первый аргумент, не являющийся опцией. Если задано только имя пользователя (или числовой идентификатор пользователя), то данный пользователь становится владельцем каждого из указанных файлов, а группа этих файлов не изменяется. Если за именем пользователя через точку следует имя группы (или числовой идентификатор группы), без пробелов между ними, то изменяется также и группа файла.
- -R: Ключ -R говорит о том, что выполнить операцию смены прав доступа нужно рекурсивно, т. е. для всех файлов и подкаталогов внутри директории /var/www/html/ и для нее самой.
Просмотрите внесенные изменения:
# ls -la
Проверьте запущен ли Web-сервер Apache на вашем ПК:
# service apache2 status
Если не запущен, запустите Web-сервер Apache:
# service apache2 start
Примечание
- Версия модуля PHP у Apache должна быть установлена стабильная, иначе при попытке перейти на страницу системы, будет отображена следующая информация (см. Рисунок ниже).
Узнайте от имени какого пользователя работает Web-сервер Apache (“ps” - выводит отчёт о работающих процессах):
# ps aux | grep apache
Обычно, Web-сервер Apache работает от имени пользователя “www-data”/“apache”, состоящего в группе “www-data”/“apache”.
Для директории (файлов системы) “/var/www/html/vtiger640/”, владельцем папок и фалов которого является пользователь <user>, “www-data” будет относится к третьей категории пользователей, а именно “все остальные”. Часто возникает необходимость давать полный доступ (“rwx”) пользователю, от имени которого работает Apache, к файлам и папкам. А значит потребуется выдать полный доступ третьей категории пользователей (всем остальным), чего делать не рекомендуется. Поэтому добавим пользователя “www-data” к группе владельца файлов и папок.
Для начала проверьте, какая группа у владельца. Воспользуйтесь командой ls -la.
Добавьте пользователя “www-data” в группу <group>:
# usermod -a -G <group> www-data
Воспользуйтесь командой для просмотра групп пользователя, чтобы убедиться в успехе проделанной операции:
# group www-data
Кроме того, необходимо дать доступ веб-серверу для записи определенных каталогов и файлов. Это необходимо для нормального функционирования системы. Перейдите в корневой каталог CRM системы и выполните следующую команду:
# chmod -R g+w test/ user_privileges/ storage/ tabdata.php parent_tabdata.php
В результате веб-сервер сможет модифицировать необходимые для функционирования файлы системы.
И наконец, необходимо дать права на выполнение файла cron/vtigercron.sh для владельца и группы файлов системы. Данный файл отвечает за запуск планировщика системы. Для этого выполните следующую команду:
# chmod 774 cron/vtigercron.sh
Разработка в NetBeans
Для разработки может быть использована среда разработки NetBeans (скачать можно по ссылке https://netbeans.org/downloads/) или любая другая.
Создайте проект: Файл/Создать проект.
Первый шаг: выбрать проект.
Второй шаг: указать имя и расположение.
Рекомендуется выбрать опцию “Поместить метаданные NetBeans в отдельный каталог”. Среда NetBeans будет сохранять свои промежуточные файлы отдельно от файлов системы.
Третий шаг: выполнить настройку.
На данном шаге указывается способ развертывания файлов этого проекта. Здесь можно оставить все по умолчанию. Параметры конфигурации можно добавить и изменить позднее в диалоговом окне свойств проекта.
После завершения создания проекта откроется главное окно NetBeans с загруженными исходными файлами системы.
Перечень используемых команд
Базовые
Создание нового PHP-файла <filename>:
$ >filename.php
Запуск PHP-файла:
$ php filename.php
Вывод содержимого файла:
$ cat filename.php
Для отладки удобно использовать команду tail - вывод нескольких (по умолчанию 10) последних строк из файла ”error.log”. Ключ -f следит за файлом: новые строки (добавляемые в конец файла другим процессом Linux) автоматически выводятся на экран в реальном времени.
# tail -f /var/log/apache2/error.log
Команды работы с БД MySQL
Чтобы узнать, каким-образом подключен Vtiger к MySQL, отобразите содержимое конфигурационного файла “config.inc.php” (cat) c фильтрацией (grep) полученного результата от команды cat:
$ cd /var/www/html/vtiger640 $ cat config.inc.php | grep db_
Для подключения к серверу MySQL Вы можете воспользоваться результатами выполнения команды cat:
$dbconfig['db_server'] = 'localhost'; $dbconfig['db_port'] = ':3306'; $dbconfig['db_username'] = 'username'; $dbconfig['db_password'] = 'password'; $dbconfig['db_name'] = 'db_name'; $dbconfig['db_type'] = 'mysqli'; $dbconfig['db_status'] = 'true';
Подключение к серверу MySQL
$ mysql -u <username> -p <db_name> Enter password:
Отобразить все таблицы в БД:
mysql> SHOW TABLES;
Просмотр структуры таблицы [table name]:
mysql> DESCRIBE [table name];
Показать все записи таблицы [table name]:
mysql> SELECT * FROM [table name];
Показать все записи таблицы [table name], удовлетворяющие заданному условию column=value:
mysql> SELECT * FROM [table name] WHERE column=value;
Удаление таблицы [table name] из БД:
mysql> DROP TABLE [table name];
Создание резервной копии содержимого базы данных:
# mysqldump -u <username> -p <db_name> > dump1.sql Enter password:
Также можно ознакомится с рекомендуемой техникой отладки от vtiger.com по ссылке: https://wiki.vtiger.com/index.php/DebugTechniques.