Установка пакетов:
Пробуем активировать модуль MPM Event:
Если он уже был активирован ранее или только что активировался - значит все нормально, если выдало ошибку, анализируем, возможно ранее был подключен модуль MPM Pre-fork и модуль PHP ...
Проверить подключенные модули:
Смотрим какой PHP у нас установился:
Если у нас версия 7.4, тогда выполняем:
А так-же:
Проверяем конфиги Apache на наличие ошибок:
Если все хорошо, тогда:
Создаем домашнюю директорию сайта:
Создаем конфиг Apache для нашего сайта:
вставляем код:
далее сохраняем файл под именем, допустим suitecrm.conf
Подключаем наш созданный конфиг сайта (по сути создается симлинк):
Проверяем, что необходимые модули подключены:
Настраиваем PHP
Измените значение максимального размера файла загрузки. SuiteCRM нужно не менее 6 МБ, но мы установим 100 МБ в качестве значения.
Раскомментируйте строку CGI (показано ниже) и измените значение на 0.
Для конфигурации пути сеансов раскомментируйте строку ниже.
Сохраните эти изменения и выйдите.
Теперь нам нужно создать новый каталог для файлов сеансов PHP и изменить владельца каталога на пользователя и группу "www-data".
Настройка PHP и PHP-FPM завершена. Теперь запустите службу и включите ее для запуска каждый раз при загрузке системы.
По умолчанию в системе Ubuntu PHP-FPM будет работать под файлом sock вместо использования системного порта. Проверьте это с помощью команды netstat ниже.
И убедитесь, что результат, который вы видите, похож на то, что показано на следующем скриншоте.
Настройка MariaDB
Делаем базовую настройку безопасности:
Теперь мы создадим новую базу данных и пользователя для установки SuiteCRM. Создайте базу данных с именем suitecrm_db и нового пользователя crmadmin с паролем hakase-labs123. Подключитесь к оболочке mysql и выполните следующие запросы mysql.
Собственно сама установка SuiteCRM
Вариант 1, не самый лучший, т.к. на Гитхабе постоянно правятся баги (причем например после выхода 8.1 в ней было столько косяков, что даже установить было не возможно!!! и только правленные файлы с Гитхаба установились.)
Получаем ссылку на странице: https://suitecrm.com/download/
Качаем архив:
И разархивируем в домашнюю директорию:
Вариант 2, более правильный, т.к. всегда будет самое свежее, может менее глючное, а может и более глючное
будет скачана ветка "Master" и добавлена ветка "HotFix"
Копируем файлы в папку с сайтом
Качаем все текущие исправления:
Разархивируем
И копируем их тоже в папку с сайтом
Перейдите в папку, в которую был распакован пакет SUiteCRM и установите права, как это показано ниже:
https://docs.suitecrm.com/8.x/admin/ins ... ermissions
Если вы используете режим разработки, тогда нужно указать:
https://docs.suitecrm.com/8.x/developer ... ion-guide/
Установка сертификатов
Установка из исходников с Гитхаба: https://docs.suitecrm.com/8.x/developer ... ion-guide/
https://www.howtoforge.com/tutorial/how ... untu-1604/
Код: Выделить всё
apt -y install apache2 apache2-utils net-tools nginx php-xml php-fpm php-imap php-curl php-cli php-mysql php-gd php-xsl php-json php-intl php-pear php-dev php-common php-mbstring php-zip php-soap curl libcurl3-gnutls libcurl3-nss mariadb-server mariadb-client libapache2-mod-fcgid php-tokenizer
Пробуем активировать модуль MPM Event:
Код: Выделить всё
a2enmod mpm_event
Если он уже был активирован ранее или только что активировался - значит все нормально, если выдало ошибку, анализируем, возможно ранее был подключен модуль MPM Pre-fork и модуль PHP ...
Проверить подключенные модули:
Код: Выделить всё
ls -1 /etc/apache2/mods-enabled
Смотрим какой PHP у нас установился:
Код: Выделить всё
ls -1 /etc/php
Если у нас версия 7.4, тогда выполняем:
Код: Выделить всё
a2enconf php7.4-fpm
А так-же:
Код: Выделить всё
a2enmod proxy
a2enmod proxy_fcgi
a2enmod rewrite
Проверяем конфиги Apache на наличие ошибок:
Код: Выделить всё
apachectl configtest
Если все хорошо, тогда:
Код: Выделить всё
systemctl start apache2
systemctl enable apache2
Создаем домашнюю директорию сайта:
Код: Выделить всё
mkdir -p /var/www/suitecrm
chown -R www-data:www-data /var/www/suitecrm
Создаем конфиг Apache для нашего сайта:
Код: Выделить всё
cd /etc/apache2/sites-available
nano
вставляем код:
Код: Выделить всё
<VirtualHost *:80>
ServerName com.ru
ServerAlias www.com.ru
ServerAdmin xxx@com.ru
DocumentRoot /var/www/suitecrm/public
<Directory /var/www/suitecrm/public>
AllowOverride All
#Order Allow,Deny #Устаревшее, применялось до версии Apache 2.2
Require all granted #Свежее, применяется начиная с версии Apache 2.2
Allow from All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
далее сохраняем файл под именем, допустим suitecrm.conf
Подключаем наш созданный конфиг сайта (по сути создается симлинк):
Код: Выделить всё
a2ensite suitecrm
systemctl restart apache2
Проверяем, что необходимые модули подключены:
Код: Выделить всё
sudo apachectl -M | grep -E 'mpm|proxy|rewrite'
Настраиваем PHP
vim cli/php.ini
vim fpm/php.ini
Измените значение максимального размера файла загрузки. SuiteCRM нужно не менее 6 МБ, но мы установим 100 МБ в качестве значения.
Код: Выделить всё
upload_max_filesize = 100M
Раскомментируйте строку CGI (показано ниже) и измените значение на 0.
Код: Выделить всё
cgi.fix_pathinfo=0
Для конфигурации пути сеансов раскомментируйте строку ниже.
Код: Выделить всё
session.save_path = "/var/lib/php/sessions"
Сохраните эти изменения и выйдите.
Теперь нам нужно создать новый каталог для файлов сеансов PHP и изменить владельца каталога на пользователя и группу "www-data".
Код: Выделить всё
mkdir -p /var/lib/php/sessions
chown -R www-data:www-data /var/lib/php/sessions
Настройка PHP и PHP-FPM завершена. Теперь запустите службу и включите ее для запуска каждый раз при загрузке системы.
Код: Выделить всё
systemctl start php7.4-fpm
systemctl enable php7.4-fpm
По умолчанию в системе Ubuntu PHP-FPM будет работать под файлом sock вместо использования системного порта. Проверьте это с помощью команды netstat ниже.
Код: Выделить всё
netstat -pl | grep php
И убедитесь, что результат, который вы видите, похож на то, что показано на следующем скриншоте.
Настройка MariaDB
Код: Выделить всё
systemctl start mysql
systemctl enable mysql
Делаем базовую настройку безопасности:
Код: Выделить всё
mysql_secure_installation
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Теперь мы создадим новую базу данных и пользователя для установки SuiteCRM. Создайте базу данных с именем suitecrm_db и нового пользователя crmadmin с паролем hakase-labs123. Подключитесь к оболочке mysql и выполните следующие запросы mysql.
Код: Выделить всё
mysql -u root -p
Type your password:
CREATE DATABASE suitecrm_db;
CREATE USER 'crmadmin'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON suitecrm_db.* TO 'crmadmin'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Собственно сама установка SuiteCRM
Вариант 1, не самый лучший, т.к. на Гитхабе постоянно правятся баги (причем например после выхода 8.1 в ней было столько косяков, что даже установить было не возможно!!! и только правленные файлы с Гитхаба установились.)
Получаем ссылку на странице: https://suitecrm.com/download/
Качаем архив:
Код: Выделить всё
wget https://suitecrm.com/files/147/SuiteCRM-8.1/623/SuiteCRM-8.1.1.zip
И разархивируем в домашнюю директорию:
Код: Выделить всё
unzip -q SuiteCRM-8.1.1.zip -d /var/www/suitecrm
Вариант 2, более правильный, т.к. всегда будет самое свежее, может менее глючное, а может и более глючное

Код: Выделить всё
apt -y install git
mkdir -p /root/install/suitecrm
cd /root/install/suitecrm
git clone https://github.com/salesagility/SuiteCRM-Core.git
Копируем файлы в папку с сайтом
Код: Выделить всё
cp -a ./SuiteCRM-Core/. /var/www/suitecrm
Качаем все текущие исправления:
Код: Выделить всё
wget https://github.com/salesagility/SuiteCRM-Core/archive/refs/heads/hotfix.zip
Разархивируем
Код: Выделить всё
unzip hotfix.zip
И копируем их тоже в папку с сайтом
Код: Выделить всё
cp -a ./SuiteCRM-Core-hotfix/. /var/www/suitecrm
Перейдите в папку, в которую был распакован пакет SUiteCRM и установите права, как это показано ниже:
Код: Выделить всё
find . -type d -not -perm 2755 -exec chmod 2755 {} \;
find . -type f -not -perm 0644 -exec chmod 0644 {} \;
find . ! -user www-data -exec chown www-data:www-data {} \;
chmod +x bin/console
https://docs.suitecrm.com/8.x/admin/ins ... ermissions
Если вы используете режим разработки, тогда нужно указать:
Код: Выделить всё
find . -type d -not -perm 2775 -exec chmod 2775 {} \;
find . -type f -not -perm 0644 -exec chmod 0644 {} \;
find . ! -user www-data -exec chown www-data:www-data {} \;
chmod +x bin/console
https://docs.suitecrm.com/8.x/developer ... ion-guide/
Установка сертификатов
Код: Выделить всё
apt install -y letsencrypt
Установка из исходников с Гитхаба: https://docs.suitecrm.com/8.x/developer ... ion-guide/
https://www.howtoforge.com/tutorial/how ... untu-1604/