SalesPlatform Vtiger CRM Developers Руководство Окружение разработчика

Материал из SalesPlatform Wiki
Перейти к: навигация, поиск

Главная страница руководства


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.

Vt note.png Примечание
Данная конфигурация прав на файлы с исходным кодом Vtiger CRM подходит только для разработки, а не для промышленного использования приложения.

Общие сведения

У каталогов и файлов ОС, построенной на базе Linux, существует три степени доступа для трех категорий пользователей:

  1. категория владелец файла или каталога (u);
  2. категория — группа владельца (g);
  3. категория — все остальные (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

Vt note.png Примечание
Работа в режиме суперпользователя идентифицируется знаком # в конце командной строки, в обычном режиме - $.

Перейдите в папку с исходным кодом:

 # 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
Vt note.png Примечание
Версия модуля PHP у Apache должна быть установлена стабильная, иначе при попытке перейти на страницу системы, будет отображена следующая информация (см. Рисунок ниже).
Php Apach.png


Узнайте от имени какого пользователя работает 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/) или любая другая.
Создайте проект: Файл/Создать проект.
Первый шаг: выбрать проект.

Рис. 1: Выбор проекта


Второй шаг: указать имя и расположение.

Рис. 2: Имя и расположение


Рекомендуется выбрать опцию “Поместить метаданные 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.


Главная страница руководства

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Документация
Разработчикам
Присоединяйтесь!
Инструменты