• Установка и обновление SuiteCRM 8.X с Apache

 #10590   IgorA100
 31 май 2022, 23:27
Установка пакетов:
Код: Выделить всё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

И убедитесь, что результат, который вы видите, похож на то, что показано на следующем скриншоте.
2.png
2.png (83.57 КБ) 5772 просмотра


Настройка 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, более правильный, т.к. всегда будет самое свежее, может менее глючное, а может и более глючное :) будет скачана ветка "Master" и добавлена ветка "HotFix"
Код: Выделить всё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/
 #10651   IgorA100
 16 окт 2022, 00:16
Обновление: https://docs.suitecrm.com/8.x/admin/ins ... upgrading/
Сохраняем скачанный архив https://suitecrm.com/download/128/suite82/562059/suitecrm-8-2-4.zip
сюда: /var/www/suitecrm/tmp/package/upgrade/suitecrm-8.2.3.zip
Останавливаем сервисы:
Код: Выделить всёsystemctl stop apache2
systemctl stop php7.4-fpm

Запускаем апгрейд:
Код: Выделить всё./bin/console suitecrm:app:upgrade -t suitecrm-8-2-3

Далее для объединения метаданных:
Код: Выделить всё./bin/console suitecrm:app:upgrade-finalize -m merge

или для оставления старых метаданных:
Код: Выделить всё./bin/console suitecrm:app:upgrade-finalize -m keep


Корректируем права:
Код: Выделить всё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


Очистка кеша:
Код: Выделить всё./bin/console cache:clear
bin/console cache:clear
rm -rf cache
rm -rf public/legacy/cache


Перезапускаем процессы:
Код: Выделить всёsystemctl restart apache2
systemctl restart php7.4-fpm