1С—Битрикс веб—окружение 7

16 Декабря, 2016

Свершилось, 1С—Битрикс анонсировали выход «Веб—окружение 7», версию обосновали возможностью установки на Centos 7 с php 7. Большой шаг для увеличения скорости сайта за счет новенькой php 7, mysql и обновления системного программного обеспечения на сервере. Centos зарекомендовал себя стабильной версией для сайтов на 1С-Битрикс, лучше чем Windows Server.

Ставить Centos 7 и веб—окружение 7 однозначно надо, за счет php 7 Битрикс показывает производительность в 2 раза больше, по сравнению с предыдущими версиями.

Опишем задачи: установка Centos 7, установка «Веб-окружение», перенос сайта на сервер, настройка сервера, установка сертификатов SSL и перевод с http на https. Столкнулись с осложнениями в виде установки программного обеспечения, поэтому делимся опытом. Установкой Centos делиться не будим, любой дата-центр предоставит вам установке с покупкой vps.

Предполагаем ос стоит, начинаем установку окружения:

 wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh  # chmod +x bitrix-env.sh  

Запускаем скрипт ./bitrix-env.sh установки bitrix окружение. Для установки необходимо отключить Selinux, и скрипт просит произвести отключение и перезагрузку через команду reboot.

Нажимаем Y, означающий согласие на отключение Selinux и производим перезагрузку. Зайдя в систему, перезапускаем скрипт. В нашем случае мы получили повторное уведомление об отключении Selinux. При повторной попытке заметили сообщение ./bitrix-env.sh: line 29: sestatus: command not found. Оказывается на сервере отсутствует Selinux, из-за этого не происходит установка.

Хочу поделиться, что такая проблема теперь везде, как на centos 6, centos 7.

Написали ругательное письмо в техподдержку и стали смотреть скрипт bitrix-env.sh на косяки и нашли начиная с 28 строки.

 disable_selinux(){ sestatus=$(sestatus | awk -F':' '/SELinux status:/{print $2}' | sed -e "s/\s\+//g") seconfigs="/etc/selinux/config /etc/sysconfig/selinux" if [[ $sestatus != "disabled" ]]; then print "You must disable SElinux before installing the Bitrix Environment." 1 print "You need to reboot the server to disable SELinux" read -r -p "Do you want disable SELinux?(Y|n)" DISABLE [[ -z $DISABLE ]] && DISABLE=y [[ $(echo $DISABLE | grep -wci "y") -eq 0 ]] && print_e "Exit." for seconfig in $seconfigs; do [[ -f $seconfig ]] && \ sed -i "s/SELINUX=\(enforcing\|permissive\)/SELINUX=disabled/" $seconfig && \ print "Change SELinux state to disabled in $seconfig" 1 done print "Please reboot the system! (cmd: reboot)" 1 exit fi } 

На строке 476 строке эта функция запускается на выполнение. Надо закомментировать #disable_selinux функцию. Поясним почему ошибка возникла: в функции выше не существует проверки на существование Selinux в системе, а просто ею пользуется (if [[ $sestatus != "disabled" ]]; then).

Убрав из выполнения эту функцию, процесс установки происходит нормально. Осталось подождать установку и начать пользоваться.

Установка прошла успешно. Заходим в ./menu.sh и создаем pool. Далее стандартно переносим файлы сайта и разворачиваем их. Произошла следующая ошибка, после развертывания сайта мы не смогли его открыть в браузере - сайт не доступен.

Оказывается необходимо теперь самим открывать порты сайта.

 iptables -I INPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT iptables -I INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT iptables -I INPUT -p tcp --dport 5222 -m state --state NEW -j ACCEPT iptables -I INPUT -p tcp --dport 5223 -m state --state NEW -j ACCEPT iptables -I INPUT -p tcp --dport 8090 -m state --state NEW -j ACCEPT iptables -I INPUT -p tcp --dport 8891 -m state --state NEW -j ACCEPT service iptables save 

Открыв порты и получив доступ к сайту, наблюдаем ошибку работы с mysql. Проблема в новом подключении с базой данных. В файле dbconn.php прописываем следующее:

 define( "BX_USE_MYSQLI" , true); 

В файле .settings.php заменяем строку, у нас 46:

 'className' => '\\Bitrix\\Main\\DB\\MysqliConnection', 

напоминаем, что перезапуск служб сервера в Centos 7 выполняются так:

 systemctl restart httpd.service systemctl restart nginx systemctl restart mysqld 

Свершилось второй раз, установка прошла успешно, пользуемся сайтом. Не забываем подключить Sphinx, curl и SSL. Если вы сочли информацию полезной, ставим просто лайк вк.

Техническая поддержка сайта

После обнаружения ошибки и описание проблемы в техподдержку 1С—Битрикс, получили ответ:

Автоматическое сообщение о создании заявки в разработку

На основе информации из данного обращения была создана заявка в отдел разработок.
"не ставится окружение без selinux"
Категория: Ошибки.
Номер обращения в разработку: 80839

1
Поддержка сайта
11706


Зарегистрируйтесь чтобы оставить комментарий
Бесплатная консультация
Какие услуги вас интересуют?
У вас уже есть список правок?
Введите символы с картинки*
Консультация по всем вопросам, заявка вас ничему не обязываем.
Информация о персональных данных авторов обращений, направленных в электронном виде, хранится и обрабатывается с соблюдением требований российского законодательства о персональных данных.
Приложить необходимые документы и материалы в электронной форме можно в любой последовательности одним самостоятельным вложением файла или с архивированием (файл вложения) по одному из разных типов допустимых форматов:
текстового (графического) формата: txt, doc, docx, rtf, xls, xlsx, pps, ppt, odt, ods, odp, pub, pdf, jpg, jpeg, bmp, png, tif, gif, pcx;
архивного (файл вложения) формата: zip, rar;
Иные форматы не обрабатываются в информационных системах компании Disprove.