Установка SuiteCRM на Ubuntu 20.04 с использованием Apache или Nginx

В данном учебном пособии вы узнаете, как установить SuiteCRM на Ubuntu 20.04 с использованием веб-сервера Apache или Nginx. SuiteCRM представляет собой бесплатное программное обеспечение для управления взаимоотношениями с клиентами с открытым исходным кодом, позволяющее получить полное представление о ваших клиентах и бизнесе. Этот продукт является ответвлением широко известного программного обеспечения SugarCRM, так как в 2014 году SugarCRM прекратил поддержку своей версии с открытым исходным кодом для сообщества.

Содержание статьи

Особенности SuiteCRM заключаются в его гибкости и многофункциональности, что позволяет пользователям адаптировать систему под свои нужды. Этот инструмент включает в себя мощные функции управления клиентами, автоматизации маркетинга и продаж, а также аналитические возможности. Пользователи могут легко настраивать интерфейс и добавлять модули для расширения функциональности, что делает SuiteCRM универсальным решением для различных бизнес-задач.

  • Система напоминаний/календарь
  • Управление документами
  • Электронный маркетинг
  • Внедрение внутреннего чата.
  • Отбор и оценка потенциальных клиентов
  • Автоматизация процессов маркетинга
  • Доступ через мобильные устройства
  • Квоты/оценки
  • Сегментация
  • Связывание с платформами социальных медиа
  • Организация задач
  • Контроль над территориями
  • Автоматизация процесса продаж, маркетинговые мероприятия, обслуживание клиентов, совместная работа, мобильные CRM-системы, социальные CRM и аналитика.
  • Установка плагинов для увеличения возможностей SuiteCRM.
  • SuiteCRM предоставляет простую интеграцию с различными внешними SMTP-сервисами, такими как Gmail, Mandrill, Sendgrid и Amazon SES. Кроме того, у вас есть возможность использовать собственный почтовый сервер.
  • Способен без усилий взаимодействовать с рядом известных сторонних сервисов, включая Mautic, Gmail, Facebook, Twitter, GoToMeeting, MailChimp, Zoom, Quickbooks, Avaya, DocuSign и многие другие.
  • Поддержка различных пользовательских аккаунтов и ролей.
  • И многое другое.

Как установить SuiteCRM на сервере с Ubuntu 20.04

Требования к системе для установки SuiteCRM на сервер с операционной системой Ubuntu 20.04.

SuiteCRM разработан на PHP и требует использования серверов баз данных MySQL или MariaDB. В связи с этим вам нужно настроить стек LAMP или LEMP. Если вы выбираете веб-сервер Apache, установите стек LAMP.

  • Установка стека LAMP на Ubuntu 20.04: пошаговое руководство.

Если ваш выбор пал на веб-сервер Nginx, вам следует установить стек LEMP.

  • Установка стека LEMP на Ubuntu 20.04.

Также вам понадобится доменное имя. Я зарегистрировал своё через NameCheap, поскольку у них доступные тарифы, и они предоставляют бесплатную защиту конфиденциальности whois на всю жизнь. Без лишних слов перейдем к установке SuiteCRM на сервер Ubuntu 20.04.

Установите SuiteCRM на свой сервер с операционной системой Ubuntu 20.04.

Скачайте последнюю стабильную версию, выполнив команду на вашем сервере.

Читайте также:  Как настроить NFS для общего доступа к файлам в сети Linux

wget https://suitecrm.com/files/162/SuiteCRM-7.11/525/SuiteCRM-7.11.18.zip

Установите инструмент для разархивации и извлеките файл в директорию /var/www/.

sudo apt install unzip sudo mkdir - p /var/www/ sudo unzip SuiteCRM-7.11.18.zip - d /var/www/

Он будет размещен в папке /var/www/SuiteCRM-7.11.18/. Мы изменим его название для удобства использования.

sudo mv /var/www/SuiteCRM-7.11.18/ /var/www/suitecrm

После этого введите следующие команды для установки корректных разрешений.

cd /var/www/suitecrm sudo chown - R www-data:www-data /var/www/suitecrm/ sudo chmod - R 755 . sudo chmod - R 775 cache custom modules themes data upload sudo chmod 775 config_override.php 2>/dev/null

Настройте базу данных и пользователя MariaDB для SuiteCRM.

Откройте консоль MariaDB.

sudo mysql - u root

Создайте новую базу данных для SuiteCRM, выполнив следующую команду. В данном руководстве база данных называется suitecrm, однако вы можете выбрать любое другое название.

CREATE DATABASE suitecrm;

Данная команда создаст нового пользователя базы данных и задаст ему пароль, а также предоставит ему все необходимые права на новую базу данных, чтобы SuiteCRM мог сохранять в ней данные. Замените выделенные красным тексты на желаемое название базы данных, имя пользователя и пароль.

GRANT ALL ON suitecrmКонечно! suitecrm'@'localhost' УСТАНОВИТЬ ПАРОЛЬ 'password';

Удалите таблицу привилегий и завершите работу с консолью MariaDB.

FLUSH PRIVILEGES; EXIT;

Инсталлируйте обязательные и рекомендуемые модули PHP.

Используйте следующую команду для установки необходимых или рекомендуемых модулей PHP для SuiteCRM.

sudo apt install php-imagick php7.4-fpm php7.4-mysql php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp

При использовании веб-сервера Apache необходимо отключить модуль PHP для этого сервера.

sudo a2dismod php7.4

Также нужно деактивировать модуль prefork MPM в Apache.

sudo a2dismod mpm_prefork

Теперь необходимо выполнить следующую команду для активации трех модулей, чтобы настроить использование PHP-FPM в Apache, вне зависимости от наличия mod_php на вашем сервере.

sudo a2enmod mpm_event proxy_fcgi setenvif

После этого перезапустите сервер Apache.

sudo systemctl restart apache2

Настройте виртуальный хост для Apache или создайте конфигурационный файл Nginx для SuiteCRM.

Apache

Если вы работаете с веб-сервером Apache, настройте виртуальный хост для SuiteCRM.

sudo nano /etc/apache2/sites-available/suitecrm.conf

Поместите указанный текст в файл. Замените suitecrm. example.com на ваше актуальное доменное имя и не забудьте настроить запись DNS A для него.

ServerName suitecrm. example.comДокументная корневая папка: /var/www/suitecrm/
Лог ошибок: $/suitecrm_error.log
Пользовательский лог: $/suitecrm_access.log в комбинированном формате.Опции FollowSymLinks и AllowOverride All. Опции FollowSymLinks MultiViews, разрешение на переопределение всех настроек (AllowOverride All), порядок доступа: разрешить, запретить; разрешить доступ со всех.Включите файл конфигурации php7.4-fpm.conf из каталога /etc/apache2/conf-available/

Сохраните изменения в файле и закройте его. После этого включите данный виртуальный хост, используя команду:

sudo a2ensite suitecrm.conf

Чтобы изменения начали действовать, выполните перезагрузку Apache.

sudo systemctl reload apache2

Теперь вы должны перейти на страницу установки веб-мастера SuiteCRM по адресу http://suitecrm.example.com/install.php.

Nginx

Если вы работаете с веб-сервером Nginx, настройте виртуальный хост для SuiteCRM.

sudo nano /etc/nginx/conf.d/suitecrm.conf

Сохраните следующий текст в файл. Замените suitecrm. example.com на ваше фактическое доменное имя и обязательно создайте DNS A-запись для него.

server < listen 80; listen [::]:80; server_name suitecrm. example.comroot /var/www/suitecrm; error_log /var/log/nginx/suitecrm. error; access_log /var/log/nginx/suitecrm. access; client_max_body_size 20M; index index.php index. html index. htm index. nginx-debian. html; location /< # попытайтесь обслужить файл напрямую, в случае неудачи перейдите к app.php try_files $uri /index.php$is_args$args; >location ~ \.php$ < include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; #Обратите внимание: при установке SuiteCRM на сервер iRedMail рекомендуется использовать TCP-сокет. #fastcgi_pass 127.0.0.1:9999 > location ~

  • ^/index.php
  • < # try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; # ПРИМЕЧАНИЕ: вы должны иметь "cgi. fix_pathinfo = 0;" в php. ini fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; #Обратите внимание: при установке SuiteCRM на сервер iRedMail рекомендуется использовать TCP-сокет. #fastcgi_pass 127.0.0.1:9999 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 16k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; >Не сохранять лог для фавикона location = /favicon. ico< log_not_found off; access_log off; >Запретить запись логов для роботов location = /robots. txt< access_log off; log_not_found off; >Запретить все попытки получения доступа к скрытым файлам и папкам, например,.htaccess,.htpasswd,.DS_Store (для Mac) и другим подобным.~ /\. < deny all; access_log off; log_not_found off; >Длительное сохранение кэша браузера может ускорить последующие посещения вашей страницы.~

  • .(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$
  • < access_log off; log_not_found off; expires 360d; >>

    Сохраните файл и закройте его. После этого выполните тестирование конфигурации Nginx.

    sudo nginx - t

    После успешного прохождения теста перезапустите Nginx, чтобы изменения начали действовать.

    sudo systemctl reload nginx

    Теперь вы должны перейти на страницу установки веб-мастера SuiteCRM по адресу http://suitecrm.example.com/install.php.

    Активация HTTPS

    Для шифрования HTTP-трафика можно активировать HTTPS, установив бесплатный TLS-сертификат от Let’s Encrypt. Для этого выполните следующую команду, чтобы установить клиент Let’s Encrypt (certbot) на сервере с Ubuntu 20.04.

    sudo apt install certbot

    Если вы применяете Nginx, потребуется дополнительно установить плагин Certbot, предназначенный для него.

    sudo apt install python3-certbot-nginx

    Выполните следующую команду для получения и установки TLS-сертификата.

    sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email Для выполнения перефразирования необходим сам текст. Пожалуйста, предоставьте его, и я подготовлю уникальную версию. - d suitecrm. example.com

    Для пользователей Apache рекомендуется установить плагин Certbot, специально предназначенный для этого веб-сервера.

    sudo apt install python3-certbot-apache

    Выполните данную команду для получения и установки TLS-сертификата.

    sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email Для выполнения перефразирования необходим сам текст. Пожалуйста, предоставьте его, и я подготовлю уникальную версию. - d suitecrm. example.com

    • —nginx : Применять плагин для nginx.
    • —apache: Применять плагин Apache.
    • —согласие-с-условиями: Принять условия предоставления услуг.
    • —перенаправление: Обязательно использовать HTTPS с редиректом 301.
    • —hsts: Включить заголовок Strict-Transport-Security в каждый ответ HTTP. Это заставляет браузер всегда применять TLS для указанного домена, обеспечивая защиту от атак типа SSL/TLS Stripping.
    • —staple-ocsp: Активирует OCSP Stapling. Корректный ответ OCSP присоединяется к сертификату, который сервер предоставляет во время TLS-соединения.

    Сертификат теперь необходимо получить и установить автоматически.

    Повышение предела размера загружаемых файлов.

    PHP ограничивает размер загружаемого файла, и по умолчанию этот лимит составляет 2 МБ. Для увеличения максимального размера загрузки необходимо внести изменения в конфигурационный файл PHP.

    sudo nano /etc/php/7.4/fpm/php. ini

    Найдите строку, следующую за 846-й.

    upload_max_filesize = 2M

    Измените параметр следующим образом. Рекомендуется задать его не менее чем 20 МБ.

    upload_max_filesize = 20M

    Сохраните файл и закройте его. Также вы можете использовать следующую команду для изменения значения без необходимости вручную открывать файл.

    sudo sed - i 's/upload_max_filesize = 2M/upload_max_filesize = 20M/g' /etc/php/7.4/fpm/php. ini

    После этого выполните перезапуск PHP-FPM.

    sudo systemctl restart php7.4-fpm

    Не забудьте перезапустить сервер Apache или Nginx.

    sudo systemctl restart apache2

    sudo systemctl restart nginx

    Завершите процесс установки SuiteCRM через веб-браузер.

    Теперь введите имя вашего домена в адресной строке браузера, чтобы получить доступ к веб-мастеру установки SuiteCRM.

    https://suitecrm. your-domain.com/install.php

    Сначала получите лицензию GNU AGPL.

    Установка SuiteCRM на Ubuntu 20.04.

    После этого он проведет проверку вашей серверной среды. Если все устраивает, нажмите кнопку «Далее».

    Чтобы установить SuiteCRM на Ubuntu 20, выполните следующие действия:

    После этого введите данные вашей базы данных MariaDB/MySQL, которые были созданы на втором шаге. Также потребуется установить пароль для администратора, который будет использоваться для доступа к веб-интерфейсу. Не забудьте изменить URL на https://suitecrm.your-domain.com и указать ваш адрес электронной почты.

    Настройка базы данных для SuiteCRM

    В разделе дополнительных настроек доступны параметры для настройки электронной почты, включая указание имени и адреса отправителя.

    Если SuiteCRM развернут на вашем почтовом сервере, вы можете задать 127.0.0.1 как SMTP-сервер и использовать порт 25 для отправки почты через ваш собственный сервер.

    Настройка SMTP в SuiteCRM

    Если SuiteCRM и ваш почтовый сервер расположены на разных хостах, и вы хотите, чтобы SuiteCRM использовал ваш почтовый сервер для отправки писем, необходимо выбрать опцию «Другой» в качестве способа передачи почты. После этого

    • Укажите имя хоста вашего почтового сервера.
    • Используйте порт 587.
    • Выберите шифрование с использованием TLS.
    • Пожалуйста, введите свои данные для доступа к электронной почте на почтовом сервере.

    Характеристики SMTP сервера для SuiteCRM

    Нажмите на кнопку «Продолжить», чтобы завершить установку SuiteCRM.

    Активируйте HTTP2 для улучшения производительности.

    Для повышения скорости загрузки страниц в SuiteCRM рекомендуется активировать протокол HTTP2.

    Apache

    Сначала необходимо активировать модуль HTTP2.

    sudo a2enmod http2

    После этого перейдите к файлу виртуального хоста SSL.

    sudo nano /etc/apache2/sites-enabled/suitecrm-le-ssl.conf

    Вставьте данную директиву сразу после начального тега.

    Protocols h2 http/1.1

    Сохраните файл и закройте его. После этого перезапустите Apache, чтобы изменения начали действовать.

    sudo systemctl restart apache2

    Nginx

    Для активации протокола HTTP2 в виртуальном хосте Nginx, Locate the following line.

    listen 443 ssl; # управляется Certbot

    Просто включите http2 после ssl.

    listen 443 ssl http2; # управляется Certbot

    Сохраните изменения в файле и закройте его. После этого выполните перезагрузку Nginx.

    sudo systemctl reload nginx

    Настройте задачи Cron.

    Для нормального функционирования SuiteCRM необходимы задания Cron, которые должны быть настроены в файле crontab пользователя www-data. Пожалуйста, не добавляйте эти команды в crontab пользователя root.

    sudo - u www-data crontab - e

    Добавьте эти строки в конец текущего документа.

    ###### Задание Cron SuiteCRM ####### * * * * * php7.4 - f /var/www/suitecrm/cron.php > /dev/null 2>&1

    Сохраните изменения и завершите работу с файлом.

    Способы интеграции с Mautic

    Mautic представляет собой бесплатную замену платным сервисам для рассылки электронной почты, таким как MailChimp. У Mautic имеется плагин для SugarCRM, и так как SuiteCRM построен на основе SugarCRM 6.x, мы можем использовать этот плагин для интеграции с Mautic.

    Сначала необходимо открыть веб-интерфейс SuiteCRM и кликнуть на стрелку в правом верхнем углу, чтобы войти в административный модуль.

    Администрирование SuiteCRM

    После этого прокрутите вниз и выберите раздел с ключами OAuth.

    Ключи аутентификации OAuth для SuiteCRM

    Сгенерируйте новый OAuth-ключ, назвав его, к примеру, mautic. Введите комбинацию, подобную mautic-suitecrm, в поле «Ключ потребителя». Далее введите случайные символы в поле «Секрет потребителя». Не забудьте сохранить внесённые изменения.

    Создать OAuth-ключ в SuiteCRM

    Затем перейдите в настройки Mautic -> Плагины ->SugarCRM. Укажите URL вашего SuiteCRM, а также ключ и секрет клиента. Далее введите логин и пароль администратора SuiteCRM. Выберите версию 6.x/community и нажмите кнопку для авторизации приложения.

    Интеграция Mautic с SuiteCRM

    После входа в систему у вас будет возможность изменить статус публикации с «Нет» на «Да». Если при попытке авторизовать приложение возникла ошибка, проверьте, правильно ли обновлены DNS-записи для вашего поддомена Mautic и SuiteCRM в Интернете.

    Заключение

    Надеюсь, что данный учебник оказался полезным для установки SuiteCRM на Ubuntu 20.04. Вы также можете обратиться к руководству пользователя SuiteCRM, чтобы узнать, как им пользоваться. Если этот материал вам понравился, не забудьте подписаться на нашу бесплатную рассылку, чтобы получать дополнительные советы и рекомендации.