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

Если ранее я в тестовых условиях разбирал, как "Разворачиваем Bitrix on Ubuntu 18.04 Apache2" то это было полезно, сейчас мне нужно проработать как выполнять резервное копирование не через Web-интерфейс, а через консоль командной строки, т.к. сайтов уже более 20 и это не удобно, но сперва на тестовой системе следуя по заметке выше столкнулся, с тем, что часть шагов стала неактуальным (все меняется). А потому обновляем заметку делая новую заметку, как произвести установку Bitrix на Ubuntu 18.04.6, прежде чем решить другие: бекап и восстановление.

Для реализации задуманного задействую тестовый стенд под управлением Debian 10 + Proxmox 6.4-13

Создаю виртуальную машину (CPU =1 (2cores),HDD=60Gb, RAM=2Gb, OS=Ubuntu 18.04 Server)

Шаг №1: Подключаюсь по SSH к Ubuntu 18.04 Server дабы обновить информацию об установленных пакетах посредством текущий репозитариев:

ekzorchik@srv-bionic:~$ sudo rm -Rf /var/lib/apt/lists
ekzorchik@srv-bionic:~$ sudo nano /etc/update-manager/release-upgrades
[DEFAULT]
#было 
#Prompt=lts
#меняю на
Prompt=never
ekzorchik@srv-bionic:~$ sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y

Шаг №2: Прописываю настройки локали:

ekzorchik@srv-bionic:~$ sudo rm -f /etc/localtime
ekzorchik@srv-bionic:~$ sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
ekzorchik@srv-bionic:~$ sudo locale-gen en_US.UTF-8
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
ekzorchik@srv-bionic:~$ echo "LC_ALL="en_US.UTF-8"" | sudo -s tee /etc/default/locale
LC_ALL=en_US.UTF-8
ekzorchik@srv-bionic:~$ echo "LANG="en_US.UTF-8"" | sudo tee -a /etc/default/locale
LANG=en_US.UTF-8
ekzorchik@srv-bionic:~$ echo "LANGUAGE="en.US.UTF-8"" | sudo tee -a /etc/default/locale
LANGUAGE=en.US.UTF-8
ekzorchik@srv-bionic:~$

после отключаюсь от системы и снова подключаюсь

Шаг №3: По умолчанию из дефолтных репозитариев Ubuntu 18.04 Server доступен лишь пакет PHP версии: 7.2, если устанавливать его, то при преднастройке Bitrix через Web-интерфейс столкнемся, что сообщением:

Версия PHP   7.4.0 и выше 7.2.24-0ubuntu0.18.04.16

  • нужна версия 7.4.0 и выше
  • а установлена 7.2.24

чтобы обновить версию пакета php делаем следующее, удаляем если что-то было установлено:

ekzorchik@srv-bionic:~$ sudo dpkg -l | grep php | awk '{print $2}'
ekzorchik@srv-bionic:~$

Превращаю столбец в строку:

ekzorchik@srv-bionic:~$ for i in `<php72.txt`; do echo -n ${i}" "; done; echo ""
libapache2-mod-php libapache2-mod-php7.2 php-common php-mime-type php-mysql php-pear php-xml php7.2-cli php7.2-common php7.2-gd php7.2-json php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml
ekzorchik@srv-bionic:~$
ekzorchik@srv-bionic:~$ sudo apt-get remove --purge -y libapache2-mod-php libapache2-mod-php7.2 php-common php-mime-type php-mysql php-pear php-xml php7.2-cli php7.2-common php7.2-gd php7.2-json php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml
ekzorchik@srv-bionic:~$ sudo apt-get install python-software-properties
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package python-software-properties is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  software-properties-common

E: Package 'python-software-properties' has no installation candidate
ekzorchik@srv-bionic:~$ sudo apt-get install -y software-properties-common
ekzorchik@srv-bionic:~$ sudo add-apt-repository ppa:ondrej/php
ekzorchik@srv-bionic:~$ sudo apt-get install -y libapache2-mod-php7.4 php-mime-type php7.4-mysql php-pear php-xml php7.4-cli php7.4-common php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-xml mysql-server mysql-client apache2 apache2-data

На заметку: в процесс происходит установка: The following NEW packages will be installed: php-xml php8.2-common php8.2-xml

ekzorchik@srv-bionic:~$ sudo a2dismod php8.2
Module php8.2 disabled.
To activate the new configuration, you need to run:
  systemctl restart apache2
ekzorchik@srv-bionic:~$ sudo a2enmod php7.4
Considering dependency mpm_prefork for php7.4:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php7.4:
Enabling module php7.4.
To activate the new configuration, you need to run:
  systemctl restart apache2
ekzorchik@srv-bionic:~$
ekzorchik@srv-bionic:~$ sudo apt-get remove php8.2-* -y
ekzorchik@srv-bionic:~$ php -v
PHP 7.4.33 (cli) (built: Jan 13 2023 10:42:12) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies
ekzorchik@srv-bionic:~$

Шаг №4: Делаю преднастройку Webсервиса Apache2:

ekzorchik@srv-bionic:~$ echo "ServerName localhost" | sudo tee -a /etc/apache2/apache2.conf
ServerName localhost
ekzorchik@srv-bionic:~$
ekzorchik@srv-bionic:~$ sudo rm /etc/apache2/sites-available/000-default.conf
ekzorchik@srv-bionic:~$ sudo rm /etc/apache2/sites-available/default-ssl.conf
ekzorchik@srv-bionic:~$ sudo rm /etc/apache2/sites-enabled/000-default.conf
ekzorchik@srv-bionic:~$ sudo rm -f /var/www/html/index.html
ekzorchik@srv-bionic:~$ sudo nano /etc/php/7.4/apache2/php.ini
;mbstring.func_overload = 0
display_errors = Off
memory_limit = 256M
file_uploads = On
short_open_tag = On
opcache.revalidate_freq=0
mbstring.internal_encoding = UTF-8
max_execution_time = 300
date.timezone = Europe/Moscow
;max_input_vars = 1000
max_input_vars = 12000
ekzorchik@srv-bionic:~$ sudo systemctl restart apache2

Шаг №5: Изменяю схему авторизации и назначаю пароль на системную учетной запись root сервиса MySQL:

ekzorchik@srv-bionic:~$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
default-authentication-plugin=mysql_native_password
ekzorchik@srv-bionic:~$ sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '712mbddr@';"
ekzorchik@srv-bionic:~$
ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "use mysql;select user from mysql.user;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+------------------+
| user             |
+------------------+
| debian-sys-maint |
| mysql.session    |
| mysql.sys        |
| root             |
+------------------+
ekzorchik@srv-bionic:~$

Доступ для подключения я сервису mysql есть только с использованием авторизации под учетной запись сервиса root и обозначенного пароля.

Шаг №6: Создаю пустую базу данных, пользователя и пароль:

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "create database db_bitrix character set utf8"
mysql: [Warning] Using a password on the command line interface can be insecure.
ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "create user 'us_bitrix'@'localhost' identified by '612mbddr@'"
mysql: [Warning] Using a password on the command line interface can be insecure.
ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "grant all on db_bitrix.* to 'us_bitrix'@'localhost';"
mysql: [Warning] Using a password on the command line interface can be insecure.
ekzorchik@srv-bionic:~$

Шаг №7: Создаю каталог на Webсервере, в котором будут располагаться файлы Bitrix:

ekzorchik@srv-bionic:~$ sudo mkdir /var/www/html/site
ekzorchik@srv-bionic:~$ sudo usermod -aG www-data ekzorchik
ekzorchik@srv-bionic:~$ sudo chmod -R 775 /var/www/html/site/
ekzorchik@srv-bionic:~$ sudo chown -R www-data:www-data /var/www/html/site/

Шаг №8: Скачиваю полнофункциональную ознакомительную версию "1С-Битрикс: Управление сайтом" которая доступна бесплатно и может быть использоваться в течении 30 дней

ekzorchik@srv-bionic:~$ wget https://www.1c-bitrix.ru/download/standard_encode.tar.gz
ekzorchik@srv-bionic:~$ sudo tar zxf standard_encode.tar.gz -C /var/www/html/site/

Шаг №9: Создаю конфигурационный файл для доступа к разворачиваемому сайту со структурой Bitrix для Webсервиса Apache2:

ekzorchik@srv-bionic:~$ sudo nano /etc/apache2/sites-available/site.conf
<VirtualHost *:80>
ServerName 172.33.33.3
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/site
<Directory /var/www/html/site>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/site-error.log
CustomLog ${APACHE_LOG_DIR}/site-access.log combined
</VirtualHost>
ekzorchik@srv-bionic:~$ sudo a2ensite site.conf
Enabling site site.
To activate the new configuration, you need to run:
  systemctl reload apache2
ekzorchik@srv-bionic:~$ sudo apache2ctl configtest
Syntax OK
ekzorchik@srv-bionic:~$ sudo systemctl restart apache2

Шаг №10: Открываю в браузере URL ссылку где IP&DNS это адрес где разворачиваем Bitrix, т.е. URL ссылка в моем случае будет: http://172.35.35.3

(см скриншот ниже для наглядного понимания что должно у Вас получиться)

Разворачиваю 1С-Битрикс: Управление сайтом

Этап (Начало установки) — нажимаю «Далее»

Этап (Лицензионное соглашение) — отмечаю галочкой «Я принимаю лицензионное соглашение» и нажимаю «Далее»

Этап (Регистрация продукта)

Я хочу зарегистрировать свою копию продукта, устанавливать решения из Маркетплейс и получать обновления: снимаю галочку

Установить в кодировке UTF-8: отмечаю галочкой

и нажимаю «Далее»

Этап (Предварительная проверка)

Проверяю что все предустановленное соответствует рекомендуемому

На заметку:

  • Зеленым цветом выделены значения, которые удовлетворяют требованиям системы.
  • Красный цветом выделены значения, которые не удовлетворяют требованиям системы.

Обязательные параметры системы - проблем нет

А вот ниже

Проверка доступа к диску - есть проблемы, устраняю

поправляю:

ekzorchik@srv-bionic:~$ sudo chmod -R 775 /var/www/html/

ekzorchik@srv-bionic:~$ sudo chown -R www-data:www-data /var/www/html/

обновляю страницу клавишей F5 или нажатием на иконку (если браузер Google Chrome) "Обновить эту страницу" после чего проверка доступа к диску отображает все зеленым цветом:

Проверка доступа к диску - проблем нет

Также все зеленым цветом у "Рекомендуемых установок"

Рекомендуемые установки - проблем нет

и нажимаю "Далее"

Этап (Создание базы данных)

  • Сервер: localhost
  • Пользователь базы данных: Существующий
  • Имя пользователя: us_bitrix
  • Пароль: 612mbddr@
  • База данных: Существующая
  • Имя базы данных: db_bitrix
  • Тип таблиц базы данных: innodb
  • Права на доступ к файлам сайта: 0644
  • Права на доступ к папкам сайта: 0755

и нажимаю "Далее"

Этап (Установка продукта) идет…

Этап (Создание администратора)

  • Логин (мин. 3 символа): ekzorchik
  • Пароль (мин. 6 символов): 712mbddr@
  • Подтверждение пароль: 712mbddr@
  • E-mail: support@ekzorchik.com
  • Имя: ekzorchik
  • Фамилия: ekzorchik

и нажимаю "Далее"

Этап (Выберите решение для установки)

  • выбираю к примеру «Информационный портал»

и нажимаю "Далее"

после запускается мастер настройки шаблона

Этап (Выбор шаблона) и нажимаю "Далее"

Этап (Выбор темы)

  • оставляю к примеру "Зеленый" и нажимаю "Далее"

Этап (Настройка решения)

  • Название информационного портала: tips_db_home
  • Подпись сайта: оставляю по дефолту
  • Описание сайта: оставляю по дефолту
  • Ключевые слова: оставляю по дефолту

и нажимаю "Установить"

Этап (Установка решения), после завершения нажимаю на "Перейти на сайт" и получаю

Bitrix успешно развернут на Ubuntu 18.04 Server

Шаг №11: После проверяю через Webпанель администрирования что полное тестирование системы удовлетворяет всему:

http://IP&DNS/bitrix - Login:ekzorchik Pass:712mbddr@ - Меню – Настройки – Инструменты – Проверка системы – (вкладка Тестирование конфигурации) Начать тестирование – (а вот и первые замечания)

  • Выполнение агентов на cron: Замечание. Агенты выполняются на хитах, рекомендуется перевести выполнение агентов на cron
  • Загрузка файла больше 4Mb: (Ошибка! Не работает)
  • Отправка почты: (Ошибка! Не работает)
  • Отправка почтового сообщения больше 64 Kb: (Ошибка! Не работает)
  • Режим работы MySQL: (Ошибка! Innodb_strict_mode = On, требуется OFF)

Исправляю:

ekzorchik@srv-bionic:~$ sudo nano /etc/php/7.4/apache2/php.ini
;upload_max_filesize = 2M
upload_max_filesize = 10M
ekzorchik@srv-bionic:~$ sudo systemctl reload apache2
ekzorchik@srv-bionic:~$ sudo nano /etc/mysql/conf.d/bt_custom.cnf
[mysqld]
innodb_strict_mode = OFF
ekzorchik@srv-bionic:~$ sudo systemctl restart mysql
ekzorchik@srv-bionic:~$ /usr/bin/php -version
PHP 7.4.33 (cli) (built: Jan 13 2023 10:42:12) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies
ekzorchik@srv-bionic:~$
ekzorchik@srv-bionic:~$ sudo crontab -e
*/1 * * * * /usr/bin/php -f /var/www/html/site/bitrix/modules/main/tools/cron_events.php
ekzorchik@srv-bionic:~$ sudo nano /var/www/html/site/bitrix/php_interface/dbconn.php
<?php
define("BX_USE_MYSQLI", true);
$DBDebug = false;
$DBDebugToFile = false;
define("MYSQL_TABLE_TYPE", "INNODB");

define("CACHED_b_file", 3600);
define("CACHED_b_file_bucket_size", 10);
define("CACHED_b_lang", 3600);
define("CACHED_b_option", 3600);
define("CACHED_b_lang_domain", 3600);
define("CACHED_b_site_template", 3600);
define("CACHED_b_event", 3600);
define("CACHED_b_agent", 3660);
define("CACHED_menu", 3600);

define("BX_FILE_PERMISSIONS", 0644);
define("BX_DIR_PERMISSIONS", 0755);
@umask(~(BX_FILE_PERMISSIONS | BX_DIR_PERMISSIONS) & 0777);

define("BX_DISABLE_INDEX_PAGE", true);

define("BX_UTF", true);
mb_internal_encoding("UTF-8");
define('BX_CRONTAB_SUPPORT', true);
?>

добавил директиву define('BX_CRONTAB_SUPPORT', true);

после устанавливаю пакет ssmtp & mailutils и настраиваю его на взаимодействие с моим почтовым сервером на базе iRedMail 1.6.2 за основу можно взять заметку "Настройка ssmtp на работу с iRedMail 1.6.2"

Выполняю заново проверку

http://IP&DNS/bitrix - Login:ekzorchik Pass:712mbddr@ - Меню – Настройки – Инструменты – Проверка системы – (вкладка Тестирование конфигурации) Начать тестирование

и после по всем пунктам статус "Успешно", а по части почты

  • Отправка почты   Замечание. Отправлено. Время отправки: 1.33 сек.
  • Отправка почтового сообщения больше 64Кб  Замечание. Отправлено. Время отправки: 1.72 сек.

Итого установка Bitrix на Ubuntu 18.04 Server обновлена на момент написания заметки (это от 31.01.2023). На этом пока все, с уважением автор блога Олло Александр aka ekzorchik.