Предлагаем Вашему вниманию вариант подготовки web сервера для хостинга продуктов 1С Битрикс.

Некоторые рекомендации по настройке web сервера для хостинга сайтов на платформе 1С Битрикс Вы можете найти на официальном сайте 1С Битрикс. Разработчик 1С Битрикс рекомендует для хостинга сайтов на своих продуктах использовать:

  • Linux сервер Fedora 14-16 (i386, x86_64) с предустановленным на нем пакетом «1С-Битрикс: Веб-окружение»
  • Linux сервер CentOS 5/6 (i386, x86_64) с предустановленным на нем пакетом «1С-Битрикс: Веб-окружение»
  • Linux сервер Red Hat Enterprise Linux 5/6 (i386, x86_64)) с предустановленным на нем пакетом «1С-Битрикс: Веб-окружение»

Наш вариант подготовки web сервера для хостинга продуктов 1С Битрикс предусматривает:

Установку CentOS Linux сервера в виртуальную машину VirtualBox или на выделенный сервер.

Установку на сервер «1С-Битрикс: Веб-окружения»

Установку CMS 1С Битрикс или восстановление сайта из резервной копии.

Если Вы хотите настроить выделенный web сервер для хостинга продуктов 1С Битрикс, все разделы, которые касаются VirtualBox можете пропустить.

Установка CentOS 6.4 сервера в VirtualBox

Установка CentOS 6.4 сервера в виртуальную машину обладает рядом преимуществ перед установкой на отдельно стоящий компьютер. Это, прежде всего, экономия аппаратных ресурсов, распределение нагрузки между виртуальными серверами, простота миграции на другую платформу, удобство создания копий.

Подготовка виртуальной машины VirtualBox для установки CentOS 6.4

Запустите Oracle VM VirtualBox Менеджер.

Oracle VM VirtualBox Менеджер

Создайте Виртуальную Машину (VM). В VirtualBox Менеджере выберите меню Машина Создать... , запустится мастер создания виртуальной машины. В мастере введите имя новой VM, например, Centos64 и выберите операционную систему Linux, версии ReadHat (ReadHat 64bit).

введите имя новой VM, например, Centos64 и выберите операционную систему Linux, версии ReadHat 64bit

Выделите для виртуальной машины CentOS 6.4 необходимое количество оперативной памяти но не более половины оперативной памяти компьютера.

Требования к системе для установки CentOS 6.4

Предлагаем ознакомиться с требованиями, которые предъявляет CentOS 6.4 сервер к оперативной памяти компьютера.

CentOS MinimalCD 6.4 для установки и работы CentOS сервера требует следующие лимиты оперативной памяти (RAM):

 MinMax
Установка CentOS 6.4 в графическом интерфейсе 632Mb  
Установка CentOS 6.4 в текстовом интерфейсе 408Mb 624Mb
Работа CentOS 6.4 сервера 176Mb  

Выделите для виртуальной машины CentOS 6.4 необходимое количество оперативной памяти

Создайте новый виртуальный жесткий диск для установки операционной системы CentOS 6.4.

Создайте новый виртуальный жесткий диск

Укажите VDI тип жесткого диска для CentOS 6.4

Укажите VDI тип жесткого диска

Укажите формат хранения жесткого диска с CentOS 6.4

Укажите формат хранения жесткого диска

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

Укажите размер жесткого диска для CentOS

Нажмите кнопку Создать и на этом создание жесткого диска для CentOS 6.4 будет завершено.

Далее, настройте свойства новой виртуальной машины для CentOS 6.4

В разделе Система установите порядок загрузки виртуальной машины начиная с CD/DVD-ROM.

установите порядок загрузки виртуальной машины начиная с CD/DVD-ROM

В разделе Система, вкладка Процессор выберите количество используемых Centos 6.4 процессорных ядер.

выберите количество используемых Centos 6.4 процессорных ядер

В разделе дисплей, выделите для виртуальной машины с CentOS 6.4 достаточное количество оперативной памяти и включите поддержку 3D-ускорения, если этой возможностью обладает Ваша хост-система.

Выделите для виртуальной машины с CentOS 6.4 128Mb оперативной памяти

В разделе Носители выберите изображение CD диска (под надписью IDE контроллер), а затем, нажмите кнопку с изображением CD диска в панели Атрибуты в правом верхнем углу. Откроется диалог "Выбрать файл образа CD диска". Выберите ISO образ с дистрибутивом Centos 6.4.

Загрузите в виртуальный привод CD ROM виртуальной машины ISO образ Centos 6.4

В разделе Сеть настройте параметры сетевого адаптера для Вашей CentOS 6.4 Выберите тип подключения Сетевой мост или NAT. Для сетевого моста желательно иметь в Вашей локальной сети поддержку DHCP.

Настройте параметры сети для гостевой OS

 В окне настроек свойств виртуальной машины CentOS 6.4 нажмите кнопку ОК , Окно настроек свойств закроется, виртуальная машина готова к первому запуску.

В Oracle VM VirtualBox Менеджере кнопкой Старт запустите виртуальную машину Centos 6.4 и загрузите OS Centos 6.4.

Кнопкой Старт запустите виртуальную машину Centos 6.4

Установка Linux CentOS 6.3, CentOS 6.4 сервера

В этой статье, мы предлагаем пошаговую инструкцию по установке CentOS 6.4 сервера и CentOS 6.3 сервера из дистрибутивов CentOS-6.4-x86_64-minimal.iso и CentOS-6.3-x86_64-bin-DVD1to2.

Скачать ISO образ загрузочного диска CentOS 6.4 можно с зеркала рекомендованного на официальном сайте разработчика CentOS. Мы рекомендуем воспользоваться зеркалом Яндекс где кроме дистрибутивов Вам будут, также, доступны ссылки на торренты.

Запишите дистрибутив CentOS-6 на CD диск или Flash накопитель, установите соответствующий порядок загрузки компьютера и можно приступать к установке CentOS. В виртуальную машину VirtualBox CentOS можно установить непосредственно с ISO образа загрузочного диска.

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

На этом этапе установки Centos 6.4 Вам предлагается протестировать загрузочный диск. Этот процесс довольно длительный и его можно пропустить выбрав кнопку Skip.

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

Далее, если в Вашей системе достаточно памяти, процесс инсталляции CentOS 6.4 сервера будет проходить в графическом интерфейсе. Ознакомиться с примечаниями к выпуску CentOS и системными требованиями можно в wiki разделе официального сайта проекта CentOS или на нашем сайте Требования к системе для установки CentOS 6.4

Окно приветствия CentOS 6. Графический режим. Нажмите кнопку Next и начнется инсталляция операционной системы CentOS сервер на компьютер.

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

Инсталлятор Centos 6.3 позволяет проводить установку Centos 6.3 на многих языках, в том числе и на русском.

Установка CentOS сервера. Выбор языка.

Сейчас Вам предлагается выбрать раскладку клавиатуры для Вашей операционной системы Centos 6.4

Установка CentOS сервера. Выбор раскладки клавиатуры.

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

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

Читайте предупреждения инсталлятора Centos 6.4, они довольно подробные и информативные.

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

На этом этапе, Вам будет предложено задать полное имя хоста. Не спешите покидать этот экран, нажмите кнопку Настроить сеть в левом нижнем углу экрана.

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

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

Установка CentOS сервера. Настройка сети.

Пометьте галочкой пункт "Подключаться автоматически" и на вкладке Параметры IPv4 выберите профиль Автоматически (DHCP). Если в вашей сети не настроен DHCP сервер, например, на роутере, тогда задайте IP адрес для сетевой карты, маску сети, шлюз, IP адреса DNS серверов (через запятую).

Установка CentOS сервера. Настройка сети.

Укажите часовой пояс Вашего местоположения.

Установка CentOS сервера. Выбор часового пояса.

В этом примере мы выбрали пароль bitrix. В дальнейшем этот пароль необходимо изменить. Система выдала предупреждение о не достаточной надежности пароля, однако, это не помешает продолжить установку CentOS 6.4.

Установка CentOS сервера. Настройка учетной записи root.

Выберите вариант размещения Вашей Centos 6.3 на жестком диске.

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

Сохраните выбранные на предыдущем этапе параметры.

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

 Если Вы выбрали для установки дистрибутив на DVD, Вам будет предоставлена возможность выбрать один из вариантов сборки CentOS. Среди них:

  • Desktop
  • Minimal Desktop
  • Minimal
  • Basic Server
  • Database Server
  • Web Server
  • Virtual Host
  • Software Development Workstation

Для хостинга сайтов на 1С Битрикс - выбирайте пункт Minimal.

Установка CentOS сервера. Выбор конфигурации сервера.

Если Вы используете дистрибутив CentOS 6...minimal.iso, выбор вариантов сборки CentOS Вам будет не доступен. На компьютер будет установлен CentOS сервер в минимальной конфигурации.

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

Установка всех пакетов, входящих в состав сборки CentOS сервер может занять более 10 минут.

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

 Установка CentOS сервера завершена, осталось перезагрузить компьютер.

Загрузка CentOS 6.4

 Загрузка CentOS 6.4

Командная строка CentOS 6.4

 Сервер CentOS 6.4 готов к работе.

Настройка сети в Centos и в Fedora Linux

Fedora Linux, установленная в минимальной конфигурации, по умолчанию, не подключает сетевой интерфейс. Такие же настройки в Centos. Для установки программ, установки обновлений, работы WEB сервера, SSH сервера и многих других служб необходимо настроить сеть.

Кроме того, после замены или добавления сетевой карты Вам также необходимо настроить сетевой интерфейс.

Проверьте настройки всех сетевых интерфейсов:

ifconfig -а
eth1      Link encap:Ethernet  HWaddr 08:00:27:AA:BB:AA  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:204 (204.0 b)  TX bytes:204 (204.0 b)

Если, как в предыдущем примере, HardWare сетевой интерфейс не настроен, настройте сеть вручную. Перейдите в каталог /etc/sysconfig/network-scripts и создайте или отредактируйте в нем файл ifcfg-eth1

su
cd /etc/sysconfig/network-scripts
nano ifcfg-eth1

DEVICE=eth1
TYPE=Ethernet
UUID=b9e5ce01-2ffd-48c3-be0f-5d6d099d6ec7
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
HWADDR=08:00:27:AA:BB:AA
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"

Перезагрузите сетевые интерфейсы.

Как перезагрузить сеть в CentOS и Fedora Linux

В CentOS и Fedora Linux сетевые интерфейсы можно перезагрузить командой service network restart:

su
service network restart
Деактивируется интерфейс eth1:                             [  OK  ]
Деактивируется интерфейс-петля:                            [  OK  ]
Активируется интерфейс loopback:                           [  OK  ]
Активируется интерфейс eth1:  
Определяется информация IP для eth1... готово.             [  OK  ]

Как открыть порты в CentOS

Для нормальной работы Web сервера в качестве платформы для SMS Битрикс на Web сервере необходимо открыть следующие порты:

  • 25 bitrix smtp сервер
  • 80 http
  • 443 https
  • 5222 bitrix xmpp сервер
  • 5223 bitrix xmpp сервер по ssl
  • 8090 ntlm авторизация
  • 8891 ntlm авторизация ssl

Так как в качестве Web сервера рекомендуется использовать Linux сервер на CentOS, Red Hat или Fedora, с установленным Веб окружением 1С Битрикс, приведем пример, как можно открыть порты в этих операционных системах.

В терминале Centos (Fedora или Red Hat) последовательно выполните следующие команды:

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

Перезагружаем iptables:

/etc/init.d/iptables restart

Проброс портов в виртуальную машину VirtualBox

Для доступа к сетевым службам гостевой операционной системы из внешней сети необходимо пробросить порты из внешней сети в виртуальную машину. Младшие адреса портов запрещено перенаправлять политикой безопасности, поэтому, будем пробрасывать порты из эфемерного диапазона.

Проброс портов необходим в том случае, если Вы выбрали тип подключения сетевого адаптера NAT.

Откройте Oracle VM VirtualBox Менеджер.

Выберите виртуальную машину.

Откройте Настроить Сеть этой машины.

Откройте на панели сеть раздел Дополнительно.

Настройка сети виртуальной машины в VirtualBox

Нажмите кнопку Проброс портов.

В открывшемся окне "Правила проброса портов", нажимая кнопку +, заполните таблицу

Настройка проброса портов в виртуальную машину VirtualBox

1С Битрикс Веб-окружение установка на Linux Web-сервер

1С Битрикс Веб-окружение Linux позволяет быстро и с минимальными затратами развернуть оптимальное окружение для работы Web сайта на CMS Битрикс на Linux-платформах Fedora 14-16, CentOS 5-6 , Red Hat Enterprise Linux 5-6.

В терминале Centos (Fedora или Red Hat) последовательно выполните следующие команды:

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

Будет загружено из Интернет, инсталлировано и настроено следующее программное обеспечение:

  • mysql-server 5.*
  • web-server (Apache 2.2.*)
  • php 5.3.*
  • nginx 1.2.1
  • memcached
  • stunnel
  • catdoc
  • xpdf
  • munin
  • nagios

Восстановление сайта на 1С Битрикс из резервной копии

Предлагаем пошаговую инструкцию в картинках по восстановлению сайта на 1С Битрикс из резервной копии. На Web сервере должно быть установлено 1С Битрикс Веб окружение.

  1. В административной панели 1С Битрикс в разделе резервное копирование создайте резервную копию сайта и скачайте эту копию к себе на компьютер. Также, в административной панели 1С Битрикс в разделе резервное копирование скопируйте к себе на компьютер файл restore.php.
  2. Войдите на свой Web сервер по протоколу ftp и замените в корне своего сайта (папка /home/bitrix/www) файл restore.php на файл полученный на предыдущем этапе. Дайте файлу restore.php права на выполнение.
  3. Войдите на свой Web сервер по протоколу http:
    • Если у вас Web сервер установлен на локальный компьютер в виртуальную машину, наберите в адресной строке браузера http://localhost:50080.
    • Если у вас Web сервер установлен в локальной сети, наберите в адресной строке браузера его IP адресс.
    • Если ваш Web сервер размещен у хостинг провайдера, обратитесь к нему по URL.

Далее предлагаем просмотреть в screenshots последовательность действий, необходимых для восстановления сайта.

Восстановление сайта на 1С Битрикс из резервной копии

 Вновь установленное 1С Битрикс Веб окружение позволяет произвести новую установку 1С Битрикс или восстановить сайт из резервной копии. Мы выбираем Восстановить проект.

Восстановление сайта на 1С Битрикс из резервной копии Шаг 1

 На шаге 1 восстановления сайта на 1С Битрикс из резервной копии нам предлагают инструкцию по подготовке архива сайта. Мы уже подготовили архив и можем нажать Далее.

Восстановление сайта на 1С Битрикс из резервной копии Шаг 2

 На шаге 2 Восстановление сайта на 1С Битрикс из резервной копии мы выбираем загрузить файл с резервной копией с локального диска.

 Восстановление сайта на 1С Битрикс из резервной копии Шаг 3

Конфигурация нашего Web-сервера: Виртуальная машина на CentOS с установленным 1С Битрикс Веб-окружением. Поэтому на шаге 3 мы выбираем "Восстановление в Битрикс Веб-окружение" и нажимаем кнопку Восстановить.

Восстановление сайта на 1С Битрикс из резервной копии Шаг 3 выполняется

Шаг 3 "Восстановление базы данных 1С Битрикс" самый продолжительный этап.

Восстанавливая сайт на 1С Битрикс из резервной копии, на шаге 3 "Восстановление базы данных" Вы можете столкнуться с предупреждением об ошибке:

Внимание! Сайт работал в одно байтовой кодировке, а конфигурация сервера рассчитана на кодировку UTF-8. Установите php_value mbstring.func_overload=0 или php_value mbstring.internal_encoding=ISO-8859-1.

Причина проблемы: Современное 1С Битрикс Веб окружение работает с сайтами в кодировке UTF-8. Если Ваш сайт старый, и Вы не устанавливали обновления ядра 1С Битрикс, скорее всего Ваш сайт работает в одно байтовой кодировке символов.

Ошибка Bitrix mbstring.internal_encoding и mbstring.func_overload

Решение проблемы:

Прежде чем нажать кнопку Восстановить, отредактируйте на Web сервере в корне своего сайта файл .htaccess:

vi /home/bitrix/www/.htaccess

Закомментируйте в файле .htaccess 2 строки и добавьте две другие строки с правильными значениями переменных окружения mbstring.internal_encoding и mbstring.func_overload:

#php_value mbstring.func_overload 2
#php_value mbstring.internal_encoding UTF-8

php_value mbstring.func_overload 0
php_value mbstring.internal_encoding cp1251

Обратите внимание! Bitrix рекомендует кодировку ISO-8859-1, а мы ставим cp1251, так уж у нас в России повелось.

Не правильно установленное значение переменной окружения mbstring.func_overload может приводить к различным ошибкам в работе Bitrix. Это - ошибки кодировки символов, ошибку авторизации на сайте и другие.

Некоторые переменные окружения можно объявлять в корневом для сайта файле .htaccess. В том числе, и для mbstring.func_overload в файле .htaccess можно добавить строчку:

php_value mbstring.func_overload 0

Где 0 значение параметра mbstring.func_overload. Обратите внимание, в файле .htaccess значение параметра указывается через пробел.

Однако, PHP версии старше 5.2 не читают mbstring.func_overload из файла .htaccess. В этой ситуации мы рекомендуем установить глобальную переменную mbstring.func_overload, например, вы можете добавить строчку в файл /etc/php.d/mbstring.ini:

vi /etc/php.d/mbstring.ini
; Enable mbstring extension module
extension=mbstring.so
mbstring.func_overload=0

Замечания:

  • Предыдущий пример из Centos 6.3 с установленным Bitrix Веб-окружением - Linux 4.2.
  • Если вы используете на сайте кодировку UTF-8, то значение mbstring.func_overload должно быть 2.

Проверить результаты изменений в веб окружении можно через Панель управления Bitrix в разделе Настройки > Инструменты > Настройки PHP:

mbstring.func_overload