Ошибка сохранения заданные ограничения блокируют текущий хост

 

Добрый день подскажите пожалуйста включил содуль проактивной защиты в админ панеле как его отключить?немогу войти в админ панель и на сайт ошибка Fatal error: Call to undefined function mb_strlen() in /home/berendeevo/berendeevo.ru/docs/bitrix/modules/security/classes/general/antivirus.php on line 488
Подскажите подробнее как его отключить есть доступ только к ФТП в админ панеле пишет такую же ошибку.

 

вам нужен доступ в базу данных, например, через MySQL. Если его нет, то можете написать простенький скриптик, выполняющий подключение к БД и 1 простой запрос: DELETE FR OM b_module WH ERE `ID`=’security’ .

 

способ, предложенный Алексанжром, не помог — решить смог так:
закомментил в файле bitrix/modules/main/include.php 316-317 строчки, зашел в админке в проактивную защиту, добавил свой айпи, раскомментил строчки

надеюсь кому-нибудь пригодится :)

 

Пользователь 252444

Заглянувший

Сообщений: 6
Регистрация: 11.04.2014

#4

20.04.2017 12:28:46

Мне помогло! Спасибо.

Закомментировал эти строчки:

Код
foreach (GetModuleEvents("main", "OnPageStart", true) as $arEvent)
ExecuteModuleEventEx($arEvent);
 

Пользователь 1590475

Заглянувший

Сообщений: 1
Регистрация: 03.12.2017

#5

22.06.2018 12:23:10

Цитата
Павел Бабич написал:
Мне помогло! Спасибо.

Закомментировал эти строчки:

Код
  foreach  (GetModuleEvents( "main" ,  "OnPageStart" ,  true )  as   $arEvent )
ExecuteModuleEventEx( $arEvent );
 

Спасибо дружище. При переносе антивирус не пускал, твой совет помог!

 

Пользователь 2762029

Заглянувший

Сообщений: 2
Регистрация: 17.12.2018

#6

30.03.2021 14:02:56

Цитата
Павел Бабич написал:
bitrix/modules/main/include.php

Добрый день, а за что отвечают данные строчки?

 

Пользователь 4791222

Заглянувший

Сообщений: 16
Регистрация: 18.11.2020

#7

28.01.2022 10:55:05

Цитата
написал:
Закомментировал эти строчки:Кодforeach (GetModuleEvents(«main», «OnPageStart», true) as $arEvent)
ExecuteModuleEventEx($arEvent);

Спасибо! Мне также это помогло при решении проблемы с ограничением по хостам/доменам в проактивной защите.

Данный код в текущей версии ядра Битрикс находился уже на других строках.Ориентироваться нужно при поиске на событие OnPageStart

В настройках проактивной защиты пришлось указать localhost, хотя обращение к сайту идёт по тестовому домену. Без этого настройки не сохраняются, появляется сообщение

Цитата
Ошибка сохранения
Заданные ограничения блокируют текущий хост

Хотя в переменных $_SERVER всё ОК
$_SERVER[HTTP_HOST]=>тестовый домен
$_SERVER[SERVER_ADDR] => 127.0.0.1

Разработка и ведение стартапов, изготовление сайтов, дизайн печатной и сувенирной продукции, продвижение.

Open Server и Dr.Web — разрешаем файл Hosts

Open Server и Dr.Web - разрешаем файл Hosts

Большой проблемой становится запуск OpenServer при установленном на компьютере антивирусе Dr.Web.
После установки, и уже при запуске Open Server выдает ошибку с комментарием.

Файл C:Windowssystem32driversetchosts недоступен для записи

1) Чтобы разрешить доступ к файл hosts для Dr.Web — нужно проделать следующее:

Нажмите значек Dr.Web, выберите значок «Замок», разрешите запуск программы, нажмите значок «Зубчатый круг», в окне «Настройки»:

1. Нажмите «Исключения», далее нажмите «Файлы и папки», нажмите на значок «+», нажмите кнопку «Обзор. «, раскройте диск (С:), далее папку «Windows», «System32», «Drivers», «etc», выберите файл «hosts», нажмите «ОК», «ОК».
В верхней части окна, нажмите стрелку влево, чтобы вернуться на предыдущий шаг настроек.

2. Нажмите «Компоненты защиты», далее нажмите «Превентивная защита», нажмите надпись «Изменить параметры блокировки подозрительных действий», в колонке «Защищаемый объект» найдите «Файл HOSTS», напротив него переведите отметку по колонке «Разрешать», закройте окно «Настройки».

После внесённых изменений, если требуется защитить файл от изменений, но при этом сохранить свои изменения, в превентивной защите выберите «Запрещать» для файла HOSTS.

2) Если у вас не установлен антивирус, но файл Hosts все равно недоступен для записи, чтобы разрешить OpenServer редактировать файл -проделайте следующие шаги:

1. Откройте cmd.exe (win + r) от имени Администратора
2. Выполните там команду:

3) Так-же вы можете воспользоваться третьим вариантом — это просто отключить в OpenServer использование файла hosts. На разработку это никак не повлияет, но при этом оставить защиту вашего компьютера на должном уровне!

а) Нажимаем на значёк OpenServer в трее
б) Заходим в раздел «настройки»
в) Заходим в раздел «сервер»
г) Ставим галочку «Не вносить изменения в Hosts файл»

Архитектура

code

Архитектура расположения каталогов программного комплекса подразумевает под собой чёткое разделение двух различных типов данных: динамических данных пользователя (настройки, временные файлы, логи т.д.) и статичных данных (модули, программы, служебные файлы).

Если говорить простым языком, то в папке modules никакие файлы никогда не изменяются, не создаются и не удаляются, а в папках domains и userdata напротив, данные постоянно меняются. Такая архитектура создана специально для упрощения синхронизации данных между различными копиями комплекса и экономии места при резервном копировании.

Установка и запуск

Установка

OSPanel является портативным программным комплексом и не требует установки. Сборку можно разместить на внешнем жёстком диске или флэш-накопителе, это позволит использовать OSPanel на любом компьютере, который отвечает системным требованиям.

Дистрибутив представляет собой самораспаковывающийся архив в формате 7ZIP (расширение .exe). Запустите исполняемый файл дистрибутива и выберите путь для распаковки файлов.

Системные требования
  • Поддерживаемые операционные системы: Windows 7 SP1 x64 и все более новые версии;
  • Минимальные аппаратные требования: 500 МБ свободной RAM и 4 ГБ свободного места на HDD;
  • Требуется наличие Microsoft Visual C++ 2005-2008-2010-2012-2013-2015-2019 Redistributable Package;
Первый запуск

Перед началом использования Open Server выполните [Меню → Дополнительно → Первый запуск]. Наличие установленного набора библиотек от Microsoft является обязательным системным требованием, без их наличия Open Server работать не будет.

Установку/переустановку необходимо выполнить даже в том вслучае, если вы уже делали это ранее для предыдущей версии. Каждый раз библиотеки обновляются, в то время как установленные ранее библиотеки могут быть несовместимы с новыми версиями модулей. Делайте это для каждой новой версии Open Server.

Запуск

Для запуска OSPanel используйте файл OSPanel.exe. При наличии возможности программу следует запускать только от имени администратора. После старта программы вы увидите красный флажок в трее Windows (область возле системных часов). Чтобы включить непосредственно сам веб-сервер нажмите на флажок, далее выберите пункт меню [Меню → Запустить].

Если сервер не запускается перейдите к разделу Решение проблем данного справочного руководства.

Внимание
Запуск с CD/DVD

OSPanel умеет запускаться с CD/DVD дисков так же как и с обычного HDD диска или flash-накопителя с той лишь разницей, что при работе с оптического диска никакие изменения и файлы после выхода из программы сохранены не будут.

Как известно CD/DVD диск доступен только в режиме чтения, что делает невозможным привычный запуск и использование сервера на таком носителе. В OSPanel встроен достаточно простой механизм для выхода из этой ситуации: при запуске сервер копируется во временную папку компьютера, а во время выхода из программы эта папка полностью удаляется. Таким образом вся работа OSPanel происходит на компьютере пользователя, а не на оптическом диске.

Запуск с оптических дисков рекомендуется использовать только при создании демонстрационных сборок и автономных программных пакетов (см. Создание сборок).

Установка обновлений

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

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

Совместимость

Подключение

Ниже представлены параметры для подключения к модулям установленные в OSPanel по умолчанию. Вы всегда можете самостоятельно изменить эти настройки по своему усмотрению.

Подключение к MySQL
  • Адрес: домен вашего сайта*
  • Порт: 3306
  • Пользователь: mysql
  • Пароль: mysql
ROOT подключение к MySQL
  • Пользователь: root
  • Пароль: (пусто)
Информация
Подключение к PostgreSQL
  • Адрес: домен вашего сайта*
  • Порт: 5432
  • Пользователь: postgres
  • Пароль: (пусто)
Подключение к MongoDB
  • Адрес: домен вашего сайта*
  • Порт: 27017
  • Пользователь: (пусто)
  • Пароль: (пусто)
Подключение к Memcache
  • Адрес: домен вашего сайта*
  • Порт: 11211
Подключение к FTP
  • Адрес: домен вашего сайта*
  • Порт: 21 (990 для FTPS)
  • Пользователь: ftp
  • Пароль: ftp
Домен localhost

Если вы хотите использовать привычный адрес localhost для подключения к MySQL, PostgreSQL, FTP или Memcache серверу, то достаточно создать стандартный домен или алиас с именем localhost.

Автоматизация подключения

Когда вы работаете с локальными копиями действующих веб-проектов возникают трудности с постоянным редактированием файлов конфигурации, в основном это касается настроек подключения к базе данных. Чтобы этого избежать рекомендуется:

  1. Локально создать пользователя базы данных с теми же именем, паролем и привилегиями, что используются на удалённом сервере.
  2. Создать алиас с тем же именем, что используется в качестве хоста базы данных на удалённом сервере.

Домены и алиасы

Режимы управления доменами

В OSPanel существует три режима управления списком доменов: автопоиск, ручное управление и ручное+автопоиск. По умолчанию используется первый режим автоматического подключения папок из корневой директории указанной в настройках.

Как работает автопоиск

Программа сканирует заданную веб-директорию на наличие папок с доменами, после чего в каждой найденной папке производится поиск подпапок (корневой папки домена) которые указаны в настройках для автосканирования. Если ни одна из предполагаемых корневых подпапок не найдена, то корнем домена становится сама папка с доменом.

Как работает совмещённое управление (ручное + автопоиск)

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

Создание домена в автоматическом режиме

Чтобы создать домен или поддомен откройте [Меню → Папка с сайтами] и создайте папку с именем будущего домена. После создания домена перезапустите сервер.

Создание домена в ручном режиме

Чтобы создать домен или поддомен перейдите в раздел [Меню → Настройки → Домены] и создайте запись вида: домен => папка. В качестве папки домена можно выбрать уже существующую папку на диске или создать её непосредственно в окне выбора каталога. После создания домена сохраните настройки.

Создание кириллического домена

OSPanel поддерживает кириллические домены, однако будьте внимательны, папку с доменом нужно называть его реальным именем, а не псевдо названием на кириллице. Для пиво.рф реальным названием (punycode формат) будет xn--b1altb.xn--p1ai и создав такой домен вы получите доступ к http://пиво.рф. Для конвертации доменных имён в punycode формат и обратно используйте [Меню → Дополнительно → IDN конвертер].

Создание поддомена

Процесс создания поддомена аналогичен процедуре создания обычного домена. При создании только поддомена доступность основного домена существующего в сети Интернет не теряется, т.е. вы сможете работать с локальным поддоменом имея при этом доступ к рабочему домену в сети Интернет.

Создание алиаса

Чтобы создать алиас перейдите в раздел [Меню → Настройки → Алиасы] и создайте запись вида: исходный домен => конечный домен. После создания алиаса сохраните настройки.

Обратите внимание — создание алиаса вида *.xxx.xx не означает то, что вам станут доступны любые домены вида test.xxx.xx, mail.xxx.xx и т.д. Всё равно необходимо создать конкретный алиас или домен чтобы он стал доступен, это особенность операционной системы Windows.

Иконка сайта в меню доменов

При наличии корректного файла favicon.ico в корневой папке домена иконка сайта будет отображаться в меню программы.

Ограниченный режим работы

В некоторых случаях управление доменами и алиасами недоступно (см. Ограниченный режим).

Веб-инструменты

Работа с MySQL

Создание пользователя MySQL
  1. Откройте [Меню → Дополнительно → PHPMyAdmin]
  2. Введите имя пользователя root без пароля (по умолчанию)
  3. В PHPMyAdmin откройте раздел [Привилегии]
  4. Нажмите ссылку [Добавить нового пользователя]
  5. Заполните форму и нажмите кнопку [Создать пользователя]
Информация
Создание базы данных MySQL
  1. Откройте [Меню → Дополнительно → PHPMyAdmin]
  2. Используйте для входа root без пароля (по умолчанию)
  3. В PHPMyAdmin откройте раздел [Базы данных]
  4. Введите название новой базы данных и выберите её кодировку
  5. Нажмите кнопку [Создать]
Как войти в PHPMyAdmin / MySQL менеджер
  1. Откройте [Меню → Дополнительно → PHPMyAdmin / MySQL менеджер]
  2. Введите имя пользователя root без пароля
  3. Нажмите кнопку [Вход]
Указание кодировки подключения к MySQL серверу

Кодировка cp1251 — русская, её можно заменить на имя любой нужной вам кодировки.

Переключение модулей баз данных

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

Длительное подключение к MySQL (более 1 сек)

Работа с Path

Для добавления собственных путей в переменную окружения PATH можно использовать файл ./userdata/config/path.txt

Пути необходимо добавлять по одному вписывая каждый с новой строки, например:

Информация
Использование переменных в качестве подстановок
Переменная Описание переменной
%realprogdir% Реальный путь до папки с OSPanel (обратный слеш «»)
%progdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (двойной обратный слеш «»)
%dsprogdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL / MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchache
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с OSPanel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с OSPanel (только буква)
%sysdisk% Системный диск Windows (только буква)

DNS сервер

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

Для использования встроенного DNS сервера необходимо выполнить настройку сетевого интерфейса на каждом компьютере ДО запуска самого сервера. Выполнить настройку необходимо как на локальной машине, так и на других компьютерах в локальной сети, которые хотят получить доступ к вашим доменам. Без указания локального DNS сервера в настройках сетевого подключения запуск сервера будет невозможен (если модуль DNS активирован в настройках OSPanel).

По умолчанию параметр TTL установлен в значение 60 (секунд), вы можете изменить это значение в файле ./userdata/init.ini однако следует иметь ввиду, что бездумное изменения TTL может спровоцировать кэширование неактуальных записей другими компьютерами в вашей сети. Изменяйте этот параметр только в том случае, если вы действительно понимаете его предназначение.

Рекомендации по настройке
  1. В качестве IP адреса сервера выберите в настройках OSPanel IP адрес вашего компьютера в локальной сети или сети Интернет (не выбирайте параметр Все доступные IP).
  2. Откройте свойства нужного сетевого подключения:

Центр управления сетями → Подключение xxx → Свойства → Протокол Интернета версии 4 → Свойства → Общие → Использовать следующие адреса DNS-серверов.

Обслуживание реальных доменов

Планировщик заданий

Использование планировщика заданий (Сron)

Значения времени вводятся в виде цифр, комбинации цифр или *.
Вы можете задать моменты времени, используя запятые как разделители: Вы можете указать диапазон, используя дефис:Вы можете задать периодичность выполнения используя звездочку (*) и слэш (/):Вы можете комбинировать способы для создания точного расписания: Вышеприведённая схема указания времени актуальная для всех временных периодов (минута, час, число, месяц, день недели). Для запроса URL в планировщике нужно использовать вспомогательную утилиту Wget (см. примеры). В строке команд можно использовать подстановки.

Использование переменных в качестве подстановок
Переменная Описание переменной
%realprogdir% Реальный путь до папки с OSPanel (обратный слеш «»)
%progdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (двойной обратный слеш «»)
%dsprogdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL / MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchache
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с OSPanel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с OSPanel (только буква)
%sysdisk% Системный диск Windows (только буква)
Предопределенные переменные планировщика
Переменная Описание переменной
%hh% Текущий час (00-23)
%mm% Текущая минута (00-59)
%ss% Текущая секунда (00-59)
%MM% Текущий месяц (01-12)
%MMM% Текущий месяц (Янв-Дек)
%DD% Текущий день (01-31)
%WW% Текущий день недели (Пн-Вс)
%WD% Текущий день недели (1-7, 1-понедельник, 7-воскресенье)
%YYYY% Текущий год (4 цифры)
%YY% Текущий год (последние 2 цифры)
%QUOTE% Порт HTTP сервера
%PERCENT% Порт HTTPS сервера

Кроме того, в качестве переменных планировщика можно использовать любые переменные среды окружения (environment variables), например %COMSPEC%.

Вызываем командный интерпретатор, чтобы выполнить команду: Переменная %COMSPEC% в данном случае будет развёрнута в C:Windowssystem32cmd.exe

Особенности планировщика заданий

Очень важно понимать, что планировщик заданий (cron) это не командная строка и не консоль. Планировщик лишь запускает программу с указанными в задании параметрами. Таким образом те программы, которые которые могут работать только в консоли, так же необходимо запускать через консоль и в самом планировщике.

Например, такое задание не будет выполнено (неправильная запись): А теперь посмотрите на правильный вариант записи задания:Вышеуказанное правильное задание при выполнении планировщиком будет развёрнуто в следующую команду:

Информация

Меню закладок

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

Виды закладок
  • Ссылка
  • Папка
  • Программа (возможен запуск с параметрами)
  • Команда в формате командной строки Windows
Использование переменных в качестве подстановок
Переменная Описание переменной
%realprogdir% Реальный путь до папки с OSPanel (обратный слеш «»)
%progdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (двойной обратный слеш «»)
%dsprogdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL / MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchache
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с OSPanel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с OSPanel (только буква)
%sysdisk% Системный диск Windows (только буква)

При создании закладок на [запуск программ с параметрами] разделителем пути до программы и параметрами запуска является знак # , иначе закладка будет выполнена через командную строку!

Примеры создания закладки:

Меню программ

Добавление portable программы

При использовании Full версии OSPanel существует возможность добавить в меню свою портативную программу. Для этого необходимо выполнить следующие действия:

  1. Откройте папку с нужной вам категорией программ в подпапке ./progs/ и создайте в ней папку с именем вашей портативной программы
  2. Скопируйте вашу портативную программу вместе с её папками и файлами в созданный вами каталог
  3. Перезапустите программу OSPanel (не сервер)
Внимание
Добавление категории программ

Чтобы добавить собственную категорию в меню программ следует создать одноимённую папку в директории ./progs/. Программы добавленные в папку Default отображаются сразу в меню программ, без категории.

Добавление ярлыка программы

Помимо портативного софта в меню программ можно добавить ярлыки на локально установленные программы. Такой указатель на программу будет отображаться в меню вместе с другими программами и будет работать как самый обычный ярлычок в меню. Чтобы добавить ярлык на локально установленную программу просто скопируйте его в папку ./progs/нужная_вам_категория_программ/.

Внимание! Не пытайтесь копировать в меню портативных программ непрограммные ярлыки на папки, сайты и т.д. Такие ярлыки не будут отображаться в меню и соответственно не будут работать. Для создания ярлыков к сайтам, папкам и т.д. используйте [Меню → Настройки → Закладки] (см. Меню закладок).

Старт/стоп скрипты

Дополнение сценариев запуска и остановки сервера

В OSPanel существует возможность дополнять сценарии запуска и остановки сервера своими .bat файлами (батниками).

Чтобы дополнить сценарий запуска необходимо создать файл-шаблон /userdata/[pre_]start.tpl.bat, чтобы дополнить сценарий остановки соответственно нужно создать файл-шаблон /userdata/[post_]stop.tpl.bat. Вы можете записать в такие файлы произвольные последовательности команд, предназначенных для исполнения командным интерпретатором Windows.

Перед запуском

Выполнение файла /userdata/pre_start.bat (шаблон: /userdata/pre_start.tpl.bat) происходит ДО запуска всех модулей. Файл должен корректно отработать и завершиться, иначе сервер будет ожидать его выполнения бесконечно.

После запуска

Выполнение файла /userdata/start.bat (шаблон: /userdata/start.tpl.bat) происходит ПОСЛЕ запуска всех модулей, но до того, как флаг состояния станет зеленым. Файл должен корректно отработать и завершиться, иначе сервер будет ожидать его выполнения бесконечно.

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

Выполнение файла /userdata/stop.bat (шаблон: /userdata/stop.tpl.bat) происходит ДО остановки модулей. Файл должен корректно отработать и завершиться, иначе сервер будет ожидать его выполнения бесконечно.

После остановки

Выполнение файла /userdata/post_stop.bat (шаблон: /userdata/post_stop.tpl.bat) происходит ПОСЛЕ остановки модулей, но до того, как флаг состояния станет красным. Файл должен корректно отработать и завершиться, иначе сервер будет ожидать его выполнения бесконечно.

Использование переменных в качестве подстановок
Переменная Описание переменной
%realprogdir% Реальный путь до папки с OSPanel (обратный слеш «»)
%progdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (двойной обратный слеш «»)
%dsprogdir% Генерируемый путь до папки с OSPanel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL / MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchache
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с OSPanel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с OSPanel (только буква)
%sysdisk% Системный диск Windows (только буква)
Внимание

Ограниченный режим

При недоступном на запись HOSTS файле (как правило такое происходит в случае запуска программы без прав администратора) программа переходит в ограниченный режим работы с урезанной функциональностью.

В ограниченном режиме вам будет недоступна следующая функциональность:

  • Использование своих алиасов и доменов (кроме домена localhost);
  • Указание IP адреса сервера (кроме адресов 127.0.0.1 и *);

Работать в ограниченном режиме можно только при полном отсутствии прав администратора. Если же у вас есть возможность запускать программу с нужными правами, то рекомендуется непременно этим воспользоваться. В случае, если вы постоянно забываете запускать программу с необходимыми правами, включите опцию [Требовать учётную запись Администратора].

Если в логах запуска вы видите сообщение о том что Hosts файл недоступен для записи и OSPanel запущен с правами администратора, то это означает что доступ к этому файлу блокируется антивирусами/файерволами (даже для доверенных программ) либо действуют ограничения прав доступа Windows.

Добавьте OSPanel, а так же все остальные компоненты о которых будет спрашивать антивирус/файервол, в доверенные программы. Отключите защиту HOSTS файла (или системных файлов) в настройках вашего антивируса/файервола, если такая защита присутствует. Попробуйте удалить файл C:WindowsSystem32Driversetchosts и заново создать со следующим содержимым:В случае работы без прав администратора, но с доступным на запись HOSTS файлом, программа работает в нормальном режиме без каких-либо ограничений. Разрешить запись в HOSTS файл для всех пользователей можно выполнив через консоль (запускать от имени Администратора) следующую команду:

Внимание
Запуск без внесения записей в HOSTS файл

В OSPanel реализована возможность полноценного запуска без внесения записей в HOSTS файл. Эта возможность будет полезна пользователям офисных сетей и терминалов, где доступ к HOSTS файлу имеет только старший администратор. Если опция [Не вносить изменения в HOSTS файл] включена, то запуск сервера происходит без редактирования HOSTS файла, т.е. доступ к этому файлу не требуется вовсе.

Следует знать и понимать, что во время запуска программа делает DNS запрос к каждому созданному вами домену и если в HOSTS файле не будет записи любого из доменов, то это приведёт к ошибке [Сбой запуска]. Не забывайте обращаться к администратору вашей сети после каждого создания домена, администратор должен внести нужные записи в HOSTS файл, иначе вы не сможете запустить сервер.

Формат внесения записей в HOSTS файл стандартный — ip пробел домен, например:

Отправка почты через SMTP

Яндекс почта

Ниже показаны типичные настройки для отправки почты через SMTP сервер выбранного почтового провайдера.

Mail.ru почта

Ниже показаны типичные настройки для отправки почты через SMTP сервер выбранного почтового провайдера.

Gmail почта

Ниже показаны типичные настройки для отправки почты через SMTP сервер выбранного почтового провайдера.


По умолчанию Gmail не даёт возможности использовать SMTP, поэтому доступ нужно активировать отдельно. Вам необходимо выполнить следующие шаги по активации:

1. Авторизоваться в своём аккаунте Gmail
2. В той же вкладке браузера перейти по адресу https://www.google.com/settings/security/lesssecureapps
3. Активировать доступ к аккаунту для «непроверенных приложений» (см. картинку ниже)
4. Выполнить тестовую отправку письма через ваш скрипт на сервере OSPanel
5. Обновить страницу https://www.google.com/settings/security/lesssecureapps и снова активировать доступ к аккаунту для «непроверенных приложений» (пришедшее письмо о попытке доступа к аккаунту можно проигнорировать)

Теперь попробуйте отправить письмо еще раз, на этот раз отправка должна заработать.

Внешний доступ

Работа с внешними сетями
Информация
Доступ извне к локальными доменам

После того, как вы настроите удалённый доступ к своему серверу, все локальные домены станут доступны удалённо. Но как их открыть? Чтобы открыть нужный сайт с удалённой машины потребуется внести в HOSTS файл такого компьютера запись с адресом вашего локального домена, например: 64.55.96.24 supersite (где 64.55.96.24 это адрес вашего компьютера, а supersite это имя локального домена). После внесения такой записи в HOSTS файл на удалённом компьютере домен supersite будет доступен при обычном наборе в строке браузера.

Обратите внимание — при простом наборе IP адреса вашего компьютера http://64.55.96.24/ или при попытке доступа к несуществующему локальному домену будет открываться пустая страница.

Чтобы при наборе IP адреса вашего компьютера открывался определенный локальный сайт, можно создать алиас вида ваш_внешний_ip => ваш_локальный_домен. После этих действий указанный вами локальный домен, для которого вы создали алиас, станет доступен через локальную сеть или сеть Интернет по адресу http://ваш_внешний_ip/ (например http://64.55.96.24/). Если ваш компьютер подключен к нескольким сетям и в настройках сервера установлен IP=*, то такой алиас необходимо создать для каждого IP адреса выданного вашему компьютеру в каждой из сетей.

Безопасность компьютера

Внешнее управление

OSPanel может принимать некоторые команды через сеть Интернет, для этого имеется встроенная панель управления которая работает на выделенном порту. Так же программой можно управлять через командную строку.

Управление через Интернет

Чтобы получить доступ к панели управления необходимо набрать адрес http://localhost:1515/ (по умолчанию). Порт, логин и пароль к контрольной панели можно указать непосредственно в настройка OSPanel [Меню → Настройки → Разное]. Панель управления доступна на любом IP адресе с которого доступен ваш компьютер, а так же на любом локальном домене из созданных на сервере. Для управления программой через Интернет ваш внешний IP адрес должен быть «белым», т.е. доступным из сети Интернет.

Команды для использования в командной строке

Защита сервера

Настройка защиты

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

Несколько шагов по защите веб-сервера от несанкционированного доступа:

  1. Смените стандартные пароли FTP пользователя [Меню → Настройки → FTP сервер];
  2. Установите собственные пароли для root (и других) пользователей всех модулей СУБД;
  3. Включите защиту веб-инструментов и диска от доступа из внешних сетей в настройках программы [Меню → Настройки → Сервер];
  4. Теперь перезапустите саму управляющую программу (не сервер);
  5. Выполните настройку фаервола закрыв на доступ извне ВСЕ порты кроме тех, которые планируется использовать (например: 80,443,21,990,53);
Внимание
Встроенная защита от внешнего доступа

Работа с Pear и Composer

Установка Pear

Чтобы выполнить установку Pear запустите сервер и выполните [Меню → Дополнительно → Консоль], после чего наберите в консоли команду go-pear и следуйте дальнейшим командам установщика.

Установка Composer
Установка проектов Composer
  1. Выполните [Меню → Дополнительно → Консоль];
  2. Перейдите в папку с тем сайтом, куда планируется установка проекта;
  3. Выполните установку любого нужного вам проекта, например:

Работа в консоли

Для запуска встроенной консоли необходимо запустить сервер и выполнить [Меню → Дополнительно → Консоль]. Среда окружения (англ. Environment) формируется в момент запуска сервера и передаётся всем запускаемым модулям. Любые другие программы, будь то консоль или IDE, так же могут получить правильное окружение, достаточно запускать эти программы из меню OSPanel. Для этого можно либо сделать закладку, либо добавить ярлык в меню программ (см. разделы Меню закладок и Меню программ).

Необходимо знать, что если вы запускаете консоль или любую другую программу из стандартного меню Пуск или с ярлыка на рабочем столе, а не из меню OSPanel, то они не смогут работать с виртуальным окружением сформированным в OSPanel.

Встроенную консоль можно запустить даже если сервер выключен, в Full версии выполните [Меню → Программы → Интернет → Консоль]. Однако при выключенном сервере среда окружения не сформирована и поэтому работать из консоли с PHP и другими модулями или программами (Pear, Composer, скриптами и т.д.) будет невозможно.

Важные особенности

Фиксы реестра

Фиксы предлагаются к самостоятельной установке из меню OSPanel в числе закладок созданных по умолчанию. Так же вы можете найти фиксы в папке ./modules/system/ и применить их самостоятельно.

Фикс реестра для отключения IPv6

Данное исправление позволяет отключить все компоненты IPv6, кроме интерфейса замыкания на себя. Фикс также указывает Windows предпочитать протокол IPv4 протоколу IPv6 путем изменения записей в таблице политик префиксов. Применять данный фикс рекомендуется только тем пользователям, которые используют домен localhost и при этом OSPanel не имеет прав записи в файл WindowsSystem32Driversetchosts.

Фикс реестра для настройки поведения системы

Данное исправление позволяет настроить поведение системы во время завершения работы Windows. Фикс отключает автоматическое завершение процессов и увеличивает таймаут ожидания (после которого процесс считается зависшим) до 30 секунд.

Фикс реестра для оптимизации работы SSD

Данное исправление позволяет отключить Link Power Management (LPM) и DIPM в драйверах SATA AHCI. Использование LPM с SSD дисками часто приводит к возможности возникновения «фризов» в работе операционной системы, от небольших подвисаний до полного зависания системы. Для предотвращения износа SSD данный фикс отключает службы Superfetch и Prefetch, а так же обновление времени последнего доступа к файлам в NTFS.

Не следует применять фикс если в системе не используются SSD диски. Пользователям ноутбуков следует применять фикс осмысленно, поскольку энергопотребление дисков немного увеличится, что сократит время работы ноутбука от батареи.

Фикс реестра для тюнинга TCP

Данное исправление оптимизирует значения TcpTimedWaitDelay и MaxUserPort в результате чего ваша система сможет работать быстрее и с большим количеством TCP подключений. В частности исчезнет проблема с торрентами: невозможно выполнить операцию на сокете, т.к. буфер слишком мал или очередь переполнена. Так же смогут нормально работать и другие программы создающие большое количество одновременных TCP подключений.

Фикс драйвера TCPIP для Windows XP
Внимание

Вопросы и ответы

Ничего не запускается?

Не стоит отчаиваться, загляните в общий лог программы и другие логи компонентов [Меню → Просмотр логов]. В подавляющем большинстве случаев там вы найдете причину неудачного старта. В более сложных случаях включите опцию [Запускать сервер в отладочном режиме], это позволит увидеть отладочную информацию при запуске. Так же добавьте OSPanel в доверенные программы вашего файервола или антивируса, если таковой имеется.

Пишет что порт 80, 3306 и т.д. уже занят!

Включите в настройках OSPanel опцию [Запускать сервер в агрессивном режиме], в этом режиме все программы занимающие нужные порты будут принудительно закрыты. Добавьте OSPanel в доверенные программы вашего антивируса/файервола/прокси-сервера или отключите слежение за портами 80/443/21/90xx/3306 если оно есть. В отдельных антивирусах/файерволах возможны свои доп. настройки связанные с перехватом подключений программ к сети.

Пишет что нет прав доступа для работы в этой папке!

Вы пытаетесь запустить OSPanel из папки, которая принадлежит другому пользователю, или же файлы OSPanel были записаны на компьютер другим пользователем. Если OSPanel будет запускаться пользователем Pavel (например), то войдите в систему под учётной записью Pavel и скопируйте OSPanel в такую папку, которая принадлежит пользователю Pavel (имеются права на запись), после чего запуск сервера для этого пользователя станет возможным. Вместо копирования можно установить особые права доступа к папке с OSPanel, обратитесь к администратору вашего компьютера.

Почему кнопки серые и не нажимаются?!

В любой момент времени активны только те кнопки и разделы меню, которые могут выполнить возложенное на них действие. Например: если сервер не запущен, то пункт меню PHPMyAdmin будет неактивен; если сервер запущен, то кнопки очистки логов будут недоступны и т.д.

Я не могу открыть меню когда флаг желтого цвета!

Желтый флажок говорит о том, что происходит выполнение команды (например запуск, остановка или сохранение настроек). Во время выполнения команд меню программы недоступно.

Создал 3000 доменов и теперь сервер не запускается!

Увеличьте кол-во проверок состояния сервера до 20-30 или выше в настройках программы [Меню → Настройки → Разное]. Переключитесь на использование HTTP модуля Apache если вы используете модуль Nginx.

Хочу протестировать сайт с учётом разных скоростей интернета (мобильные устройства к примеру)!

В OSPanel существует возможность ограничения скорости передачи данных для симуляции медленной загрузки сайта. Для ограничения скорости воспользуйтесь меню OSPanel: [Меню → Настройки → Разное]. Скорость можно ограничить в пределах 1-40 КБайт в секунду, установка значения в 0 или более 40 отменяет ограничение. Скоростной лимит устанавливается на каждый запрос, поэтому, если клиент одновременно откроет 4 картинки на сайте (4 соединения), то каждая из них будет загружаться с заданной скоростью.

Где редактировать настройки модулей?

Для редактирования настроек модулей пользуйтесь меню OSPanel: [Меню → Дополнительно → Конфигурация].

Куда сохраняются мои письма?

По умолчанию все письма сохраняются во временную папку userdata/tmp/email/, во время остановки сервера эта папка не очищается. Можно настроить отправку писем через удалённый SMTP сервер: [Меню → Настройки → Почта].

Я нажимаю в меню программы на нужный сайт, но ничего не открывается!

Для работы многих пунктов меню требуется наличие корректно установленного и работающего браузера по умолчанию. Так же вы можете напрямую указать свой браузер в настройках программы: [Меню → Настройки → Меню].

Я создал домен local_site.loc, но он не работает!

Символа подчеркивания не может быть в имени домена, поэтому такой домен не подключается. Разрешенные символы: [a-z0-9.-].

Сервер не стартует с ip 192.168.0.1 и говорит что localhost работает только на ip 127.0.0.1!

Действительно, домен localhost можно использовать только с ip адресом 127.0.0.1, поэтому либо переименуйте этот домен, либо удалите его, если он вам не нужен.

Я хочу работать без виртуального диска!

Выберите в настройках OSPanel работу без виртуального диска и скопируйте папку с сервером в такую директорию, путь до которой содержит только латиницу или цифры, в противном случае работа без вирт. диска будет невозможна.

Я не вижу виртуального диска!

Если вы работаете не под учётной записью администратора, но OSPanel запущен с правами администратора, то виртуальный диск (если он используется) будет для вас недоступен. OSPanel при этом будет работать нормально. Вы можете отключить использование виртуального диска в настройках, при этом учитывайте требования к абсолютному пути описанные в предыдущем ответе.

Сервер запускается, но браузер говорит что домен не найден!

Если в вашем браузере настроена работа через прокси сервер, то локальные сайты будут ему недоступны. Чтобы исправить ситуацию откажитесь от использования прокси в вашем браузере или добавьте локальные домены и IP адрес сервера в список исключений для прокси в настройках обозревателя. В ряде случаев нужно пересоздать файл HOSTS (см. Решение проблем).

Для чего нужна настройка вывода закладок вместо сайтов?

В таком режиме созданные закладки отображаются вместо списка доменов, это будет полезно при создании демо-сборок с установленными скриптами (см. Создание сборок).

Мне трудно пересоздавать закладки, пользователей FTP и т.д, нужно их просто отредактировать!

Не нужно пересоздавать записи заново, просто сделайте двойной клик на интересующей вас записи в таблице после чего эта запись сразу же удалится из списка и будет вынесена обратно в поля редактирования. Не забудьте добавить отредактированную запись обратно в таблицу!

Подключение к базе данных длится более 1 сек!

Отключите использование протокола IPv6 используя инструкцию из раздела Решение проблем данного руководства.

Я скопировал в папку с доменом свой скрипт, после перезапуска сервер не видит файлов и показывает ошибку!

Скорее всего вы скопировали или создали такую подпапку в папке с доменом, имя которой подпадает под условия автоматического поиска корневой папки домена (см. Домены и алиасы).

Сервер постепенно занял всё место на диске!

Постепенное исчезновение свободного места говорит о том, что вы отключили автоочистку логов при запуске сервера. В результате при активном использовании сервера лог-файлы вырастают до огромных размеров и занимают всё свободное место на диске. Очистите лог-записи в окне просмотра логов и включите автоочистку логов при старте в настройках OSPanel. Очистите папку .userdatatmp от временных файлов.

Как мне создать собственную конфигурацию хоста для домена?

Используйте шаблон конфигурации виртуального хоста в папке с нужным доменом для создания особой конфигурации домена. При создании/изменении файла требуется перезапуск сервера. Шаблон конфигурации для нужного модуля можно найти в папке ./userdata/config/.

Например, если вы хотите создать собственную конфигурацию домена xxx.ru для модуля Apache-2.4.2, то скопируйте файл ./userdata/config/Apache-2.4.3_vhost.conf в папку с нужным доменом, отредактируйте этот файл под свои нужды и перезапустите сервер.

Или другой пример, при использовании модуля Apache+Nginx можно скопировать в папку домена оба файла конфигурации для каждого сервера: Apache-2.2.23+Nginx-1.2.4_vhosta.conf и Apache-2.2.23+Nginx-1.2.4_vhostn.conf.

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

Как и где редактируются конфиги компонентов?

В OSPanel используются файлы-шаблоны конфигурации, которые доступны через общее меню программы. Не пытайтесь редактировать временные файлы конфигов, которые создаются в момент запуска сервера, это не имеет смысла. Шаблоны конфигурации индивидуальны для каждого модуля, т.е. если вы выберите какой-либо из модулей в качестве активного, то будут активированы и шаблоны настроек именно этого модуля. Например: вы сконфигурировали шаблон файла php.ini при активном модуле PHP 5.2, после чего выбрали модуль PHP 5.3 в качестве активного. В этом случае вам необходимо еще раз сконфигурировать шаблон файла php.ini уже для модуля PHP 5.3.

Сами шаблоны настроек для всех модулей и инструментов хранятся в папке ./userdata/config/, их нельзя использовать как реальные конфиги и указывать при запуске модулей, консолей и скриптов. В процессе запуска шаблоны конфигурации проходят через парсер, который заменяет все переменные-подстановки на реальные данные и сохраняет уже готовые файлы конфигурации в папку ./userdata/temp/config/.

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

В OSPanel существует возможность отправки почты через сторонний SMTP сервер, при этом все домены используют те параметры подключения, которые были указаны пользователем в окне настроек OSPanel. Для того чтобы определённый домен мог использовать собственные настройки подключения к SMTP серверу нужно указать их в шаблоне конфигурации этого хоста. Откройте шаблон конфигурации виртуального хоста (как его создать описано в предыдущем ответе) в папке с нужным доменом и добавьте в описание хоста следующее содержимое (одной строкой):Например:Последнюю часть строки —pop3-server=pop3.xxx.xx —pop3-user=xxx@xxx.xx —pop3-pass=xxxxxx добавляйте только в том случае, если требуется авторизация POP3 перед SMTP. Возможные значения для параметра —smtp-ssl= это none,auto,ssl или tls.

Необходимо помнить, что при указании собственных настроек подключения к SMTP серверу отправка почты для выбранного домена будет работать не зависимо от основных настроек OSPanel. Так же обратите внимание на то, что все данные SMTP сервера включая логин и пароль будут доступны в php скриптах и видны в информации phpinfo(), поэтому в целях безопасности не рекомендуется пользоваться описанной возможностью указания настроек отправки почты в конфиге хоста.

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

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

  1. Выполните [Меню → Дополнительно → Первый запуск]. По желанию можно согласиться на внесение фиксов в реестр.
  2. Убедитесь что IP адрес, заданный в настройках, существует (кроме [*]). Так же убедитесь что все другие настройки программы корректны.
  3. Добавьте OSPanel в доверенные программы вашего файервола/антивируса или настройте их должным образом, если таковые имеются.
  4. Запустите [Меню → Просмотр логов], попробуйте найти причину проблемы и устранить её (если это возможно).
  5. Включите в настройках OSPanel опцию [Запускать сервер в отладочном режиме] и попробуйте найти причину проблемы и устранить её (если это возможно).
  6. Выполните через консоль (запускать от имени Администратора) следующую команду: attrib -s -r -h -a C:Windowssystem32driversetchosts
  7. Активируйте службу DNS если она отключена и запустите её, отключите все службы в имени которых присутствует IIS.
  8. Отключите глобальные прокси и проксификаторы если они установлены на вашем компьютере.
Информация
Контроль учётных записей пользователей (UAC)

При включённой службе контроля учётных записей пользователей (UAC) и запуске без прав администратора OSPanel не будет иметь доступа к HOSTS файлу и автоматически перейдёт в ограниченный режим работы. Как правило, об ограниченном режиме сигнализирует наличие только одного домена localhost в меню программы, в то время как ранее были созданы и другие домены. Чтобы исправить ситуацию включите опцию [Требовать учётную запись Администратора] в настройках OSPanel и перезапустите программу, либо отключите контроль учётный записей (UAC).

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

  1. Использование встроенного DNS сервера (настройка согласно Руководства);
  2. Активация опции [Не вносить изменения в HOSTS файл] + ручное редактирование этого файла;
  3. Установить разрешающие права записи в HOSTS файл для всех пользователей Windows;
  4. Отказ от возможности управления доменами и работа с единственным доменом localhost;

Создание сборок

Что это такое и зачем это нужно?

Например: у вас есть свой сайт, скрипт или своя CMS, которые нужно представить для ознакомления будущим клиентам, показать заказчику или попросту сделать демонстрационный пакет для своего программного продукта. Нужно чтобы ваш программный продукт работал одинаково хорошо у всех, в одинаковой конфигурации, уже был установлен и готов для работы или ознакомления. В этом вам поможет OSPanel!

Вы сможете создать готовый мини-сервер с установленным скриптом, CMS системой, сайтом, проектом и т.д., а будущим пользователям или клиентам останется его только скачать и запустить! Ваш продукт будет изначально работоспособен, не потребуется искать для него сервер, не нужно будет выполнять установку, настройку и т.д. Более того, демонстрационные материалы можно раздавать клиентам на CD/DVD диске. OSPanel умеет запускаться с таких носителей как и с обычного HDD диска или flash-накопителя с той лишь разницей, что при работе с оптического диска никакие изменения и файлы после выхода из программы сохранены не будут.

Как создать демонстрационную сборку
  1. Скачайте дистрибутив OSPanel Mini последней версии и распакуйте его во временную папку. Перейдите в папку куда был распакован дистрибутив и запустите программу OSPanel.exe.
  2. Удалите ненужные модули в папке ./modules/php/*, ./modules/database/* и ./modules/http/* оставив в папках только по одному модулю, которые будут использоваться для вашего программного продукта. Если вы не планируете использовать модули DNS и Memcached, то папки с этими модулями так же можно удалить: ./modules/dns/* и ./modules/memcached/* соответственно.
  3. Нажмите [Меню → Настройки] и выберите для использования те модули, которые вы не удалили. Установите IP адрес сервера в значение 127.0.0.1, отключите [Автоматическую проверку обновлений], не отключайте опцию [Автоматически определять потребность в виртуальном диске]. Установите все другие нужные вам настройки.
  4. Нажмите [Меню → Дополнительно → Конфигурация] и настройте шаблоны конфигурации нужных модулей под ваш продукт (скрипт/сайт/cms), если это необходимо.
  5. Запустите сервер и установите ваш программный продукт (скрипт/сайт/cms) на домен localhost, который присутствует в OSPanel по умолчанию. Выполните необходимые действия по настройке скрипта после чего выйдите из всех форм авторизации где вы авторизовались (например: личный аккаунт, администрирование и т.д.).
  6. Нажмите [Меню → Настройки] и создайте закладки для основных страниц вашего программного продукта (например: Админ-панель, Личный аккаунт, Главная страница). Включите в настройках OSPanel опцию [Показывать закладки вместо сайтов]. Теперь остановите сервер и сохраните настройки.
  7. Нажмите [Меню → Выход] и переименуйте файл программы согласно имени вашего продукта, например ./временная папка/OSPanel.exe в ./временная папка/MegaCMS Server.exe.
  8. Сейчас вы можете добавить в сборку документацию по своему продукту в виде .chm файла. Файл необходимо скопировать в папку ./modules/system/docs/, позже он будет отображаться в меню [Дополнительно → Документация].
  9. Теперь упакуйте содержимое временной папки в самораспаковывающийся архив или запишите её содержимое на CD/DVD диск. Выбор зависит лишь от предполагаемой формы распространения сборки.

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

Документация

code

Архитектура расположения каталогов программного комплекса подразумевает под собой чёткое разделение двух различных типов данных: изменяемых данных пользователя (настройки, временные файлы, логи т.д.) и неизменяемых данных (модули, программы, служебные файлы).

Если говорить простым языком, то в папке modules никакие файлы никогда не изменяются, не создаются и не удаляются, а в папках domains и userdata напротив, данные постоянно меняются. Такая архитектура создана специально для упрощения синхронизации данных между различными копиями комплекса и экономии места при резервном копировании.

Установка и запуск

Open Server Panel является портативным программным комплексом, однако для удобства пользователей устанавливается через инсталлятор.

Сборку можно разместить на внешнем жёстком диске, это позволит использовать Open Server Panel на любом компьютере, который отвечает системным требованиям. Однако не стоит размещать сборку на USB-флеш накопителе из-за крайне медленной работы флеш-памяти при параллельных запросах на чтение/запись и её быстрого износа.

Желательно установить Open Server Panel на SSD-накопитель, при его наличии. Это позволит значительно повысить скорость работы всех модулей и компонентов программного комплекса.

Внимание!

Системные требования

  • Операционные системы: Windows 7 SP1 x64 / Windows Server 2008 R2 SP1 или новее (32-битные системы не поддерживаются);
  • Свободные аппаратные ресурсы: от 500 МБ RAM и от 10 ГБ места на диске;
  • Системное ПО: MSVC++ 2005-2022 Redistributable Packages (есть в комплекте);

Установка

В процессе установки Open Server Panel отметьте галочками пункт по установке Microsoft Visual C++ 2005-2008-2010-2012-2013-2015-2019 Redistributable Package, пункт по установке RuntimePack Lite, пункт по настройке Windows и пункт по оптимизации системы для работы с SSD (при его наличии). Без выполнения этих действий работа Open Server Panel на вашем компьютере не гарантируется.

Установку/переустановку библиотек от Microsoft и применение настроек Windows необходимо выполнять c каждой новой версией Open Server Panel даже в том случае, если вы уже делали это ранее.

Запуск

Для запуска Open Server Panel используйте файл Open Server.exe. После старта программы вы увидите красный флажок в области уведомлений Windows (область возле системных часов). Чтобы включить непосредственно сам веб-сервер и сопутствующие модули нажмите на флажок, далее выполните [Меню → Запустить].

Если сервер не запускается перейдите к разделу Решение проблем данного справочного руководства.

Настройка Windows 10

Перед установкой Open Server Panel в системах семейства Windows 10 необходимо обязательно предварительно снять галочку, показанную на картинке, и перезагрузить систему.

Без выполнения данного условия запуск Open Server Panel в системах семейства Windows 10 будет невозможен. В случае попытки запуска до выполнения данного условия произойдёт порча файлов конфигурации программы, что приведёт к невозможности её дальнейшего использования и запуска.

Установка обновлений

Open Server Panel это достаточно сложный программный комплекс с постоянно совершенствующейся архитектурой. Как таковой процедуры обновления не предусмотрено. При выходе новой версии Open Server Panel необходимо заново выполнить все настройки, скопировать папки ваших сайтов и выполнить перенос баз данных.

Не распаковывайте файлы дистрибутива поверх существующей версии, а так же не пытайтесь скопировать файлы конфигурации и профилей из старой версии программы в новую!

Если есть возможность обновиться простым копированием файлов (довольно редкое явление), то ссылка на патч всегда публикуется в новостях на сайте вместе с аннотацией к новой версии.

Подключение

По умолчанию все дополнительные модули выключены. Перед началом работы с Open Server Panel убедитесь в том, что вы включили нужные вам модули в настройках программы.

Ниже представлены установленные в Open Server Panel начальные настройки (значения по умолчанию) для подключения к различным модулям. Вы всегда можете самостоятельно изменить эти настройки по своему усмотрению.

Подключение к MySQL

  • Адрес: домен вашего сайта*
  • Порт: 3306
  • Пользователь: root
  • Пароль: root

Предупреждение

Подключение к PostgreSQL

  • Адрес: домен вашего сайта*
  • Порт: 5432
  • Пользователь: postgres
  • Пароль: postgres

Подключение к MongoDB

  • Адрес: домен вашего сайта*
  • Порт: 27017
  • Пользователь: (пусто)
  • Пароль: (пусто)

Подключение к Memcached

  • Адрес: домен вашего сайта*
  • Порт: 11211

Макс. размер памяти используемой сервером Memcache по умолчанию равен 64 Мб. Данный параметр можно изменить выполнив [Меню → Настройки → Разное].

Подключение к Redis

  • Адрес: домен вашего сайта*
  • Порт: 6379

Подключение к DNS

  • Адрес: домен вашего сайта*
  • Порт: 53

Подключение к FTP

  • Адрес: домен вашего сайта*
  • Порт: 21 (990 для FTPS)
  • Пользователь: ftp
  • Пароль: ftp

Внимание!

Домен localhost

Если вы хотите использовать привычный адрес localhost для подключения к MySQL, PostgreSQL, FTP или Memcache серверу, то достаточно не удалять стандартный домен localhost или создать одноимённый алиас.

Автоматизация подключения

При работе с локальными копиями действующих веб-проектов часто возникают трудности с постоянным редактированием файлов конфигурации, в основном это касается настроек подключения к базе данных. Чтобы этого избежать рекомендуется:

  1. Локально создать пользователя базы данных с теми же именем, паролем и привилегиями, что используются на удалённом сервере.
  2. Создать алиас с тем же именем, что используется в качестве хоста базы данных на удалённом сервере.


* Например, если ваш скрипт размещен по адресу testserver.loc/mysql.php, то хостом (адресом) для подключения к MySQL, Redis и другим модулям будет домен: testserver.loc

Домены и алиасы

Режимы управления доменами

В Open Server Panel существует три режима управления списком доменов: автопоиск, ручное управление и ручное+автопоиск. По умолчанию используется первый режим автоматического подключения папок из корневой директории указанной в настройках.

Как работает автопоиск

Программа сканирует заданную веб-директорию на наличие папок с доменами, после чего в каждой найденной папке производится поиск подпапок (корневой папки домена) которые указаны в настройках для автосканирования. Если ни одна из предполагаемых корневых подпапок не найдена, то корнем домена становится сама папка с доменом.

Как работает совмещённое управление (ручное + автопоиск)

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

Создание домена в автоматическом режиме

Чтобы создать домен или поддомен откройте [Меню → Папка с сайтами] и создайте папку с именем будущего домена. После создания домена перезапустите сервер.

Создание домена в ручном режиме

Чтобы создать домен или поддомен перейдите в раздел [Меню → Настройки → Домены] и создайте запись вида: домен => папка. В качестве папки домена можно выбрать уже существующую папку на диске или создать её непосредственно в окне выбора каталога. После создания домена сохраните настройки.

Создание кириллического домена

Open Server Panel поддерживает кириллические домены, однако будьте внимательны, папку с доменом нужно называть его реальным именем, а не псевдо названием на кириллице. Для пиво.рф реальным названием (punycode формат) будет xn--b1altb.xn--p1ai и создав такой домен вы получите доступ к http://пиво.рф. Для конвертации доменных имён в punycode формат и обратно используйте [Меню → Дополнительно → IDN конвертер].

Создание поддомена

Процесс создания поддомена аналогичен процедуре создания обычного домена. При создании только поддомена доступность основного домена существующего в сети Интернет не теряется, т.е. вы сможете работать с локальным поддоменом имея при этом доступ к рабочему домену в сети Интернет.

Создание алиаса

Чтобы создать алиас перейдите в раздел [Меню → Настройки → Алиасы] и создайте запись вида: исходный домен => конечный домен. После создания алиаса сохраните настройки.

Обратите внимание — создание алиаса вида *.xxx.xx не имеет смысла в Windows и не означает то, что вам станут доступны любые поддомены вида test.xxx.xx, mail.xxx.xx и т.д. Необходимо создать конкретный алиас или домен чтобы он стал доступен, это особенность операционной системы Windows.

Иконка сайта в меню доменов

При наличии корректного файла favicon.ico в корневой папке домена иконка сайта будет отображаться в меню программы.

Ограниченный режим работы

В некоторых случаях управление доменами и алиасами недоступно (см. Ограниченный режим).

Работа с MySQL

Перед началом работы с MySQL убедитесь в том, что вы включили нужный вам модуль в настройках программы.

Создание пользователя MySQL

  1. Откройте [Меню → Дополнительно → PHPMyAdmin]
  2. Введите имя пользователя root и пароль root
  3. В PHPMyAdmin откройте раздел [Привилегии]
  4. Нажмите ссылку [Добавить нового пользователя]
  5. Заполните форму и нажмите кнопку [Создать пользователя]

Информация

Информация

Для входа в Adminer используйте логин и пароль пользователя БД. Если ваш пользователь БД не имеет пароля, то для авторизации в Adminer необходимо использовать пароль заданный в плагине авторизации самого Adminer, по умолчанию это admin.

Пароль указывается в файле index.php находящимся в modulessystemhtmlopenserveradminer

Рекомендуется сменить этот пароль перед началом использования программы.

Создание базы данных MySQL

  1. Откройте [Меню → Дополнительно → PHPMyAdmin]
  2. Введите имя пользователя root и пароль root
  3. В PHPMyAdmin откройте раздел [Базы данных]
  4. Введите название новой базы данных и выберите её кодировку
  5. Нажмите кнопку [Создать]

Переключение модулей баз данных

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

Предупреждение

Во время установки Open Server Panel выполняется настройка Windows, во время которой IPv4 трафик получает приоритет над IPv6 при разрешении доменных имён. Если не выполнять данную процедуру, то процесс подключения в MySQL серверу может выполняться очень долго (более 1 сек).

Чтобы проверить корректность настройки приоритетов откройте консоль и введите ping localhost. Если в ответе вы получаете адрес ::1 вместо 127.0.0.1, значит приоритеты настроены неверно.

Переменная Path

Для добавления собственных путей в переменную окружения PATH можно использовать файл ./userdata/config/path.txt

Пути необходимо добавлять по одному вписывая каждый с новой строки, например:

Информация

Использование переменных в качестве подстановок

Переменная Описание переменной
%realprogdir% Реальный путь до папки с Open Server Panel (обратный слеш «»)
%progdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной обратный слеш «»)
%dsprogdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL/MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchached
%redisdriver% Название модуля Redis
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с Open Server Panel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с Open Server Panel (только буква)
%sysdisk% Системный диск Windows (только буква)

Настройка DNS

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

Для использования встроенного DNS сервера необходимо выполнить настройку сетевого интерфейса на каждом компьютере ДО запуска самого сервера. Выполнить настройку необходимо как на локальной машине, так и на других компьютерах в локальной сети, которые хотят получить доступ к вашим доменам. Без указания локального DNS сервера в настройках сетевого подключения запуск сервера будет невозможен (если модуль DNS активирован в настройках Open Server Panel).

По умолчанию параметр TTL установлен в значение 60 (секунд), вы можете изменить это значение в файле ./userdata/init.ini однако следует иметь ввиду, что бездумное изменения TTL может спровоцировать кэширование неактуальных записей другими компьютерами в вашей сети. Изменяйте этот параметр только в том случае, если вы действительно понимаете его предназначение.

Предупреждение

Внимание!

Рекомендации по настройке

  1. В качестве IP адреса сервера выберите в настройках Open Server Panel IP адрес вашего компьютера в локальной сети или сети Интернет (не выбирайте параметр Все доступные IP).
  2. Откройте свойства нужного сетевого подключения:

Центр управления сетями → Подключение xxx → Свойства → Протокол Интернета версии 4 → Свойства → Общие → Использовать следующие адреса DNS-серверов.

Пропишите следующие адреса NS серверов:

xxx.xxx.xxx.xxx
8.8.8.8 (или любой другой реальный резервный DNS)

После правильной настройки все компьютеры в вашей локальной сети смогут получить доступ к доменам Open Server Panel.

Совпадение имён локальных и реальных доменов

Если включён DNS-модуль, то при каждом запуске сервера и при каждой его остановке Open Server Panel выполняет очистку DNS-кэша Windows

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

Так же вы можете просто иметь второй браузер, который настроен на использование стороннего DNS-провайдера (например Google или CloudFlare) и потому он будет видеть только реальный домен независимо от того, запущен локальный сервер или нет.

Планировщик заданий

Использование планировщика заданий (Сron)

Значения времени вводятся в виде цифр, комбинации цифр или *.

Вы можете задать моменты времени, используя запятые как разделители:

Например: 1,2,3
Результат: задание выполняется 3 раза, в 1-ю,2-ю и 3-ю минуты часа.

Вы можете указать диапазон, используя дефис:

Например: 5-7
Результат: задание выполняется 3 раза, в 5-ю,6-ю и 7-ю минуты часа.

Вы можете задать периодичность выполнения используя звездочку (*) и слэш (/):

Например: */2
Результат: задание выполняется каждые 2 минуты.

Вы можете комбинировать способы для создания точного расписания:

Например: 1,5,11-15,30-59/2
Результат: задание выполняется в 1,5, с 11 по 15 и каждые 2 минуты с 30 по 59.

Вышеприведённая схема указания времени актуальная для всех временных периодов (минута, час, число, месяц, день недели). Для запроса URL в планировщике нужно использовать вспомогательную утилиту Wget (см. примеры). В строке команд можно использовать подстановки.

Использование переменных в качестве подстановок

Переменная Описание переменной
%realprogdir% Реальный путь до папки с Open Server Panel (обратный слеш «»)
%progdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной обратный слеш «»)
%dsprogdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL / MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchache
%redisdriver% Название модуля Redis
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с Open Server Panel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с Open Server Panel (только буква)
%sysdisk% Системный диск Windows (только буква)

Примеры заданий планировщика

Запрос по протоколу HTTP каждые 30 минут:

Запрос по протоколу HTTPS каждый час в 10 минут, в 20 минут и в 40 минут:

Выполнение файла cron.php интерпретатором PHP ежеминутно:

Информация

Конструкция -O nul в аналогична -O /dev/null в Linux и используется в примере для того, чтобы ответ, полученный wget от сервера, не сохранялся на диске.

Исполняемый файл php-win.exe используется вместо обычной CLI-версии PHP потому, что он ничего не выводит и, соответственно, не открывает консоль (окошко dos не появляется на экране).

Предупреждение

Предопределенные переменные планировщика

Переменная Описание переменной
%hh% Текущий час (00-23)
%mm% Текущая минута (00-59)
%ss% Текущая секунда (00-59)
%MM% Текущий месяц (01-12)
%MMM% Текущий месяц (Янв-Дек)
%DD% Текущий день (01-31)
%WW% Текущий день недели (Пн-Вс)
%WD% Текущий день недели (1-7, 1-понедельник, 7-воскресенье)
%YYYY% Текущий год (4 цифры)
%YY% Текущий год (последние 2 цифры)
%QUOTE% Знак кавычек
%PERCENT% Знак процента

В таблице показаны не все переменные. Полный список смотрите здесь.

При составлении заданий вы можете использовать как переменные для подстановки значений из Open Server Panel, так и предопределённые переменные самого планировщика. Кроме того, в качестве переменных планировщика можно использовать любые переменные среды окружения (environment variables), например %COMSPEC%.

Примеры заданий c использованием переменных

Очистка папки c:temp:

Задание будет развёрнуто планировщиком так:

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

Задание будет развёрнуто планировщиком так:

Информация

Меню закладок

Для быстрого доступа к нужным страницам на сайтах и рабочим папкам, для запуска и выполнения любых программ и команд в Open Server Panel существует возможность создавать закладки.

Виды закладок

  • Ссылка
  • Папка
  • Программа (возможен запуск с параметрами)
  • Команда в формате командной строки Windows

Использование переменных в качестве подстановок

Переменная Описание переменной
%realprogdir% Реальный путь до папки с Open Server Panel (обратный слеш «»)
%progdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной обратный слеш «»)
%dsprogdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL / MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchache
%redisdriver% Название модуля Redis
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с Open Server Panel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с Open Server Panel (только буква)
%sysdisk% Системный диск Windows (только буква)

Предупреждение

Примеры создания закладки на запуск программы с параметрами:

Меню программ

Добавление портативной программы

В Open Server Panel существует возможность добавить в меню свою портативную программу. Для этого необходимо выполнить следующие действия:

  1. Откройте папку ./progs/ в каталоге с Open Server Panel или создайте такую папку если её не существует;
  2. Создайте в папке ./progs/ подпапку с именем категории программ, например ./progs/Офисные программы, или используйте имя Default (программы из подпапки Default отображаются в корне меню, без категории);
  3. Скопируйте каталог с вашей портативной программой (например CintaNotes) в созданную вами папку ./progs/Офисные программы, в итоге у вас должен получиться такой путь: ./progs/Офисные программы/CintaNotes;
  4. Создайте в папке с портативной программой файл osinit.txt содержащий единственную строку с текстом, которая будет использована в меню Open Server Panel вместо отображения оригинального названия EXE файла программы;
  5. Перезапустите управляющую программу Open Server Panel;

Предупреждение

Добавление категории программ

Чтобы добавить собственную категорию в меню программ следует создать одноимённую папку в директории ./progs/. Программы добавленные в папку Default отображаются в корне меню программ, без категории.

Добавление ярлыка программы

Помимо портативного софта в меню программ можно добавить ярлыки на локально установленные программы. Такой указатель на программу будет отображаться в меню вместе с другими программами и будет работать как самый обычный ярлычок. Чтобы добавить ярлык на локально установленную программу просто скопируйте его в папку ./progs/нужная_вам_категория_программ/ или ./progs/Default/.

Информация

Старт/стоп скрипты

Дополнение сценариев запуска и остановки сервера

В Open Server Panel существует возможность дополнять сценарии запуска и остановки сервера своими .bat файлами (батниками).

Чтобы дополнить какой-либо сценарий необходимо создать файл-шаблон .tpl.bat в папке ./userdata/ с определённым именем (см. список ниже). Вы можете записать в такой файл произвольные последовательности команд, предназначенных для исполнения командным интерпретатором Windows.

Нужно понимать, что файлы с расширением .tpl.bat являются только шаблонами для итоговых .bat файлов. В процессе запуска или остановки сервера файлы-шаблоны будут преобразованы в исполняемые .bat файлы в той же папке с заменой переменных-подстановок и уже эти временные .bat файлы будут отправлены на выполнение.

Перед запуском

Используйте шаблон с именем /userdata/pre_start.tpl.bat для указания команд выполняемых ДО запуска всех модулей.

После запуска

Используйте шаблон с именем /userdata/start.tpl.bat для указания команд выполняемых ПОСЛЕ запуска всех модулей, но до того, как флаг состояния (в области уведомлений Windows) станет зеленым.

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

Используйте шаблон с именем /userdata/stop.tpl.bat для указания команд выполняемых ДО остановки модулей.

После остановки

Используйте шаблон с именем /userdata/post_stop.tpl.bat для указания команд выполняемых ПОСЛЕ остановки модулей, но до того, как флаг состояния (в области уведомлений Windows) станет красным.

Предупреждение

Внимание!

Использование переменных в качестве подстановок

В файлах-шаблонах с расширением .tpl.bat можно использовать подстановки. Доступные варианты подстановки программных переменных:

Переменная Описание переменной
%realprogdir% Реальный путь до папки с Open Server Panel (обратный слеш «»)
%progdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной обратный слеш «»)
%dsprogdir% Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL / MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchache
%redisdriver% Название модуля Redis
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с Open Server Panel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с Open Server Panel (только буква)
%sysdisk% Системный диск Windows (только буква)

Кроме написания команд перечисленные выше переменные можно использовать для указания реальных переменных окружения, например:

Ограниченный режим

При недоступном на запись HOSTS файле программа переходит в ограниченный режим работы с урезанной функциональностью.

В ограниченном режиме вам будет недоступна следующая функциональность:

  • Использование своих алиасов и доменов (кроме домена localhost);
  • Указание IP адреса сервера (кроме адресов 127.0.0.1 и *);

Таким образом в ограниченном режиме вам будет доступен один из двух IP адресов: 127.0.0.1 или *, и только один домен localhost. Другие созданные вами алиасы и домены не будут обработаны программой.

Работать в ограниченном режиме уместно только при полном отсутствии прав администратора, например в условиях организации. В любом другом случае крайне рекомендуется правильно настроить права доступа к HOST файлу для возможности полноценной работы с разными доменами. Разрешить запись в HOSTS файл для всех пользователей можно выполнив через консоль (запускать от имени Администратора) следующую команду:

Если в логах запуска вы видите сообщение о том, что Hosts файл недоступен для записи, то возможно что доступ к этому файлу блокируется антивирусом/файрволом, либо действуют ограничения прав доступа Windows.

Добавьте Open Server Panel, а так же все остальные компоненты, о которых будет спрашивать антивирус/файрвол, в доверенные программы. Отключите защиту HOSTS файла (или системных файлов) в настройках вашего антивируса/файрвола, если такая защита присутствует. Попробуйте вручную удалить файл C:WindowsSystem32Driversetchosts и заново создать со следующим содержимым:

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

Предупреждение

Запуск без внесения записей в HOSTS файл

В Open Server Panel реализована возможность полноценного запуска без внесения записей в HOSTS файл. Эта возможность будет полезна пользователям офисных сетей и терминалов, где доступ к HOSTS файлу имеет только старший администратор. Если опция [Не вносить изменения в HOSTS файл] включена, то запуск сервера происходит без редактирования HOSTS файла будто все домены в нём уже прописаны, т.е. доступ к этому файлу не требуется вовсе.

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

Формат внесения записей в HOSTS файл стандартный — ip пробел домен, например:

Отправка почты через SMTP

Яндекс почта

Ниже показаны типичные настройки для отправки почты через SMTP сервер выбранного почтового провайдера.

Mail.ru почта

Ниже показаны типичные настройки для отправки почты через SMTP сервер выбранного почтового провайдера.

Gmail почта

Ниже показаны типичные настройки для отправки почты через SMTP сервер выбранного почтового провайдера.

По умолчанию Gmail не даёт возможности использовать SMTP, поэтому доступ нужно активировать отдельно. Вам необходимо выполнить следующие шаги по активации:

1. Авторизуйтесь в своём аккаунте Gmail
2. В той же вкладке браузера перейдите сюда
3. Активируйте доступ к аккаунту для «непроверенных приложений» (см. картинку ниже)
4. Выполните тестовую отправку письма через ваш скрипт на сервере Open Server Panel
5. Обновите страницу (F5) и снова активируйте доступ к аккаунту для «непроверенных приложений» если он не активировался (пришедшее письмо о попытке доступа к аккаунту можно проигнорировать)

Теперь попробуйте отправить письмо еще раз, на этот раз отправка должна заработать.

Информация

Внешний доступ

Работа с внешними сетями

Open Server Panel может работать в локальных сетях и сети Интернет как веб-сервер. Для работы в сети Интернет необходим статический(белый) IP адрес. Чтобы открыть доступ к серверу извне необходимо указать * в качестве IP адреса в настройках Open Server Panel, в этом случае доступ откроется сразу для всех сетей, к которым подключён ваш компьютер. Если вы хотите открыть доступ только для одной конкретной сети (например локальной), то укажите в настройках программы IP адрес выданный вашему компьютеру в этой сети.

Информация

Доступ извне к локальными доменам

После того, как вы настроите удалённый доступ к своему серверу, все локальные домены станут доступны удалённо. Но как их открыть? Чтобы открыть нужный сайт с удалённой машины потребуется внести в HOSTS файл такого компьютера запись с адресом вашего локального домена, например: 64.55.96.24 supersite (где 64.55.96.24 это адрес вашего компьютера, а supersite это имя локального домена). После внесения такой записи в HOSTS файл на удалённом компьютере домен supersite будет доступен при обычном наборе в строке браузера.

Обратите внимание — при простом наборе IP адреса вашего компьютера http://64.55.96.24/ или при попытке доступа к несуществующему локальному домену будет открываться пустая страница.

Для того, чтобы при наборе IP адреса вашего компьютера открывался определённый локальный сайт, необходимо создать алиас вида ваш_внешний_ip => ваш_локальный_домен. После этих действий указанный вами локальный домен, для которого вы создали алиас, станет доступен через локальную сеть или сеть Интернет по адресу http://ваш_внешний_ip/ (например http://64.55.96.24/). Если ваш компьютер подключен к нескольким сетям и в настройках сервера установлен IP=*, то такой алиас необходимо создать для каждого IP адреса выданного вашему компьютеру в каждой из сетей.

Внимание!

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

Мы не рекомендуем такое использование Open Server Panel! Перед настройкой удалённого доступа к серверу обязательно ознакомьтесь с разделом Защита сервера данного справочного руководства.

Внешнее управление

Open Server Panel может принимать некоторые команды через сеть Интернет, для этого имеется встроенная панель управления которая работает на выделенном порту. Так же программой можно управлять через командную строку.

Управление через Интернет

Чтобы получить доступ к панели управления необходимо набрать адрес http://localhost:1515/ (по умолчанию). Порт, логин и пароль к контрольной панели можно указать непосредственно в настройках Open Server Panel [Меню → Настройки → Разное].

Панель управления доступна на любом IP адресе с которого доступен ваш компьютер, а так же на любом локальном домене из созданных на сервере. Для управления программой через Интернет ваш внешний IP адрес должен быть «белым», т.е. доступным из сети Интернет.

Команды для использования в командной строке

Защита сервера

Настройка защиты

Cервер становится крайне уязвимым, когда он открыт для доступа из сети Интернет, особенно с настройками установленными по умолчанию. Множество ботов и вирусов постоянно сканируют ip адреса в сети Интернет на предмет открытых портов и, как правило, незащищенный сервер оказывается взломанным уже через несколько часов после появления в сети.

Несколько шагов по защите веб-сервера от несанкционированного доступа:

  1. Отключите FTP сервер [Меню → Настройки → FTP сервер];
  2. Установите собственные пароли для root (и других) пользователей всех модулей СУБД;
  3. Включите защиту от внешнего доступа в настройках программы [Меню → Настройки → Сервер];
  4. Теперь перезапустите саму управляющую программу (не сервер);
  5. Выполните настройку файрвола закрыв на доступ извне все порты кроме тех, которые планируется использовать (например: 80,443,21,990,53);

Предупреждение

Встроенная защита от внешнего доступа

Выбор опции [Меню → Настройки → Сервер → Защитить сервер от внешнего доступа] отключит часть опасных функций PHP, доступ к веб-инструментам извне будет заблокирован, а доступ к диску для PHP скриптов будет ограничен корневой папкой доменов. Данная опция снижает производительность php-скриптов в 2-10 раз (зависит от интенсивности работы с файловой системой)!

Работа с Composer

Composer совместим со всеми версиями PHP начиная с 5.3 и в Open Server Panel он доступен во всех совместимых модулях «из коробки».

Установка пакетов Composer

  1. Выполните [Меню → Дополнительно → Консоль];
  2. Перейдите в папку с тем сайтом, куда планируется установка;
  3. Выполните установку любого нужного вам пакета, например:

В будущем, чтобы обновить установленный таким образом проект, достаточно перейти в папку с нужным проектом и выполнить команду composer update:

Работа в консоли

Для запуска встроенной консоли необходимо запустить сервер и выполнить [Меню → Дополнительно → Консоль]. Среда окружения (англ. Environment) формируется в момент запуска сервера и передаётся всем запускаемым модулям. Любые другие программы, будь то консоль или IDE, так же могут получить правильное окружение, достаточно запускать эти программы из меню Open Server Panel. Для этого можно либо сделать закладку, либо добавить ярлык в меню программ (см. разделы Меню закладок и Меню программ).

Необходимо знать, что если вы запускаете консоль или любую другую программу из стандартного меню Пуск или используя ярлык на рабочем столе Windows, а не из меню Open Server Panel, то они не смогут работать с виртуальным окружением сформированным в Open Server Panel.

Встроенную консоль можно запустить даже если сервер выключен, в Full версии выполните [Меню → Программы → Консоль]. Однако при выключенном сервере среда окружения не сформирована и поэтому работать из консоли с PHP и другими модулями или программами (wget, composer, скриптами и т.д.) будет невозможно.

Внимание!

Если вы запустили консоль ДО запуска сервера, то среда окружения НЕ станет доступна в консоли.

Чтобы начать полноценную работу с модулями после запуска сервера нужно закрыть и заново открыть встроенную консоль (саму программу ConEmu, а не только вкладку), поскольку только при запущенном сервере консоль получает правильно сформированное окружение в момент запуска из меню.

Точно так же среда окружения не будет обновлена в консоли если вы переключились на другой модуль PHP или MySQL и перезапустили сервер, но при этом не перезапустили консоль!

Внимание!

При запуске стороннего ПО (консоли, программы, IDE, скрипты и проч.) строго придерживайтесь правила: сначала запустить сервер — потом программу.

Если вы изменили настройки Open Server Panel или конфиги модулей: выключить программу — потом запустиь её заново.

Не пытайтесь запускать софт в обход меню Open Server, т.к. в этом случае рабочее окружение не будет доступно в вашей программе.

Вопросы и ответы

Ничего не запускается?

Не стоит отчаиваться, загляните в общий лог программы и другие логи компонентов [Меню → Просмотр логов]. В подавляющем большинстве случаев там вы найдете причину неудачного старта. В более сложных случаях включите опцию [Запускать сервер в отладочном режиме], это позволит увидеть отладочную информацию при запуске. Так же добавьте Open Server Panel в доверенные программы вашего файрвола или антивируса, если таковой имеется.

Пишет что порт 80, 3306 и т.д. уже занят!

Включите в настройках Open Server Panel опцию [Запускать сервер в агрессивном режиме], в этом режиме все программы занимающие нужные порты будут принудительно закрыты. Добавьте Open Server Panel в доверенные программы вашего антивируса/файрвола/прокси-сервера или отключите слежение за портами 80/443/21/90xx/3306 если оно есть. В отдельных антивирусах/файрволах возможны свои доп. настройки связанные с перехватом подключений программ к сети.

Пишет что нет прав доступа для работы в этой папке!

Вы пытаетесь запустить Open Server Panel из папки, которая принадлежит другому пользователю, или же файлы Open Server Panel были записаны на компьютер другим пользователем. Если Open Server Panel будет запускаться пользователем Pavel (например), то войдите в систему под учётной записью Pavel и скопируйте Open Server Panel в такую папку, которая принадлежит пользователю Pavel (имеются права на запись), после чего запуск сервера для этого пользователя станет возможным. Вместо копирования можно установить особые права доступа к папке с Open Server Panel, обратитесь к администратору вашего компьютера.

Почему кнопки серые и не нажимаются?!

В любой момент времени активны только те кнопки и разделы меню, которые могут выполнить возложенное на них действие. Например: если сервер не запущен, то пункт меню PHPMyAdmin будет неактивен; если сервер запущен, то кнопки очистки логов будут недоступны и т.д.

Я не могу открыть меню когда флаг желтого цвета!

Желтый флажок говорит о том, что происходит выполнение команды (например запуск, остановка или сохранение настроек). Во время выполнения команд меню программы недоступно.

Создал 3000 доменов и теперь сервер не запускается!

Увеличьте кол-во проверок состояния сервера до 20-30 или выше в настройках программы [Меню → Настройки → Разное]. Переключитесь на использование HTTP модуля Apache если вы используете модуль Nginx.

Хочу протестировать сайт с учётом разных скоростей интернета (мобильные устройства к примеру)!

В Open Server Panel существует возможность ограничения скорости передачи данных для симуляции медленной загрузки сайта. Для ограничения скорости воспользуйтесь меню Open Server Panel: [Меню → Настройки → Разное]. Скорость можно ограничить в пределах 1-40 КБайт в секунду, установка значения в 0 или более 40 отменяет ограничение. Скоростной лимит устанавливается на каждый запрос, поэтому, если клиент одновременно откроет 4 картинки на сайте (4 соединения), то каждая из них будет загружаться с заданной скоростью.

Где редактировать настройки модулей?

Для редактирования настроек модулей пользуйтесь меню Open Server Panel: [Меню → Дополнительно → Конфигурация].

Куда сохраняются мои письма?

По умолчанию все письма сохраняются во временную папку userdata/tmp/email/, во время остановки сервера эта папка не очищается. Можно настроить отправку писем через удалённый SMTP сервер: [Меню → Настройки → Почта].

Я нажимаю в меню программы на нужный сайт, но ничего не открывается!

Для работы многих пунктов меню требуется наличие корректно установленного и работающего браузера по умолчанию. Так же вы можете напрямую указать свой браузер в настройках программы: [Меню → Настройки → Меню].

Я создал домен local_site.loc, но он не работает!

Символа подчеркивания не может быть в имени домена, поэтому такой домен не подключается. Разрешенные символы: [a-z0-9.-].

Сервер не стартует с ip 192.168.0.1 и говорит что localhost работает только на ip 127.0.0.1!

Действительно, домен localhost можно использовать только с ip адресом 127.0.0.1, поэтому либо переименуйте этот домен, либо удалите его, если он вам не нужен.

Я хочу работать без виртуального диска!

Выберите в настройках Open Server Panel работу без виртуального диска и скопируйте папку с сервером в такую директорию, путь до которой содержит только латиницу или цифры, в противном случае работа без вирт. диска будет невозможна.

Я не вижу виртуального диска!

Если вы работаете не под учётной записью администратора, но Open Server Panel запущен с правами администратора, то виртуальный диск (если он используется) будет для вас недоступен. Open Server Panel при этом будет работать нормально. Вы можете отключить использование виртуального диска в настройках, при этом учитывайте требования к абсолютному пути описанные в предыдущем ответе.

Сервер запускается, но браузер говорит что домен не найден!

Если в вашем браузере настроена работа через прокси сервер, то локальные сайты будут ему недоступны. Чтобы исправить ситуацию откажитесь от использования прокси в вашем браузере или добавьте локальные домены и IP адрес сервера в список исключений для прокси в настройках обозревателя. В ряде случаев нужно пересоздать файл HOSTS (см. Решение проблем).

Для чего нужна настройка вывода закладок вместо сайтов?

В таком режиме созданные закладки отображаются вместо списка доменов, это будет полезно при создании демо-сборок с установленными скриптами (см. Создание сборок).

Мне трудно пересоздавать закладки, пользователей FTP и т.д, нужно их просто отредактировать!

Не нужно пересоздавать записи заново, просто сделайте двойной клик на интересующей вас записи в таблице после чего эта запись сразу же удалится из списка и будет вынесена обратно в поля редактирования. Не забудьте добавить отредактированную запись обратно в таблицу!

Подключение к базе данных длится более 1 сек!

Отключите использование протокола IPv6 используя инструкцию из раздела Решение проблем данного руководства.

Я скопировал в папку с доменом свой скрипт, после перезапуска сервер не видит файлов и показывает ошибку!

Скорее всего вы скопировали или создали такую подпапку в папке с доменом, имя которой подпадает под условия автоматического поиска корневой папки домена (см. Домены и алиасы).

Сервер постепенно занял всё место на диске!

Постепенное исчезновение свободного места говорит о том, что вы отключили автоочистку логов при запуске сервера. В результате при активном использовании сервера лог-файлы вырастают до огромных размеров и занимают всё свободное место на диске. Очистите лог-записи в окне просмотра логов и включите автоочистку логов при старте в настройках Open Server Panel. Очистите папку .userdatatmp от временных файлов.

Как мне создать собственную конфигурацию хоста для домена?

Используйте шаблон конфигурации виртуального хоста в папке с нужным доменом для создания особой конфигурации домена. При создании/изменении файла требуется перезапуск сервера. Шаблон конфигурации для нужного модуля можно найти в папке ./userdata/config/.

Например, если вы хотите создать собственную конфигурацию домена xxx.ru для модуля Apache-2.4.2, то скопируйте файл ./userdata/config/Apache-2.4.3_vhost.conf в папку с нужным доменом, отредактируйте этот файл под свои нужды и перезапустите сервер.

Или другой пример, при использовании модуля Apache+Nginx можно скопировать в папку домена оба файла конфигурации для каждого сервера: Apache-2.2.23+Nginx-1.2.4_vhosta.conf и Apache-2.2.23+Nginx-1.2.4_vhostn.conf.

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

Как и где редактируются конфиги компонентов?

В Open Server Panel используются файлы-шаблоны конфигурации, которые доступны через общее меню программы. Не пытайтесь редактировать временные файлы конфигов, которые создаются в момент запуска сервера, это не имеет смысла. Шаблоны конфигурации индивидуальны для каждого модуля, т.е. если вы выберите какой-либо из модулей в качестве активного, то будут активированы и шаблоны настроек именно этого модуля. Например: вы сконфигурировали шаблон файла php.ini при активном модуле PHP 5.2, после чего выбрали модуль PHP 5.3 в качестве активного. В этом случае вам необходимо еще раз сконфигурировать шаблон файла php.ini уже для модуля PHP 5.3.

Сами шаблоны настроек для всех модулей и инструментов хранятся в папке ./userdata/config/, их нельзя использовать как реальные конфиги и указывать при запуске модулей, консолей и скриптов. В процессе запуска шаблоны конфигурации проходят через парсер, который заменяет все переменные-подстановки на реальные данные и сохраняет уже готовые файлы конфигурации в папку ./userdata/temp/config/.

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

В Open Server Panel существует возможность отправки почты через сторонний SMTP сервер, при этом все домены используют те параметры подключения, которые были указаны пользователем в окне настроек Open Server Panel. Для того чтобы определённый домен мог использовать собственные настройки подключения к SMTP серверу нужно указать их в шаблоне конфигурации этого хоста. Откройте шаблон конфигурации виртуального хоста (как его создать описано в предыдущем ответе) в папке с нужным доменом и добавьте в описание хоста следующее содержимое (одной строкой):

Последнюю часть строки —pop3-server=pop3.xxx.xx —pop3-user=xxx@xxx.xx —pop3-pass=xxxxxx добавляйте только в том случае, если требуется авторизация POP3 перед SMTP. Возможные значения для параметра —smtp-ssl= это none,auto,ssl или tls.

Необходимо помнить, что при указании собственных настроек подключения к SMTP серверу отправка почты для выбранного домена будет работать не зависимо от основных настроек Open Server Panel. Так же обратите внимание на то, что все данные SMTP сервера включая логин и пароль будут доступны в php скриптах и видны в информации phpinfo(), поэтому в целях безопасности не рекомендуется пользоваться описанной возможностью указания настроек отправки почты в конфиге хоста.

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

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

  1. Запустите установщик Open Server Panel и не выбирая никакие компоненты к установке перейдите к окну выбора доп. задач и выполните установку DLL библиотек, настройку системы и прав доступа к файлам.
  2. Убедитесь что IP адрес, заданный в настройках, существует (кроме [*]). Так же убедитесь что все другие настройки программы корректны.
  3. Добавьте Open Server Panel в доверенные программы вашего файрвола/антивируса или настройте их должным образом, если таковые имеются.
  4. Запустите [Меню → Просмотр логов], попробуйте найти причину проблемы и устранить её (если это возможно).
  5. Включите в настройках Open Server Panel опцию [Запускать сервер в отладочном режиме] и попробуйте найти причину проблемы и устранить её (если это возможно).
  6. Выполните через консоль (запускать от имени Администратора) следующую команду: attrib -s -r -h -a C:Windowssystem32driversetchosts
  7. Активируйте службу DNS если она отключена и запустите её, отключите все службы в имени которых присутствует IIS.
  8. Отключите глобальные прокси и проксификаторы если они установлены на вашем компьютере.

Информация

Контроль учётных записей пользователей (UAC)

При включённой службе контроля учётных записей пользователей (UAC) и запуске без прав администратора Open Server Panel не будет иметь доступа к HOSTS файлу и автоматически перейдёт в ограниченный режим работы. Как правило, об ограниченном режиме сигнализирует наличие только одного домена localhost в меню программы, в то время как ранее были созданы и другие домены. Чтобы исправить ситуацию включите опцию [Требовать учётную запись Администратора] в настройках Open Server Panel и перезапустите программу, либо отключите контроль учётный записей (UAC).

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

  1. Использование встроенного DNS сервера (настройка согласно Руководства);
  2. Активация опции [Не вносить изменения в HOSTS файл] + ручное редактирование этого файла;
  3. Установить разрешающие права записи в HOSTS файл для всех пользователей Windows;
  4. Отказ от возможности управления доменами и работа с единственным доменом localhost;

Создание сборок

Что это такое и зачем это нужно?

Например у вас есть свой проект (допустим некая CMS), который вы бы хотели сделать доступным на своём сайте в качестве демо-версии для потенциальных клиентов, показать заказчику или попросту сделать демонстрационный пакет на все случаи жизни. Нужно чтобы ваш программный продукт работал одинаково хорошо у всех, в одинаковой конфигурации, уже был установлен и готов для работы или ознакомления. В этом вам как раз и поможет Open Server Panel.

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

Как создать кастомную сборку

  1. Скачайте дистрибутив Open Server Panel Basic последней версии и распакуйте его во временную папку. Перейдите в папку куда был распакован дистрибутив и запустите программу Open Server Panel.exe.
  2. Удалите ненужные модули в папке ./modules/php/*, ./modules/database/* и ./modules/http/* оставив в папках только по одному модулю, которые будут использоваться для вашего программного продукта. Если вы не планируете использовать модули DNS, Redis и Memcached, то папки с этими модулями так же можно удалить: ./modules/dns/*,./modules/redis/* и ./modules/memcached/* соответственно. Не удаляйте корневые каталоги с подтипом модулей даже если они пусты, это сделает программу неработоспособной.
  3. Нажмите [Меню → Настройки] и выберите для использования те модули, которые вы не удалили. Установите IP адрес сервера в значение 127.0.0.1, отключите [Автоматическую проверку обновлений], не отключайте опцию [Автоматически определять потребность в виртуальном диске]. Установите все другие нужные вам настройки.
  4. Нажмите [Меню → Дополнительно → Конфигурация] и настройте шаблоны конфигурации нужных модулей под ваш продукт (скрипт/сайт/cms), если это необходимо.
  5. Запустите сервер и установите ваш программный продукт (скрипт/сайт/cms) на домен localhost, который присутствует в Open Server Panel по умолчанию. Выполните необходимые действия по настройке скрипта после чего выйдите из всех форм авторизации где вы авторизовались (например: личный аккаунт, администрирование и т.д.).
  6. Остановите сервер. Нажмите [Меню → Настройки] и создайте закладки для основных страниц вашего программного продукта (например: Админ-панель, Личный аккаунт, Главная страница). Включите в настройках Open Server Panel опцию [Показывать закладки вместо сайтов]. Сохраните настройки.
  7. Нажмите [Меню → Выход] и переименуйте файл программы согласно имени вашего продукта, например ./временная папка/ Open Server Panel.exe в ./временная папка/MegaCMS Server.exe.
  8. Теперь упакуйте содержимое временной папки в самораспаковывающийся архив. Тип и формат архива зависит лишь от предполагаемой формы распространения сборки.
  9. Готово!

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

Permalink

Cannot retrieve contributors at this time


This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters

Show hidden characters

<?
$MESSSECURITY_HOSTS_TITLE«] = «Хосты/домены«;
$MESSSECURITY_HOSTS_MAIN_TAB«] = «Параметры«;
$MESSSECURITY_HOSTS_MAIN_TAB_TITLE«] = «Настройки ограничения«;
$MESSSECURITY_HOSTS_ON«] = «Ограничение включено«;
$MESSSECURITY_HOSTS_OFF«] = «Ограничение выключено«;
$MESSSECURITY_HOSTS_NOTE«] = «Ограничение хостов/доменов позволяет предотвратить подмену HTTP-заголовка Host.«;
$MESSSECURITY_HOSTS_ACTIVE«] = «Ограничивать«;
$MESSSECURITY_HOSTS_LOGGING«] = «Логировать«;
$MESSSECURITY_HOSTS_REACTION«] = «Активная реакция«;
$MESSSECURITY_HOSTS_REACTION_STOP«] = «Запрещать доступ«;
$MESSSECURITY_HOSTS_REACTION_REDIRECT«] = «Перенаправлять«;
$MESSSECURITY_HOSTS_REACTION_REDIRECT_HOST«] = «Адрес перенаправления«;
$MESSSECURITY_HOSTS_HOSTS_LIST«] = «Список разрешенных хостов/доменов«;
$MESSSECURITY_HOSTS_HOSTS_LIST_EXAMPLE«] = «(например: example.com www.example.com)«;
$MESSSECURITY_HOSTS_SAVE_ERROR«] = «Ошибка сохранения«;
$MESSSECURITY_HOSTS_SAVE_UNKNOWN_ERROR«] = «Системная ошибка: #CODE#«;
$MESSSECURITY_HOST_EMPTY_ACTION«] = «Не выбрана активная реакция«;
$MESSSECURITY_HOST_EMPTY_HOSTS«] = «Список разрешенных хостов/доменов пуст«;
$MESSSECURITY_HOSTS_EMPTY_HOST_ACTION«] = «Не указан адрес перенаправления«;
$MESSSECURITY_HOSTS_INVALID_HOST_ACTION«] = «Не корректный адрес перенаправление, корректный пример: http://example.com«;
$MESSSECURITY_HOSTS_SELF_BLOCK«] = «Заданные ограничения блокируют текущий хост«;
$MESSSECURITY_HOSTS_ANY_HOST«] = «Заданные ограничения бессмысленны, т.к. не блокируют случайный хост«;

Я уже писал обзорный пост возможностей, которые дает 1С-Битрикс в плане SEO (поисковой оптимизации). Писал другую статью, о преимуществах и минусах готовых решений (сайтов и интернет-магазинов) на 1С-Битрикс. Этот пост будет из той же серии, об инструментах безопасности, которые доступны в Битриксе сразу «из коробки». Перечислю их все, скажу какой инструмент в какой редакции Битрикса доступен, кратко и не очень расскажу о назначении каждого.

Безопасность сайта в 1С-Битрикс. Инструменты против взлома

Знаю по опыту работы с клиентами, что вопрос безопасности далеко не последний, который их интересует. Правда, клиенты обычно не разбирается в деталях и просто боятся хакеров, взлома сайта или что сайт сломается. Но в целом в своих опасениях правы.

Если вы выбираете CMS для сайта или интернет-магазина и безопасность — это один из критериев, то мой пост позволит вам разобраться, дает ли Битрикс достаточно уверенности.

Содержание:

  • Сначала выводы
  • Проактивная защита против взлома сайта
    • Проактивный фильтр (Web Application Firewall)
    • Сканер безопасности веб-сайта
    • Веб-антивирус
    • Стоп-лист. Забанить мерзавцев!
    • Контроль подозрительной активности на сайте
    • Защита административной части
    • Контроль целостности файлов
    • Защита сессий
    • Защита от показа во фреймах
    • Защита редиректов от фишинга
    • Хосты/домены
    • Панель безопасности
    • Безопасная авторизация без SSL
    • Журнал вторжений
    • Двухэтапная авторизация и одноразовые пароли
    • Защита сайта от DDoS
  • Важные мелочи
    • Политики безопасности сайта для групп пользователей
    • Журнал событий
    • Монитор качества
    • Детальная настройка CAPTCHA
    • Защита от автоматических регистраций
    • Защита от подбора пароля
  • Работоспособность сайта
    • Резервное копирование
    • Свернуть весь сайт в архив
    • Автоматическое регулярное резервное копирование
    • Автоматический backup в «облако»
    • Поддержка облачных хранилищ
    • Инспектор сайтов
  • Заключение

Сначала выводы

Статья получилось большой, да и тематика скучновата. Поэтому я выводы решил написать в самом начале, чтобы увеличить шансы, что вы их прочтете. Так вот, глядя на объем этого поста, может показаться, что во всем разнообразии инструментов безопасности Битрикса легко запутаться. Но это не так. Все они достаточно простые.

Для рядового пользователя, который не слишком разбирается в технических деталях разработки сайтов, достаточно знать, где смотреть отчет по текущей безопасности сайта, уметь запускать сканер безопасности и монитор качества (и то и другое делается в один клик). Есть места, где можно посмотреть единые сводки — просто и понятно. Таким образом, не надо быть спецом по безопасности, чтобы мониторить безопасность в Битриксе так же как не нужно быть экспертом по веб-аналитике, чтобы смотреть посещаемость своего сайта в Лайвинтернете или Яндекс.Метрике.

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

Поехали.

Проактивная защита против взлома сайта

В битриксе есть целый ряд технических инструментов и организационных мер в безопасности, которые объединены под названием «Проактивная защита».

Все инструменты, перечисленные в этом разделе, доступны начиная с редакции 1С-Битрикс «Стандарт» и выше (в редакции «Старт» их нет). Для некоторых требуется модуль «Веб-аналитика», об этом говорится отдельно.

Проактивный фильтр (Web Application Firewall)

Защищает сайт от взлома посредством большинства известных атак. Фильтр выявляет потенциальные угрозы и блокирует вторжения на сайт, анализирует все данные, которые поступают от посетителя, и отфильтровывает те, что считает подозрительными. Фильтр защищает сайт от взлома, в том числе из-за ошибок в безопасности, допущенных разработчиками. Проактивный фильтр фиксирует попытки атак в специальном журнале, а также информирует администратора сайта о случаях вторжения. Фильтр позволяет блокировать атакующего, добавляя его IP-адрес в стоп-лист.

Нужно отметить, что иногда некоторые действия посетителей сайта, могут выглядеть подозрительно, хотя угрозы не представляют, тогда у фильтра будет ложное срабатывание. Но это дань бдительности. Как слишком чувствительная сигнализация на машине соседа у вас под окнами :-).

Проактивная защита сайта от взлома

Сканер безопасности веб-сайта

Это сервис, который позволяет проверить сайт на безопасность, выявить возможные уязвимости в программной части и определить неверные настройки безопасности CMS, PHP, сервера.

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

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

Анализ безопасности сайта при помощи встроенного сканера

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

Запуск сканирования осуществляется одной кнопкой. После окончания проверки, выводятся результаты со списком всех угроз безопасности, найденных на сайте:

  • Сканер покажет недочеты во внутренней организации сайта, например, хранятся ли сессии безопасно.
  • Покажет, какие возможности системы для обеспечения безопасности сайта не используются (не включены), какие настройки не выполнены.
  • Модуль также выведет все неопасные, но потенциально слабые места в безопасности (простой пароль на базу данных, пониженный уровень безопасности для администраторов) и т.п. мелочи, которые, тем не менее часто оказываются полезными. Например, когда разработчик забыл по окончании работы что-то подправить «как нужно».

Результаты сканирования. Список обнаруженных угроз

Результаты сканирования. Список обнаруженных угроз.

Еще сканер умеет искать потенциальные уязвимости в PHP-коде проекта. Кому интересно как это реализовано, можно подробнее прочитать в блоге Битрикса.

Проверка на безопасность кода PHP

Проверка на безопасность кода PHP на сайте.

Для большинства пользователей, которым технические детали не слишком важны, скажу главное — это инструмент для разработчика, который, вполне может что-то забыть предусмотреть в плане безопасности веб-проекта или просто не знать. Этот инструмент позволяет выявлять возможные проблемы, показывает их чтобы можно было устранить. А вот чтобы разработчик не  забыл им воспользоваться, да и не упустил из вида массу других мелочей, относящихся не только к безопасности, в 1С-Битрикс присутствует «Монитор качества», о нем тоже будет сказано в этой статье.

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

Важные моменты выделены красным цветом

Веб-антивирус. Защищает сайт от вирусов.

Самый простой способ защитить сайт от вируса — использовать антивирус на своем компьютере. Заражение сайта вирусом обычно происходит от компьютера администратора, который имеет к нему доступ, а не потому, что сайт много времени сидит в интернете :-). Поэтому основная задача веб-антивируса — уведомить администратора сайта о заражении. Вирус на сайте означает что вирус возможно есть и на компьютере администратора, и нужно принять меры.

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

В зависимости от настроек, которые будут в нем выставлены, Веб-антивирус, может либо только информировать администратора сайта о подозрении на наличие вируса, либо автоматически выявлять в HTML коде сайта опасные участки и «выпиливать» подозрительные iframe и javascript. Есть возможность добавлять исключения, чтобы антивирус перестал срабатывать на безопасные, но подозрительные (по его мнению) части кода.

Проще говоря, веб-антивирус делает большое доброе дело — блокирует распространение вируса вашим интернет-магазином.

Что это значит на практике? Это значит что ваши посетители не получат от своего антивируса или браузера предупреждение что вашему сайту нельзя доверять. И это хорошо!

Сколько раз вы сами сталкивались с тревожным сообщением «Этот сайт угрожает безопасности вашего компьютера» или «У этого сайта проблемы с безопасностью». Кроме того, поисковые системы не исключат ваш сайт из выдачи за распространение вирусов. А именно так бывает, если сайт долгое время заражен.

Стоп-лист. Забанить мерзавцев!

Иногда хочется заблокировать (забанить) некоторых пользователей или ботов, чтобы запретить доступ к сайту. Это бывает полезно, если пользователи делают тестовые заказы с непонятной целью, систематически пишут неадекватные комменты, спамят рекламой или создают излишнюю активность. Для таких случаев в 1С-Битрикс предусмотрен «Стоп-лист».

Настройка параметров в стоп-листе

Нежелательных пользователей можно добавлять в стоп-лист вручную или автоматически по некоторым событиям.

У стоп-листа есть несколько полезных возможностей:

  • Чтобы не забыть разбанить пользователя, а это бывает полезным, поскольку у многих IP-адреса динамические и надолго за одним и тем же юзером не закрепляются, можно выставлять время, в течение которого будет действовать блокировка, после чего снимется автоматически.
  • Можно выводить заблокированным посетителям произвольное сообщение, например «Ваш IP-адрес был заблокирован, в связи с повышенной активностью». Или что на мой взгляд интереснее, перенаправлять на сторонние сайты. К конкурентам, например. Пусть ведут свою деструктивную деятельность у них.
  • Доступ посетителям и ботам можно ограничивать не только по IP-адресу, но и по маске сети и UserAgent`у (при наличии модуля «Веб-аналитика»), что особенно полезно для блокирования нежелательных ботов.

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

Функционал стоп-листа связан с другими инструментами безопасности (например, с «Проактивным фильтром» или «Контролем активности») это дает возможность блокировать нарушителей (в том числе автоматически), которых выявили другие инструменты.

Контроль подозрительной активности на сайте. Кто здесь? 

Много хорошо — плохо. Поэтому излишнюю активность на сайте, особенно исходящую от ботов, нужно блокировать. Конечно, вреда особого от нее нет, но и пользы тоже. Например, если ваш сайт размещен на обычном виртуальном хостинге, который легко справляется с 500-700 посетителей в сутки, то попытка выкачать целиком весь ваш сайт, в 10 потоков, используя TeleportPro, вполне может затруднить его работу для других пользователей или привести к сбою. Не говоря уже о том, кому и с какой целью понадобилось выкачивать ваш сайт.

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

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

Настройка автоматической блокировки при повышенной активности на сайте

Настройка автоматической блокировки при повышенной активности на сайте

Как видите, штука вполне полезная и найдет применение в работе сайта. Но к сожалению этот инструмент доступен только в редакциях, с модулем «Веб-аналитика» («Эксперт» и «Бизнес»).

Защита административной части

Сердце сайт — административная часть. Это командный центр, откуда ведется управление Скайнетом проектом. Получив доступ к админке, злоумышленник (или просто криворукий сотрудник-экспериментатор) может натворить много бед, которые долго придется разгребать. Чем сложнее пароль, тем сильне хочется сохранить его на рабочем столе в файле «Пароль от сайта.txt», или в браузере, откуда его тоже обычно не составляет труда достать.

Защита административной части по IP-адресу — еще одна линия обороны. Для этого и предназначен этот инструмент. Его использование делает бессмысленными XSS атаки на компьютер администратора / редактора сайта / контент-менеджера. Кража пароля тоже ничего не даст.

Запрет доступа к админке всех кроме указанных IP

Настройка запрета доступа к административной части.

Защита административной части позволяет открыть доступ для управления сайтом только с определенных IP-адресов или диапазонов.

Для удобства настройки, система показывает текущий IP-адрес пользователя. Кроме того, проверяет, не заблокировал ли пользователь доступ самому себе. Но если так получилось, что вы все же оказались заблокированными, например, у вас поменялся IP-адрес и вы не можете войти в админку, вы можете снять ограничение по IP-адресам, создав (по FTP или через панель управления хостингом) специальный файл (с любым содержимым, можно пустой), но по определенному пути и с нужным названием. Путь до файла и его имя задается в настройках модуля «Проактивная защита». Позаботьтесь заранее о том, чтобы в случае блокировки знать какой файл и где нужно создать.

Создание секретного файла, если заблокировали сами себя

Путь и имя файла, который нужно записать, на случай если заблокировали сами себя.

Контроль целостности файлов

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

Такая функциональность может быть использована, например, для контроля работы стороннего программиста, чтобы понимать в какие файлы вносились изменения, какие новые файлы добавились и не модифицировалось ли ядро.

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

Проверка целостности файлов на сайте

Защита сессий

Если злоумышленник получает доступ к авторизованной сессии администратора, то сможет получить доступ и к сайту. Чтобы обезопасить сайт от подобного рода взломов, в 1С-Битрикс предусмотрена защита сессий, использование которой делает кражу сессии бессмысленной.

Помимо функционала защиты сессий, имеющегося в настройках групп пользователей, инструмент «Защита сессий» позволяет хранить сессии пользователей в базе данных, что исключает доступ к ним в случае неверных настроек безопасности на виртуальном хостинге. Кроме того, можно задать время жизни идентификатора сессии, чтобы он изменялся через заданные промежутки времени. Тогда даже украденная сессия перестанет быть актуальной через этот промежуток времени. По умолчанию выставлена 1 минута.

Включение хранения сессий пользователей в базе данных

Включение хранения сессий пользователей в базе данных.

Защита от показа сайта во фреймах

Простейший пример — если вы посмотрите на источники переходов на ваш сайт, то увидите, что некоторые ссылки это ваш собственный сайт только с другим адресом. Это и есть открытие во фрейме. Есть сервисы типа snip.ly, которые позволяют ставить ссылки через них, и показывать на стороннем сайте рекламу. Например, если кликнуть по этой ссылке, то вы перейдете в бложик Тёмы Лебедева, где внизу будет моя реклама. При желании к этой рекламе можно будет прикрутить аватарку Тёмы, тогда эффективность будет еще выше.

Открытие сайта во фрейме

Чтобы подобные штуки нельзя было провернуть на вашем сайте, в Битриксе есть защита от фреймов.

Защита от открытия сайта во фреймах

А вот что об этом пишут сами парни из Битрикса:

Запрет отображения страниц сайта во фреймах других доменов позволяет защитить проект от Clickjacking’a (подсовывание невидимого фрейма с целевого ресурса для получения клика от посетителя), Framesniffing’а и значительно уменьшает вероятность Cross-site scripting атак.

Защита редиректов от фишинга

Фишинг — разновидность интернет-мошенничества.

В Битриксе, как и в любой CMS или сервисе, где необходимо считать клики, есть возможность ставить ссылки через редиректы. Например, в модуле «Реклама». Чтобы злоумышленники не использовали их в своих коварных целях, необходимо включить защиту редиректов.

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

Настройка параметров защиты редиректов

Перенаправлением на другой сайт, заведомо безопасный (можно задать в настройках). Там же в настройках, можно задать текст с предупреждением пользователя о возможной попытке фишинга.

Настройка действий при злонамеренном редиректе

Хосты/домены

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

Настройка переадресации на разрешенный домен

Настройка переадресации на разрешенный домен.

Панель безопасности

Инструментов безопасности в Битриксе много, чтобы упростить настройку и определить текущее состояние каждого, предусмотрена Панель безопасности. Это раздел, в котором на одной странице сведена воедино и структурирована вся информация о текущей безопасности сайта в настоящий момент. Здесь же, если необходимо, даются рекомендации по улучшению безопасности. Сразу приведена ссылка на соответствующий инструмент, который нужно включить или настроить.

Панель безопасности 1С-Битрикс

Панель безопасности 1С-Битрикс.

Чтобы определить уровень безопасности созданного сайта, достаточно зайти в панель безопасности.

Безопасная авторизация без SSL

Если вам приходится работать с сайтом из разных мест, в том числе через открытые точки Wi-Fi, вы подвергаете безопасности сайт, рискуя, что ваши логин и пароль, через которые вы входите на сайт, будут получены злоумышленниками. Перехват паролей не представляет большой проблемы, если сайт не поддерживает шифрование или вы не используете VPN-соединение.

В Битриксе, есть возможность обезопасить авторизацию без необходимости подключать SSL. Для этого в административной панели, в настройках Главного модуля, нужно включить эту возможность, поставив соответствующую галочку. После этого пароли станут шифроваться по алгоритму RSA с ключом 1024 бит и в таком виде передаются на сервер. Взломать их будет невозможно.

Включение безопасной авторизации

Журнал вторжений

В 1С-Битрикс, все необычные или злонамеренные действия автоматически заносятся в Журнал вторжений. Это дает администратору сайта возможность выявлять попытки атак как сразу, в момент проведения (например, получив соответствующее уведомление на емейл) и блокировать IP-адрес злоумышленникам, так и просматривая события в журнале позже. В журнале в зависимости от основных типов атак делаются соответствующие записи: внедрение SQL, атаки через XSS, попытка внедрения PHP. Журнал вторжений отличный инструмент для администратора сайта, позволяющий проводить профилактику и предупреждать попытки взлома анализируя записи.   

CMS 1С-Битрикс - журнал вторжений

Журнал вторжений.

Двухэтапная авторизация и одноразовые пароли

Для входа на сайт традиционно используются логин и пароль. Но минус их в том, что стащить их особой сложности не составляет. Есть клавиатурные шпионы, вирусы, которые могут «подсмотреть» пароль и передать злодеям. Пароль может быть украден из запомненных в браузере, подслушан в незащищенных wi-fi сетях.

Поэтому во всех критически важных местах, таких как вход в интерне-банк, при переводе денег в платежных системах, используются одноразовые пароли. 

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

Ключи, которыми можно генерировать одноразовый пароль

«Брелоки» для генерации одноразовых паролей.

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

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

Защита сайта от DDoS

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

Совсем недавно, в 15-й версии в Битриксе появилась новая возможность, быстро подключить защиту от DDoS-атак, предоставляемую сервисом Qrator. Сделать это можно как из админки, так и со специальной страницы на сайте Битрикса (если админка Битрикса у вас на сайте будет недоступна из-за DDos-атаки). В лицензию входит бесплатно 1 защита сайта от ddos в год сроком на 10 дней. Больше уже за деньги. Подобный сервис будет интересен, прежде всего крупным проектам. Но говоря про инструменты безопасности, встроенные в Битрикс, не сказать о нем нельзя. 

Важные мелочи

Есть еще мелочи, которые относятся к безопасности, но не такие крутые, как те что я описывал выше. Но поскольку совсем не сказать о них в этой статье нельзя, перечислю их, не вдаваясь в подробности. Всё перечисленное в этом разделе доступно в Битриксе начиная с младшей редакции «Старт».

Политики безопасности сайта для групп пользователей

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

Кроме того, для каждой группы пользователей можно настроить свою политику безопасности: Привязать сессию к IP-адресу или сети по маске, определить срок активности сессии и время пока авторизация будет оставаться активной, определить, сколько одновременных авторизаций может быть выполнено для одного пользователя, задать длину пароля и его сложность.

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

Журнал событий

Помимо Журнала вторжений, о котором я уже писал выше, в Битриксе есть еще один — Журнал событий. Здесь логируются события, связанные с авторизацией и регистрацией пользователей, работой разных юзеров с правами доступа, редактирование ими файлов и меню, работа с контентом в информационных блоках (новости, товары, фото и т. п.), что позволяет вести мониторинг основных действий в системе.

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

Настройка главного модуля

Настройка в Главном модуле параметров журнала событий.

Настройки журналирования в инфоблоке

Настройки параметров для журнала событий в инфоблоке.

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

Монитор качества

Нельзя отрицать, что безопасность сайта, равно как и другие его характеристики (например, быстродействие), зависят во многом от качества разработки. Чтобы помочь владельцу сайта оценить, насколько хорошо сделан его проект, все ли важные нюансы были учтены и/или включены и настроены разработчиком, в битриксе реализован этот инструмент.

Сканирование сайта монитором качества

Результаты автоматического тестирования сайта монитором качества.

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

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

Детальная настройка CAPTCHA

Капча (CAPTCHA)  – старый добрый инструмент защиты от действий ботов. У стандартной капчи есть большой минус, они легко решаются в полуавтоматическом режиме. В 1С-Битрикс есть возможность гибко настраивать капчу. Задавать массу параметров в ее отображении, изменять шрифт, определять какие символы будут выводиться в капче, а какие нет. Такая настройка очень удобная. Например, отличный вариант — капча с кириллицей. А чтобы пользователи не путались, какую буквe им нужно написать, английскую или русскую, можно оставить только цифры и буквы алфавита, которых нет в латинице. Часто этого бывает достаточно, чтобы обмануть и ботов и индусов, которые промышляют решением капч.

Гибкая настройка капчи в битриксе

Настройка параметров отображения капчи.

Защита от автоматических регистраций

Чтобы боты не регистрировались на сайте автоматически, в настройках главного модуля есть возможность включить подтверждения регистрации по емейл, а чтобы с одного емейла не регистрировались дважды, включить проверку на уникальность. Там же, в настройках главного модуля, можно включить Капчу для регистрации новых пользователей.

Защита от авторегистраций ботов

Защита от подбора пароля

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

Работоспособность сайта

Безопасность сайта это не только защита от хакеров. Это еще и возможность в случае аварии быстро восстановить сайт. Поэтому в данной статье будут рассмотрены, в том числе и эти инструменты.

Все перечисленные в этом разделе возможности, доступны в Битриксе начиная с младшей редакции «Старт».

Резервное копирование

Сайт — это софт — программное обеспечение и информация. Сам по себе софт сломаться не может. Но может сломаться железо на котором все ваше добро работает. Хостеры серьезно подходят к такого рода безопасности, но шансы потерять все что нажито непосильным трудом тем не менее имеются. Можно найти в интернете немало случаев, когда после аварии у хостера клиент терял свой сайт. Резервных копий у хостера почему-то не оказывалось, владелец их тоже не имел. Остается один вариант – заказывать сайт / интернет-магазин заново. Ждать пару месяцев пока все будет готово, наполнять материалами, продвигать.

Чтобы такого не случалось, продуманные пользователи делают резервные копии и держат их в другом месте, не в той же корзине где лежат все яйца. Не каждый это умеет делать, поэтому в Битриксе возможность резервного копирования реализована очень просто и в разных вариантах. Фактически в пару кликов мышкой. Что именно есть:

Свернуть весь сайт в архив

В этом случае весь сайт (или на выбор, контент /ядро / база данных) будет свернут в аккуратный архив и размещен в специальной папке на сайте. Есть настройка, по которой можно отключить резервное копирование какой-то одной папки или файлов определенного типа. Например, если на сайте хранится видео, можно исключить эту папку из бакапа, чтобы он не был слишком большим. Или если вы знаете, что ядро сайта у вас не менялось, но работа с данными идет каждый день, можно бакапить только публичную часть и БД.

Настройка архивирования сайта

Если сайт большой, то архив будет автоматически порезан на части, размер каждой части можно задавать вручную или оставить по умолчанию. При желании архив можно защитить паролем.

Настройка режима архивации

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

Автоматическое регулярное резервное копирование

Чтобы сократить ручную работу и человеческий фактор («забыл сделать очередной бакап»), в Битриксе можно настроить автоматическое резервное копирование по расписанию.

Настройка резервного копирования порасписанию

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

Удаление старых резервных копий

Автоматический backup в «облако»

Но у хранения резервных копий, там же где лежит сайт, есть минус — в случае серьезной проблемы на сервере, резервная копия тоже будет потеряна. Поэтому хранить резервную копию нужно отдельно от сайта. Это значит, что время от времени нужно копировать резервные копи на другой сервер / хостинг / в облако или к себе в компьютер.

Правило надежного бекапа: «Хранить бекап нужно не на том сервере, где лежит то, что бекапишь».

Чтобы снять с пользователя эту рутину, в Битриксе есть возможность делать резервные копии сразу в облако. Всё то же самое, что описано выше, но после завершения архивации, копия автоматически заливается в облачное хранилище Битрикса или внешнее подключенное к сайту облачное хранилище, например Amazon S3. Плюс для рядового пользователя в том, что облачное хранилище встроено в Битрикс и ничего подключать и настраивать не нужно.

В своем облаке 1С-Битрикс выделяет бесплатно для каждой лицензии определенный объем места под хранение резервных копий:

  • 1 Гб. Для редакции Старт,
  • 2 Гб. Для «Стандарт»,
  • 6 Гб. Для редакции «Эксперт»,
  • 4 Гб. Для «Малого бизнеса»
  • 10 для Бизнес-редакции.

Не слишком много, но этого достаточно чтобы держать в безопасности 1-2 последних резервных копии. При желании бесплатное место в облаке битрикса можно расширить просто докупив его. Или подключить стороннее облако.

Резервное копирование сайта в облако

Поддержка облачных хранилищ

Напрямую к безопасности это отношения не имеет, но раз уж начал говорить про облачные хранилища, нужно сказать, что облака подключаются без проблем и работают не только для резервного копирования. За это отвечает специальный модуль, доступный во всех редакциях, начиная со «Старт». После подключения облака к Битриксу, можно настроить в нем хранение файлов любых типов. Например, чтобы все видео, загружаемое на сайт, автоматически размещалось в облаке и для пользователя отдавались именно оттуда. Для некоторых задач это полезно, позволяет разгрузить хостинг и ускорить загрузку инфы посетителями.

Подключаем к Битриксу внешние облачные хранилища

Инспектор сайтов

Облачный сервис от 1С-Битрикс, который позволяет мониторить несколько простых, но важных параметров на сайтах и интернет-магазинах, которые работают под управлением битрикса:

  • Мониторит работу сайта. Открывается сайт или нет, сколько времени простаивал. Яндекс.Метрика это тоже делает, но этот сервис показывает инфу более детально.
  • Проверяет когда закончится домен и уведомляет по почте. Регистратор тоже уведомляет, но бывают случаи когда лицо ответственное за сайт и тот на кого зарегистрирован домен — разные люди. Тогда ответственный за сайт, может не получить емейла от регистратора домена. Чтобы такого не произошло, его уведомит инспектор сайтов.
  • Срок истечения лицензии 1С-Битрикс. Казалось бы, не слишком важно. На самом деле экономит деньги. Ведь приобретение льготного продления составляет 20% от стоимости лицензии. Главное, успеть его приобрести в течение 30 дней после окончания лицензии. Не успели, в следующий раз придется оплачивать уже 60% от стоимости. Поэтому важно не пропустить нужную дату.
  • Проверять отвечает ли сайта по протоколу https.
  • Срок действия SSL сертификата. Проверит и напомнит, когда придет время продлевать SSL-сертификат.

Настройка параметров инспектирования

Проставляем галочки что хотим инспектировать.

Результаты инспектирования

Так выглядят результаты инспектирования.

Заключение

Сложно спорить, что безопасность сайта, штука важная. Особенно если это интернет-магазин или сайт компании, от работы которого зависит репутация и заработок.  Битрикс дает отличные инструменты для работы с безопасностью. Не берусь утверждать, но думаю что в плане защищенности это одна из лучших коробочных CMS в мире.

Все выводы по этой статье я вынес в начало. Повторять их здесь нет смысла. Надеюсь, эта статья помогла вам. Если да, сделайте репост, мне будет приятно :-)

21 июля 2016

19 маркетинговых инструментов для увеличения продаж из CMS 1С-Битрикс

Клиенту не нужно продавать, нужно помогать ему покупать (с).

17 сентября 2017

Делать магазин на бесплатной CMS или купить готовое решение на 1С-Битрикс?

Иллюзия выбора.

1 декабря 2016

Минусы Битрикса с точки зрения обычного пользователя

Позитива пост.

23 мая 2016

Готовое решение или разработка с нуля, что выбрать для интернет-магазина?

3 мая 2016

Ключ от квартиры, где деньги лежат: проблемы с безопасностью о которых клиенты не думают

Безопасность в опасности.

30 декабря 2015

My website is working perfectly on a localhost ‘Wamp’ server. However, as soon as I upload it to my web host for others to use, I get the following error:

Host ‘stats.starfish.arvixe.com’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’

I cannot perform a ‘flush-hosts’ command, since I am using a shared host and lack the privileges.

I’ve searched extensively online, and I can’t find a solid answer as to what may be causing my connection errors. The site works for a bit, but as soon as multiple people start using it, MySQL blocks my web host because it has too many connection errors.

Is there any sort of log I can access or view that may inform me as to what is causing the connection error?

  • Ошибка сохранения документа t flex
  • Ошибка сохранения данных попробуйте повторить позже
  • Ошибка сохранения данных 400 госуслуги
  • Ошибка сохранения rocket league epic games
  • Ошибка сохранения pdf файла pdf файл уже открыт или не подлежит редактированию