Установка CMS 1C Bitrix в LEMP (Linux, Nginx, MariaDB, PHP 7) для CentOS 7, Debian 9 Stretch, Ubuntu 18.04 Bionic

1C Bitrix — самая популярная в России коммерческая платформа для разработки сайтов. Ниша этой CMS такая же как у Drupal и Joomla. Эта система является зрелой и хорошо поддерживаемой.

После чтения этой статьи, вы научитесь самостоятельно настраивать минималистичный сервер для для сайта под управлением CMS 1С Bitrix. Ваш сайт будет доступен по защищенному протоколу HTTPS с поддержкой бесплатного сертификата Let’s Encrypt.

Для установки CMS 1C Bitrix на выделенном сервере или VPS нам понадобится установить сервер LEMP (Linux, Nginx, MySQL, PHP 7), а затем скачать и настроить сам 1C Bitrix.

Зачем использовать минимальный сервер LEMP для хостинга сайта 1C Bitrix?

Хотя для целей разработки можно использовать сервер разделяемого хостинга с панелью, для нужд продуктовой среды лучше использовать выделенный сервер или VPS. Это позволит добиться следующих положительных результатов:

  • значительно более высокая защищенность от вредоносной активности других приложений пользователей, размещенных на разделяемом хостинге;
  • гарантированная производительность и доступность вычислительных ресурсов;
  • низкий риск человеческих ошибок;
  • отдельный IP-адрес, что позволяет эффективно защищать сайт от DDoS с помощью CDN;
  • возможность тонкой настройки PHP, Nginx и MySQL и других приложений для оптимальной производительности;
  • максимальная простота сервера без лишних точек отказа.

Установка сервера LEMP

Установка LEMP в CentOS 7 с использованием внешнего репозитория Remi’s Repository для установки PHP 7.2.

Стандартная установка LEMP в Debian 9 Stretch с использованием PHP 7.0

Стандартная установка LEMP в Ubuntu 18.04 Bionic с использованием PHP 7.2

Установка и настройка 1C Bitrix

Для успешной установки 1C Bitrix требуется внести ряд изменений в настройки PHP, которые требуются программе-установщику.

CentOS 7

Добавьте в конец файла /etc/opt/remi/php72/php.ini следующие переменные:

short_open_tag = On
mbstring.func_overload = 2
opcache.revalidate_freq = 0
date.timezone = Asia/Novosibirsk
display_errors = On

Выполните перезапуск PHP-FPM:

sudo systemctl restart php72-php-fpm

Debian 9

Добавьте в конец файла /etc/php/7.0/fpm/php.ini следующие переменные:

short_open_tag = On
mbstring.func_overload = 2
opcache.revalidate_freq = 0
date.timezone = Asia/Novosibirsk
display_errors = On

Выполните перезапуск PHP-FPM:

sudo service php7.0-fpm restart

Ubuntu 18.04

Добавьте в конец файла /etc/php/7.2/fpm/php.ini следующие переменные:

short_open_tag = On
mbstring.func_overload = 2
opcache.revalidate_freq = 0
date.timezone = Asia/Novosibirsk
display_errors = On

Выполните перезапуск PHP-FPM:

sudo service php7.2-fpm restart

Скачаем и распакуем архив сайта. На момент написания статьи стабильным считается 1C Bitrix 18.1.5:

cd /var/www/$WEBSITE_NAME

# Типы поставок 1C Bitrix
# start_encode.zip
# standard_encode.zip
# small_business_encode.zip
# business_encode.zip

sudo wget https://www.1c-bitrix.ru/download/start_encode.zip

sudo unzip start_encode.zip

Установим права, чтобы пользователь, под которым выполняется Nginx мог вносить в файлы изменения:

# для Ubuntu / Debian
sudo chown www-data: -R /var/www/$WEBSITE_NAME

# для CentOS
sudo chown nginx: -R /var/www/$WEBSITE_NAME

Теперь открываем скрипт установки https://$WEBSITE_NAME/ в браузере и продолжаем установку:

Проверяем, что все пункты, кроме версии Nginx «зеленые».
Проверяем, что все пункты, кроме версии Nginx «зеленые».
Указываем параметры доступа к БД.
Прогресс установки.
Задаем данные администратора сайта.
Выбираем шаблон сайта для установки.
Настраиваем шаблон сайта для установки.
Настраиваем шаблон сайта для установки.
Настраиваем шаблон сайта для установки.
Наблюдаем за установкой шаблона.
Последний экран мастера установки. Можно перейти в административную зону сайта.
Административная зона сайта.
Вид сайта для пользователя.

На этом установка завершена и вы можете начать заниматься сайтом.

Что еще сделать после установки?

После установки мы рекомендуем выполнить следующие действия:

  • повысить безопасность сервера с помощью тонкой настройки файрвола:
  • установить сайт под защиту CloudFlare;
  • настроить почтовый сервер, если вы планируете осуществлять отправку почты локально с сервера, а не по SMTP: