Полная настройка и оптимизация сервера Fastpanel для 1С Битрикс

Moovix » Блог » Полная настройка и оптимизация сервера Fastpanel для 1С Битрикс
В статье я собрал необходимые настройки для корректной работы Битрикса на fastpanel

Содержание

  • Если не работает ЧПУ
  • PHP value opcache.revalidate_freq = 0
  • MySQL value innodb_strict_mode=0
  • Настройка прав MySQL SESSION_VARIABLES_ADMIN

Исправить не работающий ЧПУ Битрикса на FASTPANEL

Путей решения может быть как минимум два: выбрать интерпритатор PHP FastCGI, или если нужно запустить сайн на PHP-FPM, то нужно добавить строку в конфиг PHP для нужного сайата.

Выбор интерпритатора PHP FastCGI

Для этого открываем страницу сайта в панели управления и выбираем пунт “Настройки”

В меню слева на открывшейся странице выбираем пункт “Обработчик PHP” и выбираем нужный нам обрабтчик и версию PHP.

После этого жмем “Сохранить” и пользуемся сайтом.

Настройка PHP-FPM FASTPANEL для корректной работы ЧПУ Битрикса

По дефолту созданные в FASTPANEL сайты на CMS Bitrix не работают должным образом. Один из проблемных моментов, что в режиме PHP-FPM не работает обработка URL модулем urlrewrite. Путей исправления данной проблемы два: выбрать режим php FastCGI, или добавить в конфиг NGINX дополнительную строку настроек.

				
					if (!-e $request_filename) {
    rewrite ^(.*)$ /bitrix/urlrewrite.php last;
}
				
			

Этот фрагмент кода нужно вставить педе первым правилом location. Ниже на снимках экрана показано как найти эту настройку и куда вставить код.

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

Настройка PHP opcache.revalidate_freq = 0

Для этого в разделе упраления сайтом ПУ открываем настройки PHP

Далее в строке поиска поочередно ищем нужные параметры и выставляем их значения как показано на снимках экрана ниже.

Список необходимых параметров и их значний:

						
				
					opcache.revalidate_freq = 0

				
			

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

Данная настройка применяется к конкретной версии PHP, поэтому для каждой версии эту настройку нужно будет повторно установить.

Настройка MySQL FASTPANEL под Битрикс

Переменная innodb_strict_mode=0

Для нормальной работы битрикса требуется задать значение параметра innodb_strict_mode=0 для этого необходимо открыть “Меню” – “Управление” – “Базы данных”

Дальше в правой верхней части окна рабочей области нажать кнопку “Серверы баз данных”

Далее на списке серверов выбираем сервер localhost и в правой чатси строки в меню выбираем пунт “Настроить переменные”

Далее вставляем в поле поиска строку innodb_strict_mode и дважды кликаем на найденной настроке в списке ниже.

В открыввшемся окне устанавливаем значение 0 или FALSE и жмем кнопку “Сохранить”.

После этого не забываем в писке сверху нажать кнопку “Сохранить”, чтобы изменение настроек применилилсь и сервер MySQL перезапустился.

Права пользователя MySQL

Еще часто после разворачивания копии Битрикс сайта на FASTPANEL может вылезать ошибка.

				
					[Bitrix\Main\DB\SqlQueryException] 
Mysql query error: (1227) Access denied; you need (at least one of) the SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation (400)
				
			

Для исправления этой ошибки необходимо открыть phpMyAdmin от пользователя ROOT и выполнить SQL запрос

						
				
					GRANT SESSION_VARIABLES_ADMIN ON *.* TO 'username'@'localhost';

				
			

В этом запросе необходимо вместо username вписать имя пользователя БД, от имени которого осуществляется подключение (прописано в файлах dbconn.php и .settings.php).

Где взять пароль root для MySQL?

В FASTPANEL пароль root пользователя хранится в файле /root/.my.cnf и для его просмотра необходимо подключиться к серверу по SSH или открыть терминал в GUI вашего сервера и выполнить команду

				
					sudo cat /root/.my.cnf

				
			

В ответ на экране появится содержимое этого файла с указанием пароля root, его можно скопировать и сохрнатить в надежном месте, т.к. эта информация может нам еще потребоваться в будущем.

						
				
					[client]
user = root
password = ###############
				
			

Исправление ошибки MySQL 8 для старых версий битрикса

Могут возникать ситуации, когда устаревшие движки битрикса не заводятся на MySQL 8 версии и выдают ошибку вида:

Server sent charset unknown to the client. Please, report to the developers (400)

В этом случае нужно в файле /etc/mysql/conf.d/mysql.cnf добавить следующий фрагмент кода

				
					[mysql]
default-character-set = utf8

[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8

default_authentication_plugin = mysql_native_password
				
			

После сохранения файла необходимо перезапустить службу mysql

						
				
					service mysql restart

				
			

Ура! Ошибок нет!

Moovix » Блог » Полная настройка и оптимизация сервера Fastpanel для 1С Битрикс