Мастер установки не проходит - разбор причин
Первая установка продукта на подготовленный сервер обрывается или зависает на одном из шагов мастера: полоска стоит на процентах, страница пустеет или возвращает отказ. Отказ установщика самого окружения - отдельная тема, здесь речь только о продукте. Разбираем причины по убыванию частоты, начиная с требований к серверу.
С чего начать
Смотрим, на каком шаге встал мастер:
лицензионное соглашениеключ продукта, режим разработки, кодировкапроверка системы # на BitrixVM шаг пропускаетсяпараметры базы данных # на BitrixVM шаг пропускаетсясоздание структуры базыданные администратора # логин от 3 латинских символов, пароль от 6Номер шага делит причины пополам: первые три упираются в требования к серверу, а последние три - в права на запись и в доступы к базе.
Сверяем расширения и запрещённые модули:
php -m | grep -iE 'mbstring|zlib|zip|openssl|hash|pcre|mysqli|amqp|ldap'php -m | grep -i suhosin # платформой запрещён, установку ломаетhttpd -M 2>/dev/null | grep -i security # mod_security запрещён так жеphp -i | grep -E 'memory_limit|max_execution_time|default_charset'Список обязательных расширений закрыт, и мастер встаёт на первом же
отсутствующем в системе. Модули suhosin и mod_security платформой запрещены
и рвут шаги без внятного сообщения.
Проверяем владельца файлов дистрибутива:
ls -l /home/bitrix/www/bitrixsetup.php # владелец = пользователь веб-сервераchown -R bitrix:bitrix /home/bitrix/www # каталог сайта целикомps -o user= -C php-fpm | sort -u # от кого работает интерпретаторСкрипт bitrixsetup.php распаковывает дистрибутив прямо на сервере и после
распаковки удаляет себя сам. Дерево каталогов, распакованное от постороннего
пользователя, веб-сервер на следующем шаге записать не сможет.
Ищем причину обрыва в журналах:
tail -50 /var/log/php-fpm/error.log | grep -iE 'memory|execution|denied'tail -20 /var/log/nginx/error.log | grep -i upstream # обрыв на стороне PHPОбрыв без сообщения на экране почти всегда оставляет запись в журнале самого PHP. Пустой журнал при этом означает, что процесс убила сама операционная система.
Поднимаем лимиты на время установки:
memory_limit = 256M ; шаг создания структуры самый прожорливыйmax_execution_time = 300post_max_size = 1024M ; дистрибутив приходит одним крупным архивомupload_max_filesize = 1024Mmbstring.func_overload = 0 ; параметр должен быть удалён или обнулёнПричины
-
Сервер не набирает обязательные требования примерно 30% случаев
ПризнакМастер встал на шаге проверки системы и подсвечивает красным строку требования.
ПроверкаСверяем список модулей интерпретатора с обязательным перечнем и ищем запрещённые модули защиты.
Что делатьДоставляем недостающие расширения, выключаем suhosin и mod_security, перезапускаем веб-сервер и повторяем шаг.
-
Нет прав на запись у владельца процесса примерно 25% случаев
ПризнакРаспаковка или создание структуры обрываются, а каталоги сайта остаются пустыми.
ПроверкаСмотрим владельца каталога сайта и пользователя, от которого работает интерпретатор PHP.
Что делатьПередаём каталог сайта пользователю веб-сервера целиком и запускаем шаг мастера заново.
-
Отказ на шаге параметров базы данных примерно 18% случаев
ПризнакШаг возвращает отказ подключения либо жалобу на кодировку и версию сервера базы.
ПроверкаПодключаемся к базе теми же логином и паролем из консоли сервера вручную.
Что делатьЗаводим базу в нужной кодировке и выдаём учётной записи полные права на неё.
-
Обрыв на шаге создания структуры примерно 15% случаев
ПризнакПолоска замирает на процентах и дальше не двигается, сообщения об ошибке нет.
ПроверкаИщем в журнале PHP запись о нехватке памяти или о превышении времени работы.
Что делатьПоднимаем предел памяти и время выполнения своим файлом настроек, затем повторяем шаг.
-
Мастер не принимает логин или пароль администратора примерно 12% случаев
ПризнакПоследний шаг возвращает форму обратно, а причина отказа сформулирована невнятно.
ПроверкаПроверяем логин на длину и на латиницу, а пароль - на минимальную длину.
Что делатьЗадаём логин от трёх латинских символов и пароль от шести знаков, затем сохраняем.
Частые вопросы
Почему не устанавливается битрикс на локалке?
Требования к площадке одни и те же везде: сборка общего назначения обычно не набирает обязательных расширений и держит низкие лимиты памяти. До запуска мастера прогоняют скрипт требований bitrix_server_test.php и закрывают его замечания.
Установка встала на добавлении каталогов и висит, что делать?
Смотрим владельца каталога сайта: распакованное от постороннего пользователя дерево веб-сервер дописать не может. Каталог целиком передают пользователю, от которого работает интерпретатор, и повторяют шаг мастера.
Структура базы данных зависает на процентах, куда копать?
В журнал PHP: шаг обрывается по пределу памяти или по времени выполнения, и на экране это выглядит замиранием полоски. Поднимаем memory_limit до 256M и max_execution_time до 300 секунд в своём файле настроек.
Не работает установщик bitrixsetup, с чего начинать?
С владельца файла и прав на корень сайта: скрипту нужно записать распакованный дистрибутив рядом с собой. После распаковки он удаляет себя сам, поэтому пропавший из корня файл - признак успеха, а не сбоя.
Чем отказ мастера отличается от ошибки установки окружения?
Окружение ставится до продукта и даёт веб-сервер, PHP и базу. Мастер продукта запускается уже поверх готового окружения, и его отказы разбираются требованиями, правами и доступами к базе, а не пакетами системы.
Смежное
- BitrixVM и веб-окружение - оглавление подтемы
- Инфраструктура 1С-Битрикс - устройство серверной части
- Ошибка при установке веб-окружения - когда падает установщик окружения, а не продукта
- Проверка системы: что смотрит и что чинить первым - разбор красных пунктов отчёта
- Установка и настройка BitrixVM - подготовка сервера до запуска мастера
- Платформа на обычном хостинге - что настроить на общей площадке заранее
- База данных в веб-окружении - доступы и кодировка для шага параметров
- Права на файлы и папки - права структуры поверх прав файловой системы
- Перенос сайта на другой сервер - установка из копии вместо чистого мастера