Давным-давно, когда я только пришел в компанию где сейчас тружусь, я много из того, что здесь развернуто и используется — я честно не сталкивался, но я все исправил, уже нет ничего что бы меня могло подвергнуть в ступор или неловкое ощущение что я не знаю, как решить поставленную задачу. Теперь я сам развиваю и перенастраиваю сервисы как они правильно должны работать чтобы было: как разворачивание, добавить почту, сертификаты, права, бекап и восстановление, документирование ошибок, составление схем что от чего зависит и т.д.
Если ранее я в тестовых условиях разбирал, как "Разворачиваем 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
(см скриншот ниже для наглядного понимания что должно у Вас получиться)
Этап (Начало установки) — нажимаю «Далее»
Этап (Лицензионное соглашение) — отмечаю галочкой «Я принимаю лицензионное соглашение» и нажимаю «Далее»
Этап (Регистрация продукта)
Я хочу зарегистрировать свою копию продукта, устанавливать решения из Маркетплейс и получать обновления: снимаю галочку
Установить в кодировке 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
Подпись сайта: оставляю по дефолту
Описание сайта: оставляю по дефолту
Ключевые слова: оставляю по дефолту
и нажимаю "Установить"
Этап (Установка решения), после завершения нажимаю на "Перейти на сайт"
и получаю
Шаг №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.