Установка 1С-Битрикс на виртуальный хостинг

Хостинг для Битрикс

1С-Битрикс

Бегет

Хостинг для 1С-Битрикс

Оптимальный выбор хостинга. Почему beget.ru

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

Виртуальный хостинг от beget.ru полностью удовлетворяет требованиям и прожорливости Битрикс, позволит вам без проблем развернуть и содержать сайт.

Естественно, что Бегет не единственный вариант. Но для себя я остановился исключительно на нем еще 3 года назад.
Почему - я описал ниже, но скрыл под спойлером, чтобы огранить читателя от излишней пропаганды :) Кому интересно - жмем

Достаточно долго (с 2007 года) в рамках работы создания сайтов мне регулярно приходится сталкиваться с вопросом переноса сайтов или установки различных CMS на виртуальный хостинг. Были за этот период и радости, и разочарования. И если старожилы (ник, мастерхост) сразу дают понять, что дружить они не хотят, и постоянно вставляют палки в колеса веб-мастера, то более молодые игроки (свеб, ихц, таймвеб) пытались идти навстречу клиентам, но в конечном итоге сходили с дистанции в течение года, максимум двух: теряли качество техподдержки, меняли ценовую политику, регулярно сбоило оборудование.

А уж когда речь касается CMS 1С-Битрикс, то на половине хостингом начинаются танцы с бубном.

В конечном итоге в 2013 году мне попался хостер beget.ru, дружба с которым длится до сих пор. И я без зазрения совести рекомендую его каждому клиенту, который ищет, где разместить сайт. Из плюсов можно отметить:

  • Качество техподдержки за 3 года не ухудшилось. Большинство вопросов решаются в течение 5-15 минут;
  • Мощности серверов достаточно большие, а ограничения касаются только лимитов нагрузки по времени. По опыту спокойно держал новостной сайт на CMS Joomla с посещаемостью 10 тыс посетителей и с более чем 15 тыс новостями;
  • Регистрация не требует доступа к конечной почте. Доступы выводятся сразу, что позволяет регистрироваться от имени клиента (хостинг на заказчика);
  • Полноценный тестовый период в 30 дней с возможностью привязать домен;
  • Ограниченние доступа к файлам соседних сайтов для php-скриптов, что изолирует зараженный сайт от остальных (можно отключить для конкретного сайта);
  • Ограничивающие параметры php (memory_limit) выше многих топовых конкурентов;
  • Более длительное хранение бекапов;
  • Типовые: ssh, логи, разные версии php (php 7 тоже), файловый менеджер, антивирус и т.д.

Минусы тоже есть, но они более мелкие и будут описаны ниже в теме основной статьи.

Регистрация аккаунта

Первым делом выбираем тариф. Тариф выбираем по предполагаемому размеру сайта, умноженному на 2 (как минимум на одну полную резервную копию). Лимиты по нагрузке у базовых тарифов одинаковые. Для Битрикс 1Гб явно недостаточно, поэтому самые ходовые Noble, реже Start. Great уже не так привлекателен по цене. Выбрали тариф, заказываем.

Регистрируем аккаунт. Вводим полное ФИО, email, действующий телефон. При желании можно выбрать будущий логин аккаунта. На телефон отправляется СМС-код для завершения регистрации, поэтому указываем доступный вам телефон. А вот в качестве email'а можно смело прописывать почту заказчика, если регистрируется не для себя, а для клиента.

Аккаунт успешно создан. Доступы тут же выводятся на экран. Сохраняем их у себя и начинаем работу.

Настройка домена и сайта

Для удобства и безопасности соединения сразу же включаем SSH-доступ.

Заходим в домены и привязываем к хостингу домен. Для домена создаем новый сайт.

У нас по умолчанию есть тестовый домен. Забегая несколько вперед, мы отвязываем тестовый домен от его родной папки и направляем его на вновь созданную папку рабочего домена. Нужно это для того, чтобы, с одной стороны, не тратить время на ожидание делегирования рабочего домена (или если мы сайт еще переносим) и настроить сайт прямо сейчас. А с другой - чтобы в результате наших действий все лежало на своих местах по папочкам. После делегирования рабочего домена мы тестовый домен обратно перепривяжем к его первоначальной папке.

Проверяем, что для обоих доменов (рабочий и тестовый) установлен php 5.6. По состоянию на апрель 2016 года поддержка битриксом php 7 лишь в планах, но уже озвучивалась на партнерской конференции как приоритетная, т.ч. ждем...

Настройки для 1С-Битрикс

Я обещал упомянуть о минусах хостинга beget.ru. Самый страшный минус в том, что настройки для битрикс мы сами выставить не можем. Этот момент мы вынуждены решать через техническую поддержку. Радует, что отвечают они в течение 5-15 минут (в светлое время суток быстрее, чем ночью).

Пишем тикет в техподдержку:
Тема:

Настройки PHP 5.6 для Битрикс UTF-8
Текст:
Здравствуйте,

Для сайтов:
exbeget.bget.ru
beget-example.ru

Поправьте, пожалуйста, настройки PHP 5.6 для Битрикс в UTF-8:
mbstring.func_overload = 2

mbstring.func_overload = 2 обязательная функция для работы CMS 1С-Битрикс в кодировке UTF-8 (другую мы и не будем использовать).
Для разработчика: этот параметр в значении 2 критично влияет на работу библиотеки PHP Simple HTML DOM.


Пока будут обрабатывать первый тикет, пишем сразу второй, менее срочный:
Тема:

Настройки PHP 5.6 для увеличения безопасности
Текст:
Здравствуйте,

Для сайтов:
exbeget.bget.ru
beget-example.ru

Поправьте, пожалуйста, настройки PHP 5.6 для увеличения безопасности:
disable_functions = touch, assert, exec, passthru, shell_exec, system, proc_open, popen

При этом оставить, чтобы PHP работал как модуль apache (никаких CGI).

PHP функции touch, assert, exec очень любят использовать вредоносные скрипты и вирусы, в то время как сам Битрикс их не использует или использует для очень второстепенных целей. В частности функция touch подменяет дату изменения файла так, что вы не сможете определить по дате, изменялся ли он или нет. Если вы отключите эту функцию, вы достаточно легко сможете проанализировать, какие файлы у вас менялись за последние N дней, выполнив в ssh-терминале (PuTTY) команду: find . -type f -mtime -15 -print, где 15 - это количество дней. Лично меня отключение этой функции спасало достаточное количество раз, чтобы советовать.

Ответы на тикеты мы получим в ближайшее время, и выглядеть они будут так. А пока займемся нашими следующими задачами.

Создание БД

Пока техподдержка обрабатывает наш запрос, мы создаем базу данных. Лучше всего генерировать пароль, который будет содержать и цифры, и заглавные буквы, и спецсимволы. Это и безопаснее, и дополнительно позволит пройти Монитор Качества 1С-Битрикс на один пункт быстрее. Название БД и пароль сохраняем.

Почта

Не забываем и про почту. А то частенько теряется этот пункт.

Включение логов

Обязательно включаем логи для тестового и рабочего доменов. Они обязательно пригодятся! Всегда жалел, что в нужный момент логи были выключены, и никогда не жалел об обратном.

Данные аккаунта

Под конец можно проверить и подкорректировать данные аккаунта.

Можно отключить СМС уведомления о необходимости оплаты и добавить свою дополнительную почту для отслеживания события виртуального хостинга.


Установка 1С-Битрикс

Теперь, когда все настройки на хостинге проведены, приступаем к установке 1С-Битрикс

Подключение к серверу. Проверка PHP

Подключаемся к серверу по SFTP (SFTP лучше чем FTP). Логин и пароль соответствуют данным для входа в панель управления. Хост можно посмотреть в левой колонке панели управления хостингом. Лично я использую для подключения WinSCP.

Мы подключились. Создаем новый файл (правой кнопкой мыши → Новый → Файл...), называем его, например, i.php. В нем прописываем код: <?php phpinfo(); и сохраняем.

Для разработчика: кто еще не в курсе, закрывающий символ php ?> рекомендуется не ставить. Бывали случаи, когда после закрывающего символа появлялись лишние переносы строк и из-за этого переставали обрабатываться конструкции header.


Открываем наш файл по ссылке на тестовый домен. В моем случае это получается exbeget.bget.ru/i.php и проверяем основные моменты:

  • Версия PHP равна 5.6
  • PHP работает как модуль Apache (Server API = Apache 2.0 Handler)
  • mbstring.func_overload = 2
  • display_errors = On
  • short_open_tag = On
  • disable_functions выставили по нашей просьбе в touch,assert,exec,passthru,shell_exec,system,proc_open,popen

Все хорошо, удаляем файл i.php, т.к. это потенциальная угроза безопасности.

bitrixsetup

Для быстрой установки Битрикс создан официальный файл под названием bitrixsetup.php. Найти его можно на официальном сайте 1c-bitrix.ru. Скачиваем файл себе и загружаем на наш сервер.

Если вы не создаете новый сайт, а переносите, то вам нужно использовать файл restore.php. Официальная инструкция http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=35&LESSON_ID=2014

Запускаем по ссылке на тестовый домен. В моем случае это получается exbeget.bget.ru/bitrixsetup.php

Если у вас в какой-то момент идет непонятный поток символов, скорее всего у вас отключена short_open_tag в настройках php. Это можно починить через .htaccess

Выбираем лицензию, вводим (или не вводим) ключ. Ждем окончания удаленного скачивания и разархивирования.

Установка продукта

Устанавливаем редакцию.

Обязательно устанавливаем Битрикс в UTF-8. Рекомендуем регистрировать продукт, т.к. это позволит вам на демо ключе устанавливать бесплатные решения из маркетплейс.


В очередной раз происходит проверка на mbstring.func_overload = 2, который нам должна была уже включить техподдержка, и display_errors = On. Если display_errors отключены, то их можно включить в .htaccess

Для некоторых параметров в .htaccess нужно прописывать не php_value, a php_admin_value.


Вводим данные подключения к Базе Данных.

Официально 1С-Битрикс рекомендуют использовать InnoDB.
Вкратце, InnoDB жрет больше оперативной памяти сервера (что не важно для виртуального хостинга на beget.ru), работает быстрее при больших объемах данных и защищен от падений.
Стандартный (он же MyISAM) - потребляет меньше ресурсов (что не важно для виртуального хостинга на beget.ru) и быстрее работает на небольших объемах данных (до 10 тыс элементов инфоблока). При этом таблицы могут крошиться (mark as crashed - помогает восстановление таблицы через phpmyadmin/adminer). Бывало, что при большой посещаемости крошилась MyISAM таблица хранения сессий.

Ждем установки. Вводим данные для главного администратора. Никогда не используйте логин admin или administrator.


Выберите решение и пройдитесь по шагам его установки. Количество шагов будет отличаться в зависимости от выбранного решения.

Если вы приобрели и лицензию и покупной шаблон, то вам сначала нужно активировать лицензию битрикса и только поле этого вы сможете установить шаблон.
На шаге выбора решения при установке, вы можете в перейти по адресу /bitrix, авторизоваться, активировать лицензию, ввести купон покупного шаблона, установить его из Marketplace → Установленные решения. После этого установить шаблон в качестве основного из списка на странице списка мастеров /bitrix/admin/wizard_list.php

Проверка сайта

Отлично! Битрикс установлен. Но давайте потерпим еще чуть-чуть и доведем состояние сайта до идеального.
Идем в панель управления. Настройки → Инструменты → Проверка системы и запускаем проверку.
В результате проверки у вас не должно быть красных пунктов (черные пункты являются допустимыми). Если появляются красные пункты, то для каждого из них будут подсказки о возможных путях решения. Если ошибки касаются PHP параметров, то они легко устанавливаются через .htaccess

После проверки системы, тестируем производительность сервера.
Настройки → Производительность → Панель производительности
Устраняем неоптимальные параметры.

Настройка сайта

Теперь тестовый сайт полностью готов. Дожидаемся делегирования домена и настраиваем данные о сайте.
Настройки → Настройки продукта → Сайты → Список сайтов → Заходим в сайт
Настройки → Настройки продукта → Настройки модулей → Главный модуль

Настраиваем robots.txt: Маркетинг → Поисковая оптимизация → Настройка robots.txt

Настраиваем Карту сайта: Маркетинг → Поисковая оптимизация → Настройка sitemap.xml

Идем на главную страницу сайта → кнопка SEO на панели администратора и очищаем базовые значения. Очень часто через пару месяцев после запуска обнаруживаются стандартные тайтлы в поисковике :D

Все готово!

Если данная статья оказалась вам полезна, пожалуйста, поделитесь ею с коллегами:



Если вы хотите внести уточнения в представленный материал или, наоборот, попросить нас детальнее разобрать какой-нибудь из шагов - пишите на почту info@bitrix-notes.ru.