Skip to content

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

Maksim Arhipov edited this page Oct 14, 2025 · 1323 revisions

Введение

Open Server Panel — это мощная альтернатива WAMP-стекам, таким как Xampp, Wampserver, Laravel Herd, EasyPHP, Vertrigo и подобным им решениям. Приложение работает на ОС Windows, поддерживает Apache и Nginx в качестве веб-сервера и предоставляет возможность запускать различные версии PHP, MySQL, PostgreSQL, MongoDB и других популярных модулей. Если у вас есть опыт работы с подобным ПО, освоение Open Server Panel не составит труда.

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

Для полноценной работы Open Server Panel требуется:

Компонент Требования
Операционная система Windows 10 / Windows Server 2016 или новее
Свободные аппаратные ресурсы Минимум 4 ГБ RAM и 15 ГБ SSD
Обязательное ПО MSVC++ Redistributable Packages (включено в комплект поставки)
Файловая система NTFS (сетевые диски не поддерживаются)

Caution

Не поддерживаются Linux, macOS, Windows XP, Windows 7, Windows 8, 32-битные системы, процессоры без SSE4.2.

При ограниченном объеме оперативной памяти (менее 4 ГБ) может потребоваться ограничение количества одновременно запускаемых модулей. На малопроизводительных компьютерах рекомендуется запускать не более одного модуля каждого типа одновременно.

Начало работы

Рекомендации по установке

  • Место установки: Для оптимальной производительности рекомендуется устанавливать Open Server Panel на SSD‑накопитель. Использование HDD допустимо, однако приводит к значительным задержкам и ограничению скорости работы модулей.
  • Неподдерживаемые конфигурации:
    • USB-флеш-накопители: Не рекомендуется использовать USB-флеш-накопители для установки Open Server Panel, так как это может привести к быстрому износу устройства и значительно снизить производительность.
    • Внешние носители с USB 2.0: Использование внешних носителей информации с устаревшим интерфейсом USB 2.0 не рекомендуется из-за низкой скорости передачи данных.

Установка

  1. Загрузка дистрибутива:

  2. Запуск установщика:

    • Рекомендуется устанавливать Open Server Panel в корень диска (например, C:\OSPanel).
    • Разрешенные символы в пути к каталогу установки: A-Za-z0-9-+\_.\:
    • Портативная установка: Выбирайте этот вариант, только если планируете использовать Open Server Panel на разных компьютерах и устанавливаете его на переносной носитель. В остальных случаях рекомендуется стандартная установка.
    • Выберите необходимые компоненты для установки и дождитесь завершения их распаковки
  3. Запуск System Preparation Tool:

    • После завершения установки запустите System Preparation Tool. Для запуска этой утилиты требуются права администратора.
    • Исключения: Запуск System Preparation Tool не требуется, если вы устанавливаете только недостающие модули, а Open Server Panel той же версии уже установлен.
  4. Настройка VPN/прокси:

    • Исключения: Добавьте подсеть 127.0.0.0/8 в исключения вашего VPN/прокси сервиса.
    • WARP 1.1.1.1: Если вы используете Cloudflare WARP, необходимо также добавить эту подсеть в исключения, поскольку WARP перенаправляет все запросы через свой прокси. Без правильной настройки исключений служебные утилиты не смогут корректно взаимодействовать с Open Server Panel, что приведет к ошибкам соединения.
    • Браузеры: В используемых браузерах также требуется настроить исключение для локальной подсети в настройках прокси/VPN расширений. Если вы используете браузерные VPN или прокси, добавьте туда то же исключение.
    • DNS-over-HTTPS/TLS: В современных браузерах часто включены защищенные DNS-провайдеры (DoH, DoT), такие как Cloudflare, Google или Firefox Trusted Recursive Resolver. Эти сервисы могут блокировать доступ к локальным доменам Open Server Panel. Необходимо отключить DNS-over-HTTPS/TLS в настройках браузера или добавить исключения для локальных доменов при работе с Open Server Panel.
  5. Настройка файрвола/антивируса:

    • Исключения: Добавьте каталог Open Server Panel в исключения вашего файрвола/антивируса.
    • Защита файла HOSTS: Если ваш файрвол/антивирус защищает файл HOSTS и игнорирует программы, добавленные в исключения, отключите эту функцию.
    • Отслеживание трафика: Отключите функцию отслеживания или перехвата сетевого трафика в вашем файрволе/антивирусе. Такие действия со стороны защитного ПО могут замедлить работу с локальными проектами, вызвать проблемы с SSL-сертификатами и привести к другим непредвиденным ошибкам.

Влияние антивируса на работу программы

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

  1. Сканировать программу при каждом запуске:

    • Антивирус будет проверять исполняемые файлы программы (например, .exe) на наличие вредоносного кода.
  2. Сканировать файлы, с которыми работает программа:

    • Антивирус будет анализировать любые файлы, которые открывает или создает программа (например, файлы проекта, конфигурации, временные файлы и т. д.), чтобы предотвратить потенциальные угрозы.
  3. Замедлять работу программы:

    • Постоянное сканирование файлов в реальном времени может значительно снизить производительность, особенно если программа активно взаимодействует с большим количеством файлов или выполняет частые операции чтения/записи.
  4. Блокировать определенные действия:

    • Если программа взаимодействует с сетью, антивирус может отслеживать её сетевые запросы. Это иногда вызывает конфликты, такие как проблемы с SSL-сертификатами или замедление соединения. Например, известны случаи, когда Composer отказывался работать из-за подмены сертификата антивирусом.

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

Структура каталогов

.
├── addons                    # Дополнения
│   └── <имя_дополнения>      # Основной каталог дополнения
│       └── ospanel_data      # Служебные файлы (настройки и конфиги)
├── bin                       # Общие исполняемые файлы
├── config                    # Настройки
│   └── <имя_модуля>          # Настройки модуля
│       ├── default           # Каталог профиля Default
│       │   ├── templates     # Шаблоны конфигурации
│       │   └── settings.ini  # Настройки модуля для профиля Default
│       └── module.ini        # Базовые настройки модуля (вкл/выкл + имя профиля)
├── data                      # Хранилище данных (базы данных и др.)
├── home                      # Пользовательские проекты (домены)
├── licenses                  # Лицензии на компоненты сторонних производителей
├── logs                      # Файлы журналов
│   └── domains               # Журналы проектов
├── modules                   # Модули
│   └── <имя_модуля>          # Основной каталог модуля
│       └── ospanel_data      # Служебные файлы (исходники настроек и конфигов)
├── system                    # Служебный каталог программы
│   └── lang                  # Языковые файлы
├── temp                      # Временные файлы
└── user                      # Пользовательские данные
    └── ssl                   # Пользовательские файлы SSL (ключи, сертификаты и др.)

Первый запуск

Caution

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

  1. Запуск программы:

    • Запустите Open Server Panel из меню «Пуск» или вручную, выполнив файл .\bin\ospanel.exe (для портативной установки).
    • Убедитесь, что значок Open Server Panel появился в области уведомлений Windows.
  2. Анализ ошибок запуска (при необходимости):

    • Если программа не запускается, проверьте её журнал.
    • Распространенные ошибки веб-сервера:
      • Address already in use (#10048 in listen: Bind): Указанный IP-адрес и порт уже используются другим приложением. Измените настройки IP/порта API в конфигурации Open Server Panel или в настройках конфликтующего приложения.
      • Permission denied (#10013 in listen: Bind): Отказано в разрешении на использование указанного IP-адреса и порта. Настройте системный файрвол, чтобы разрешить Open Server Panel доступ к сети.
      • ospurl.exe не удалось установить связь с API программы: Настройте системный файрвол и/или прокси, чтобы разрешить утилитам, которые входят в состав программного комплекса, сетевой доступ к API Open Server Panel и к сети Интернет.
  3. Запуск CLI-интерфейса:

    • Откройте CLI-интерфейс: Меню -> Интерфейс командной строки.
    • Ошибка The system cannot write to the specified device: Измените шрифт консоли на совместимый с кодировкой UTF-8 (например, Consolas) и перезапустите CLI-интерфейс.
    • Проверка логов: Выполните команду osp log general в CLI-интерфейсе, чтобы проверить наличие ошибок или предупреждений в журнале программы.
  4. Инициализация корневого CA-сертификата (при необходимости):

    • Если корневой CA-сертификат не был создан во время установки, выполните команду osp cacert init в CLI-интерфейсе.
  5. Подготовка системы (при необходимости):

    • Если System Preparation Tool не был запущен во время установки, запустите его с помощью команды osp sysprep в CLI-интерфейсе.
    • Важно: После завершения подготовки системы обязательно перезагрузите компьютер.

Important

Open Server Panel не будет работать корректно без предварительной подготовки системы с помощью System Preparation Tool. Подробнее о функциях утилиты можно узнать здесь.

Готово!

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

  1. В меню программы выберите версию PHP для каждого проекта.
  2. Включите выбранные модули.

Важно: Обратите внимание, что все модули по умолчанию отключены.

Установка дополнительных модулей

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

Использование портативной версии на другом компьютере

При использовании портативной версии Open Server Panel на другом компьютере необходимо установить корневой SSL-сертификат и выполнить подготовку системы на этом компьютере. Для этого запустите CLI-интерфейс и выполните команды osp cacert init и osp sysprep.

Создание проектов

Пример создания проекта

1. Создайте структуру папок

  • Создайте корневой каталог проекта, например: home\example.local.
  • Внутри него создайте:
    • папку .osp — для файлов настроек;
    • при необходимости папку public — для файлов вашего веб‑проекта.

2. Перезапустите Open Server Panel

  • После перезапуска проект будет автоматически обнаружен.

  • В каталоге .osp появится базовый набор файлов настроек, включая project.ini.

  • Выберите и измените версии движков (HTTP/NODE/PHP) через меню программы.

    Если вашему проекту нужны дополнительные модули, не входящие в выбранные движки, укажите их в параметре environment файла project.ini через пробел, затем снова перезапустите Open Server Panel.

3. Включите модули проекта

  • В меню программы выберите пункт «Включить модули проекта» для активации нужных модулей.

Важно:

  • Имя проекта (домена) не может быть auto — это служебное имя.
  • Если в одном корневом каталоге размещено несколько проектов, вы можете добавить несколько конфигурационных блоков в один файл project.ini.

Импорт корневого SSL-сертификата

Если ваш браузер не использует хранилище сертификатов Windows (например, Firefox), импортируйте корневой сертификат Open Server Panel вручную:

  1. Firefox: Настройки -> Сертификаты -> Просмотр сертификатов... -> Вкладка "Центры сертификации" -> Импортировать...
  2. Путь к сертификату: data\ssl\root\cert.crt
  3. Перезапустите браузер

Important

Повторите импорт сертификата после каждого пересоздания корневого сертификата с помощью команды osp cacert init.

Дополнительная информация

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

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

Выбор консоли

Open Server Panel по умолчанию использует CMD.exe (стандартный интерпретатор командной строки Windows). Выбор консоли осуществляется с помощью настроек программы.

Tip

Для более удобной и современной работы рекомендуется установить и использовать Windows Terminal. Windows Terminal — это новое приложение для работы с командной строкой, поддерживающее различные оболочки, включая Command Prompt, PowerShell и WSL.

Важно:

  • PowerShell не поддерживается. Не используйте PowerShell для работы с Open Server Panel.
  • При использовании Windows Terminal выбирайте профиль «Командная строка», а не «Windows PowerShell».

Управление (CLI)

Использование: osp <команда> [<аргументы>]

Управление средой:

add     <MODULE|ADDON>      Объединить среду указанного модуля или дополнения с текущей средой
info                        Показать информацию о текущей среде
project <DOMAIN>   [start]  Активировать среду проекта и перейти в его корневой каталог
                            Используйте [start] для запуска проекта (если настроено)
                            Не указывайте никакие аргументы для запуска селектора проектов
                            Используйте домен "auto" для определения проекта по текущему каталогу
reset   [init]              Сбросить текущую среду в консоли (оригинальная среда системы)
                            Используйте [init] для инициализации интерфейса командной строки
use     <MODULE|ADDON>      Применить среду указанного модуля или дополнения
                            При выключенном модуле часть функций (утилиты, команды,
                            работа с базами данных) может быть недоступна!

Управление модулями:

init    <MODULE> [PROFILE]  Перечитать настройки модуля и пересоздать временные файлы (конфиги)
                            При необходимости укажите новый активный профиль настроек модуля
                            Эта команда недоступна для модулей находящихся в активном состоянии!
                            Примените среду модуля повторно (команда "use" или "add"), если она
                            сейчас активна, а настройки или профиль настроек изменились!
off     <MODULE>            Выключить модуль
on      <MODULE> [PROFILE]  Включить модуль (при необходимости укажите новый активный профиль)
restart <MODULE> [PROFILE]  Перезапустить модуль (при необходимости укажите новый активный профиль)
shell   <MODULE>            Запустить shell или интерфейс командной строки модуля (если доступно)
status  <MODULE>            Показать информацию о статусе модуля

Управление Node.js:

node    install <N>         Установить версию Node.js. Варианты номера версии <N>:
                            - конкретный номер версии
                            - "latest" для последней версии
                            - "lts" для последней LTS версии
                            После установки используйте команды "osp use Node-x.x.x" или
                            "osp add Node-x.x.x" с полным номером версии
node    list   [available]  Показать список установленных версий Node.js
                            Используйте флаг [available] для просмотра доступных версий Node.js
node    uninstall <N>       Удаление ранее установленной версии Node.js

Другие команды:

addons                      Показать информацию о дополнениях
cacert  <init|show|deinit>  Сгенерировать и установить|показать|удалить корневой сертификат (ЦС)
                            При установке нового все старые корневые сертификаты (ЦС) будут удалены
                            Перезапустите браузер для применения нового корневого сертификата
convert <DOMAIN>            Конвертировать имя домена из/в Punycode
exit                        Завершить работу программы (текущая среда будет сброшена)
log     <PATTERN> [N]       Показать журналы по фильтру пути к файлу (последние N строк)
                            Используйте регулярное выражение для выбора выводимых журналов
                            Показать все журналы модуля PHP-8.0: osp log php-8\.0
                            Показать все журналы доступа к доменам: osp log domains\\(.+)_access
                            Показать все журналы программы: osp log "\\(general|api|scheduler)"
                            Показать все доступные журналы (последние 15 строк): osp log . 15
modules                     Показать информацию о модулях
projects                    Показать информацию о проектах
status                      Показать статус всех систем (заданий, доменов, дополнений и модулей)
sysprep [silent|ssd]        Запустить инструмент подготовки операционной системы
                            Добавьте [silent] для запуска подготовки системы в тихом режиме
                            Флаг [ssd] аналогичен [silent] (но с оптимизацией настроек под SSD)
                            Подготовка в тихом режиме выполняется автоматически, прогресс
                            не отображается. После завершения система будет перезагружена!
tasks                       Показать информацию о заданиях планировщика
version                     Показать информацию о версии программы

Примеры использования:

osp exit & ospanel          Перезапуск программы
osp use PostgreSQL-9.6      Применение в консоли среды модуля PostgreSQL-9.6
osp on PHP-8.1 myprofile    Включение модуля PHP-8.1 со сменой профиля настроек на MyProfile
osp restart mysql-8.0       Перезапуск модуля MySQL-8.0 (имя модуля принимается в любом регистре)
osp reset & osp add bind    Объединение системной среды со средой Bind

Вспомогательные утилиты:

aria2c                      Утилита для загрузки файлов по протоколам HTTP(S), (S)FTP и BitTorrent
bat                         Клон cat (linux) с подсветкой синтаксиса и интеграцией Git
brotli                      Утилита для сжатия данных без потерь с открытым исходным кодом
curl                        Инструмент командной строки для передачи данных с помощью URL-адресов
dust                        Утилита похожая на du (linux), но более интуитивная и понятная!
fd                          Простая и быстрая утилита для поиска записей в файловой системе
goipelookup                 Программа для определения геолокации по IP‑адресу
goipelookup6                Программа для определения геолокации по IP‑адресу v6   
jq                          Лёгкий и гибкий JSON-процессор командной строки
mmdbinspect                 Инструмент для поиска записей в одной или нескольких базах данных .mmdb
oha                         Утилита нагрузочного тестирования HTTP‑сервисов
sass                        Dart Sass — популярный компилятор SASS/SCSS файлов
sd                          Интуитивно понятная программа для поиска и замены текста в файлах
sqlite3                     Консольный клиент для работы с базами данных SQLite
wget                        Неинтерактивная консольная программа для загрузки файлов по сети
xh                          Удобный и быстрый инструмент для отправки HTTP-запросов

Для следующих команд CLI доступен аргумент silent, который подавляет вывод всех информационных сообщений, кроме предупреждений и сообщений об ошибках:

  • osp use ...
  • osp add ...
  • osp project ...
  • osp reset
  • osp reset init

Для команды osp reset init вместо аргумента silent можно использовать аргумент noprint, чтобы подавить вывод сведений о среде.

Для osp off ... вместо имени модуля можно использовать аргумент all.

Среда процесса

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

  • Каждый запущенный процесс в системе имеет свою среду, поэтому её часто называют средой окружения процесса.
  • В консоли для просмотра переменных среды и их значений используйте команду set.

Наследование среды

Open Server Panel наследует среду родительского процесса (обычно explorer.exe, т.е. стандартную системную среду) при запуске и сохраняет её до завершения работы.

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

Изолированная среда модулей

Модули Open Server Panel работают в собственной изолированной среде, которая формируется следующим образом:

  1. Фильтрация системной среды: Из системной среды удаляются переменные, которые не указаны в списке разрешенных переменных в настройках программы или модуля.
  2. Добавление переменных: К отфильтрованной среде добавляются дополнительные переменные, заданные в настройках программы или модуля.

Управление средой модулей

  • Предварительно настроенная среда: Для всех модулей Open Server Panel настроена готовая к использованию среда, которую можно активировать командой osp use ....
  • Быстрый запуск shell/cli: Для запуска shell/cli оболочки модуля используйте команду osp shell .... Активация или присоединение среды модуля не требуется.

Смена среды

Текущая среда всегда отображается в заголовке окна консоли (или в названии вкладки), например: PHP-8.0 + MySQL-5.7 | Open Server Panel.

  • Объединение сред: Модули разных типов можно объединить в одну среду с помощью команды osp add ....
  • Конфликты имен переменных: При наличии переменных с одинаковыми именами в разных средах, финальное значение переменной берется из среды модуля, подключенного последним (кроме переменной PATH, значения которой объединяются).
  • Переключение между проектами: Для переключения между проектами в консоли используйте команду osp project ..., которая активирует среду проекта (PHP/Apache/Node + модули и дополнения, заданные опцией environment в файле project.ini) и переходит в его корневой каталог (см. project_dir).

Включение нескольких модулей

Для одновременного запуска нескольких модулей используйте команду osp on для каждого модуля:

osp on Redis
osp on MySQL-5.7
osp on PHP-7.4

Important

Для корректной установки пути к каталогу временных файлов (переменные TMP и TEMP) подключайте самый важный модуль последним.

Комбинация сред

Без изоляции переменной PATH

Для объединения сред нескольких модулей без изоляции от системной переменной PATH используйте следующие команды:

osp reset
osp add Redis
osp add MySQL-5.7
osp add PHP-7.4

С изоляцией переменной PATH

Для объединения сред нескольких модулей с изоляцией от системной переменной PATH используйте следующие команды:

osp use Redis
osp add MySQL-5.7
osp add PHP-7.4

Пример вывода в консоль

После выполнения команд вы увидите следующий вывод в консоли:

Redis: Рабочий процесс модуля успешно запущен
MySQL-5.7: Рабочий процесс модуля успешно запущен
PHP-7.4: Рабочий процесс модуля успешно запущен
Текущая среда: Redis
Текущая среда: Redis + MySQL-5.7
Текущая среда: Redis + MySQL-5.7 + PHP-7.4

Использование объединённой среды

Теперь вы можете работать с PHP-7.4, MySQL-5.7 и Redis одновременно:

php -v
mysql -V
redis-cli -v

Работа с инструментами разработки

  • Готов к использованию: Composer предустановлен и готов к работе без дополнительной настройки.
  • Активация среды: Для работы с Composer в консоли активируйте среду любого проекта или модуля PHP.
  • Изолированные версии: Каждый модуль PHP имеет собственную версию Composer и отдельный домашний каталог.

Пример установки Zephir в PHP 7.4 с помощью Composer:

  1. Включение расширения: Раскомментируйте строку extension=zephir_parser в файле .\config\PHP-7.4\default\templates\php.ini.
  2. Перезапуск PHP: Выполните команду osp restart php-7.4 в CLI-интерфейсе (Меню -> Интерфейс командной строки).
  3. Активация среды: Выполните команду osp use php-7.4.
  4. Установка Zephir:
    cd %COMPOSER_HOME%
    composer require phalcon/zephir
    
  5. Проверка установки: Выполните команду zephir help.

NVM (Node Version Manager)

  • Встроенный инструмент: NVM включен в дистрибутив Open Server Panel и устанавливается как дополнение.
  • Работа через прослойку: Взаимодействие с NVM осуществляется через специальную прослойку с помощью команды osp node ....
  • Настройка команды запуска: Задайте команду запуска приложения в настройках проекта, используя параметр start_command.
  • Пример: start_command = nodemon app.js

Tip

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

Important

При работе с NVM обращайте внимание только на сообщения об ошибках. Игнорируйте советы NVM по использованию команд nvm ... — они недоступны в Open Server Panel. Такая реализация NVM обусловлена тем, что оригинальный NVM не поддерживает одновременное использование нескольких версий Node.js.

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

Встроенный планировщик заданий работает аналогично демону Cron в системах Unix. Задания планировщика описываются в файле <проект>\.osp\tasks.ini.

Important

Для применения изменений в файле tasks.ini необходимо перезапустить Open Server Panel.

  • Базовый каталог: Все задания запускаются в базовом каталоге проекта (см. base_dir).
  • Статус проекта: Задания не выполняются, если проект находится в статусе «Выключен» или «Ошибка».

Секция [имя_домена]

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

План выполнения задания состоит из 7 колонок, разделяемых пробелами. Колонки задают время выполнения и настройки задания (минута, час, день, месяц, день недели, лимит, выключатель). В первых 5-ти колонках может находиться число, список чисел, разделённых запятыми, диапазон чисел, разделённых дефисом, символы * или /. В колонках 6-7 могут находится только числа и символ *.

* * * * * * * команда
- - - - - - -
| | | | | | |
| | | | | | ----- включение/выключение задания (* или 1 - включено, 0 - выключено)
| | | | | ------- лимит на количество запусков (* или 0 - безлимитно)
| | | | --------- день недели (1—7)
| | | ----------- месяц (1—12)
| | ------------- день месяца (1—31)
| --------------- час (0—23)
----------------- минута (0—59)

Примеры:

15 14 1 * * * *       # выполнять 1 числа каждого месяца в 14 часов 15 минут
0 22 * * 1-5 * *      # каждый рабочий день в 22:00
23 */2 * * * * *      # выполнять в 0:23, 2:23, 4:23 и т.д.
5 4 * * 7 * *         # выполнять в 4:05 по воскресеньям
15 10,13 * * 1,4 * *  # выполнять в понедельник и четверг в 10:15 и 13:15
* * * * * * *         # выполнять ежеминутно
0-59/2 * * * * * *    # выполнять по чётным минутам
1-59/2 * * * * * *    # выполнять по нечётным минутам
*/5 * * * * * *       # выполнять каждые 5 минут
* * * * * 1 0         # выполнить 1 раз после запуска программы (задание выключено)

В заданиях планировщика можно использовать следующие шаблонные переменные:

Переменная Описание
{app_start_command} Команда запуска приложения проекта (если настроена)
{backend_ip} IP-адрес подключения к серверной части (Backend)
{backend_port} Порт подключения к серверной части (Backend)
{base_dir} Корневой каталог проекта (где находится каталог .osp)
{base_url} URL проекта
{date_time} Текущая дата/время
{host} Имя домена (для интернационализированных доменов используется Punycode)
{host_decoded} Видимое имя домена (без Punycode)
{host_scheme} Схема запроса к проекту ("http" или "https", зависит от параметра SSL в настройках проекта)
{http_engine} Движок веб-сервера
{http_port} Порт запроса к проекту по протоколу HTTP
{https_port} Порт запроса к проекту по протоколу HTTPS
{node_engine} Движок Node.js
{php_engine} Движок PHP
{project_root} Корневой каталог проекта
{root_dir} Корневой каталог Open Server Panel (полный путь)
{root_drive} Диск корневого каталога
{root_path} Путь к корневому каталогу Open Server Panel
{scheme_port} Порт запроса к проекту (":{http_port}"" или ":{https_port}", зависит от параметра SSL в настройках проекта).

Если {http_port} или {https_port} имеет стандартное значение 80 или 443, то {scheme_port} будет пустым.
{terminal_codepage} Кодировка консоли (см. terminal_codepage)
{web_root} Публичный каталог проекта

Помимо шаблонных переменных, можно использовать любые переменные среды Windows, например: %SYSTEMROOT%, %SYSTEMDRIVE%, %USERNAME%, %PATH% и т.д.

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

Выполнение команды в среде проекта

Имя задания обязательно.

Пример файла tasks.ini:

[example.local]

Запуск Node-приложения  = * * * * * 1 * cmd.exe /c "osp project {host} start"
Резервное копирование   = */5 * * * * * * cmd.exe /c "tar -czf {base_dir}\.osp\backup\{host_decoded}.tar.gz -C {public_dir} *"
Laravel Schedule        = * * * * * * * cmd.exe /c "osp project {host} & php artisan schedule:run"

[forum.example.local]

Вызов cron.php по HTTPS = */30 * * * * * 0 wget.exe --secure-protocol=TLSv1_2 -q --no-cache https://{host}/cron.php -O nul
Вызов cron.php из PHP   = 0-59/2 * * * * * * cmd.exe /c "osp project {host} & php -f cron.php"
Резервное копирование   = */5 * * * * 1 * cmd.exe /c "tar -czf {base_dir}\.osp\backup\{host_decoded}.tar.gz -C {public_dir} *"

Пример задания с сохранением вывода в файл:

[my-project.loc]

Тестовое задание        = * * * * * * * cmd.exe /c "osp project {host} & php -f {base_dir}\script.php >> {base_dir}\log.txt"

В этом примере задание запускается каждую минуту и выполняет скрипт script.php, используя выбранный для проекта модуль PHP. Результат выполнения скрипта записывается в файл log.txt.

Работа с модулями

Основные принципы

  • Модули по умолчанию выключены: Перед началом работы включите необходимые модули.
  • Параллельная работа: Модули могут запускаться параллельно без конфликтов.
  • Изолированная среда: Каждый модуль работает в своей изолированной среде, что предотвращает конфликты с другим ПО.
  • Поддержка однотипных модулей: Можно одновременно запускать несколько версий одного модуля (например, MySQL 5.7 и MySQL 8.0).
  • Локальные IP-адреса: По умолчанию все модули настроены на использование только локальных IP-адресов (кроме модулей DNS и Mail категорий).
  • Стандартные порты и учетные данные: Используются стандартные порты и логины. Пароли и ограничения по умолчанию отсутствуют. Эти настройки можно изменить.

Важно:

  • PostgreSQL и UAC: Запуск модулей PostgreSQL невозможен при отключенном контроле учетных записей (UAC) или запуске Open Server Panel с правами администратора.
  • Безопасность: Запуск Open Server Panel на публичных IP-адресах без дополнительной защиты крайне опасен. Это может привести к несанкционированному доступу к вашему компьютеру, вплоть до полного контроля над системой и потери данных.

Рекомендации по безопасности:

  • Надежные пароли: Задайте надежные пароли для всех пользователей, если это возможно.
  • Ограничение доступа: Настройте правила файрвола, разрешив доступ к модулям только с доверенных IP-адресов.

Дополнительные функции

  • Поддержка .user.ini: Модули PHP поддерживают файлы .user.ini на уровне каталога. PHP ищет .user.ini в каждой директории, начиная с директории запрашиваемого PHP-файла, и продолжает поиск до корневой директории проекта. В файлах .user.ini распознаются только INI-настройки с режимами INI_PERDIR и INI_USER.

Инициализация модулей

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

Инициализация модулей без их включения может быть полезна для:

  • Восстановления баз данных
  • Обновления хранилища данных
  • Проверки временных файлов конфигурации

Схема запуска модулей

На диаграмме ниже показана схема запуска модулей Open Server Panel:

%%{init: {'theme':'forest'}}%%
graph TD;

      A(Запуск<br>Open Server Panel)-->B(Инициализация модуля);
      B-->|"Провал"| C(Статус<br>'Ошибка');
      B-->|"Успех"| D(Проверка состояния);
      D-->|"Если выключён"| F(Статус<br>'Выключен');
      D-->|"Если включён"| G(Запуск модуля);
      G-->|"Провал"| C;
      G-->|"Успех"| H(Статус<br>'Включён');
      H-->|"Если процесс<br>неожиданно завершился<br>во время испытательного срока"| C;
      H-->|"Если процесс<br>неожиданно завершился"| G;
Loading

Описание:

  1. Запуск Open Server Panel: При запуске Open Server Panel происходит инициализация всех доступных модулей.
  2. Инициализация модуля: Проверяется конфигурация модуля и создаются временные файлы.
  3. Статус «Ошибка»: Если инициализация завершается неудачей, модуль переходит в состояние «Ошибка».
  4. Проверка состояния: Если инициализация прошла успешно, проверяется состояние модуля (включен/выключен).
  5. Статус «Выключен»: Если модуль выключен, он остается в этом состоянии.
  6. Запуск модуля: Если модуль включен, он запускается.
  7. Статус «Включён»: Если запуск прошел успешно, модуль переходит в состояние «Включён».
  8. Завершение процесса во время испытательного срока: Если процесс модуля неожиданно завершается во время испытательного срока (см. параметр probation в настройках модуля), модуль переходит в состояние «Ошибка».
  9. Завершение процесса: Если процесс модуля неожиданно завершается после испытательного срока, происходит повторный запуск модуля.

Подключение к модулям

Для подключения к модулям из PHP-скриптов и сторонних приложений используйте следующие параметры:

  • Хост: Имя модуля (например, MySQL-5.7). Регистр не имеет значения (mysql-5.7 или MYSQL-5.7 тоже допустимы). Можно добавить .local для совместимости с приложениями, требующими доменного имени (например, mysql-5.7.local).
  • Порт: Стандартный порт модуля.
  • Пользователь: Стандартный пользователь модуля (если применимо).
  • Пароль: Без пароля (если применимо).

Примеры подключения

Модуль Хост Порт Пользователь Пароль
MySQL-5.7 MySQL-5.7, mysql-5.7, mysql-5.7.local 3306 root -
Memcached Memcached 11211 - -
MongoDB-4.4 MongoDB-4.4 27017 - -
PostgreSQL-12 PostgreSQL-12 5432 postgres -
RabbitMQ-3.13 RabbitMQ-3.13 5672 - -
Redis Redis 6379 - -
SMTP 127.0.0.1 25 - -

SMTP-сервер:

  • Для запуска SMTP-сервера включите модуль Mailpit или Smtp4dev.
  • Для успешной обработки письма SMTP-сервером в отправляемом письме должен быть указан заголовок FROM.
  • Если заголовок FROM отсутствует, активируйте и заполните переменную sendmail_from в шаблоне файла php.ini.

Caution

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

Tip

В качестве универсального менеджера баз данных рекомендуется использовать DBeaver. DBeaver поддерживает различные типы баз данных (MySQL, MariaDB, PostgreSQL, SQLite), регулярно обновляется и стабильно работает.

Расширения PHP

Open Server Panel включает более 115 расширений PHP, которые по умолчанию отключены.

Чтобы активировать расширение:

  1. Раскомментируйте соответствующую строку в шаблоне файла конфигурации PHP (php.ini).
  2. Перезапустите PHP-модуль.

PHPINFO: PHP 7.2 | PHP 7.3 | PHP 7.4 | PHP 8.0 | PHP 8.1 | PHP 8.2 | PHP 8.3 | PHP 8.4

Note

Если расширение недоступно для определенной версии PHP, это означает, что разработчики расширения не предоставляют его для этой версии PHP.

Совместимость расширений

Caution

Не изменяйте порядок подключения расширений в шаблоне файла php.ini. Расширения подключаются в определенном порядке в зависимости друг от друга и могут не работать при изменении порядка активации.

Не включайте все расширения PHP подряд - запускайте только те, которые реально нужны вашим сайтам. Это даст два преимущества:

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

Например, если ваш сайт не работает с NoSQL базами Redis, расширение redis можно не включать.

Расширение Зависимость Несовместимость
blackfire Осторожно! Расширение может вызывать утечку памяти. ddtrace, ioncube, opcache, pcov, xdebug, xhprof
brotli apcu
couchbase apcu, igbinary, lz4, lzf
crypto openssl
ddtrace blackfire, ioncube, opencensus, pcov, xhprof
ev openssl, sockets
event openssl, sockets
exif mbstring
igbinary apcu
ioncube Осторожно! Расширение может вызывать сбои в работе PHP. ddtrace, blackfire, pcov, xhprof, xdebug
libevent sockets
lz4 apcu
mailparse mbstring
memcached apcu, igbinary, msgpack, lz4, lzf, zstd
mongodb apcu, openssl, zstd
msgpack apcu
oauth curl
opcache blackfire
При активации xdebug или pcov отключается JIT-компиляция.
pcov blackfire, ioncube, xdebug, xhprof
phalcon curl, fileinfo, gd2, gettext,
imagick, mbstring, openssl, pdo, psr
rdkafka simple_kafka_client
redis apcu, igbinary
simple_kafka_client rdkafka
solr curl
ssh2 openssl
stomp openssl
xdebug blackfire, ioncube, opencensus, pcov, xhprof
xhprof ddtrace, blackfire, ioncube, opencensus, pcov, xdebug
yac apcu, igbinary, msgpack Одновременная активация в нескольких модулях PHP недопустима!
yar curl, igbinary, msgpack
zstd apcu

Модули Apache

Модуль Ссылка
mod_antiloris https://www.monshouwer.eu/download/mod_antiloris/
mod_authn_ntlm https://github.com/YvesR/mod_authn_ntlm
mod_fcgid https://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
mod_jk https://tomcat.apache.org/connectors-doc/reference/apache.html
mod_limitipconn https://dominia.org/djao/limitipconn2.html
mod_log_dbd https://sourceforge.net/p/dbd-modules/wiki/mod_log_dbd/
mod_log_rotate https://github.com/JBlond/mod_log_rotate
mod_maxminddb https://github.com/maxmind/mod_maxminddb
mod_vhost_dbd https://sourceforge.net/p/dbd-modules/wiki/mod_vhost_dbd/
mod_view
mod_watch https://github.com/pld-linux/apache-mod_watch
mod_xsendfile https://tn123.org/mod_xsendfile/

Модули Nginx

В дистрибутив Open Server Panel добавлены следующие модули Nginx, отсутствующие в оригинальном дистрибутиве Nginx для Windows:

Модуль Описание
http_addition_module 📝 Добавление контента до и после ответа
http_auth_request_module 🔐 Аутентификация через внешний сервис
http_dav_module 📂 WebDAV методы
http_flv_module 🎬 Потоковое воспроизведение FLV
http_geoip_module 🌍 Геолокация по IP (legacy)
http_gunzip_module 📤 Декомпрессия для клиентов
http_gzip_static_module 🗜️ Предварительно сжатые файлы
http_image_filter_module 🖼️ Обработка изображений
http_mp4_module 🎥 Потоковое воспроизведение MP4
http_random_index_module 🎲 Случайный индексный файл
http_realip_module 🌐 Получение реального IP клиента
http_secure_link_module 🔗 Защищенные ссылки
http_slice_module ⚡ Кеширование больших файлов частями
nginx_brotli_module 🗜️ Продвинутое сжатие Brotli
nginx_fancyindex 🎨 Красивые страницы каталогов
nginx_http_geoip2_module 🗺️ Современная геолокация (MaxMind)
poll_module ⚡ Оптимизированная обработка событий
stream_geoip_module 🌐 Геолокация для TCP/UDP
stream_realip_module 📡 Реальный IP для потоков

Настройка проектов

Файл конфигурации

Настройки проекта хранятся в файле <проект>\.osp\project.ini.

  • Несколько доменов/поддоменов: Если проект содержит несколько доменов или поддоменов, добавьте для каждого из них отдельную секцию в файле project.ini.

Важно:

  • Применение изменений: Для применения изменений перезапустите Open Server Panel. При необходимости очистите кэш DNS в браузере.
  • Переключение версий PHP/Веб-сервера/Node.js: Перезапуск Open Server Panel не требуется при смене версии PHP, веб-сервера или Node.js через меню программы. Все необходимые перезапуски и инициализации выполняются автоматически.
  • Браузеры Chromium и IPv6: Браузеры на движке Chromium (Chrome, Edge, Vivaldi, Яндекс.Браузер и т.д.) не видят локальные домены с IPv6-адресами при отсутствии доступа по протоколу IPv6 в Интернет. Для работы с такими доменами используйте браузер Firefox или отключите IPv6 для модулей веб-сервера и доменов.
  • VPN и прокси: Локальные домены могут быть недоступны при использовании VPN или прокси. Добавьте все локальные домены в исключения VPN/прокси.
  • Конфликты имен: Не создавайте домены с именами, совпадающими с именами модулей или дополнений. Ваш проект (домен) не может называться auto — это имя зарезервировано для служебных команд.
  • localhost: Не используйте localhost в качестве имени домена. Если это всё же необходимо, то укажите 127.0.0.1 в качестве ip домена.

Секция [имя_домена]

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

  • Интернационализированные домены: Допустимы как обычное, так и Punycode представление.
  • IP-адреса как имена доменов: Запрещено использовать IP-адрес в качестве имени домена. Для прямого доступа к домену по IP смотрите инструкцию ниже.
Параметр Описание
app_start_command Команда запуска проекта (например, nodemon app.js). Можно использовать шаблонные переменные.
Кодировка: По умолчанию используется кодировка 65001 (UTF-8). Изменить кодировку можно командой chcp <КОДИРОВКА>.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: (пусто)
backend_enabled Включить/выключить проксирование на Backend (on/off). Позволяет автоматически направлять весь входящий трафик (HTTP и HTTPS) проекта на серверную часть (Backend). Полезно для тестирования или разработки, когда фронтенд и бэкенд разделены.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: off
backend_ip IP-адрес, по которому осуществляется подключение к серверной части (Backend).
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: (пусто)
backend_port Номер порта для подключения к Backend.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: 3000
base_url URL-адрес, открываемый при выборе пункта Открыть проект в браузере в меню Open Server Panel. Можно использовать шаблонные переменные.
Панель администрирования: Используйте этот параметр для указания URL-адреса панели администрирования CMS.
Значение по умолчанию: https://{host_decoded}
bind_ip IP-адрес домена.
Несколько IP-адресов: Можно указать несколько IP-адресов (через пробел) и использовать IPv6. При обновлении файла HOSTS домену будет назначен первый указанный IP.
Важно: Не назначайте один и тот же IP-адрес доменам с разными значениями web_engine.
Автоматическое назначение: Оставьте значение пустым для автоматического назначения IP-адреса.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: (пусто)
environment Список дополнений и модулей (через пробел), среды которых присоединяются к среде проекта при ее активации командой osp project <DOMAIN>.
System: Позволяет использовать программы, установленные в системе (например, git.exe или ssh.exe).
Модули PHP/Веб-сервера/Node.js: Среды этих модулей подключаются всегда (если заданы для домена) и не требуют указания в этом параметре.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: (пусто)
http2_enabled Включить/выключить протокол HTTP/2 (on/off).
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: off
http_engine Движок, используемый в качестве веб-сервера для этого домена.
Несуществующий модуль: Если указанный модуль не установлен, домен будет проигнорирован.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: (пусто)
http_port Порт для работы по протоколу HTTP.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: 80
https_port Порт для работы по протоколу HTTPS.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: 443
node_engine Движок Node.js, используемый для запуска Node.js-приложений этого домена.
Установка Node.js: Предварительно установите нужную версию Node.js с помощью дополнения NVM.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: (пусто)
php_engine Движок PHP, используемый для обработки PHP-файлов этого домена.
Несуществующий модуль: Если указанный модуль PHP не установлен, домен будет проигнорирован.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: (пусто)
primary_domain Параметр служит для указания главного домена в проектах с несколькими доменами/поддоменами и нужен для корректной активации домена командой osp project auto, когда он определяется по текущему каталогу.
Значение по умолчанию: off
project_category Категория проекта в меню программы.
Скрытая категория: Доступна специальная категория hidden для служебных ресурсов - проекты в этой категории не отображаются в основном меню. Это удобно для размещения административных инструментов, таких как phpMyAdmin.
project_enabled Включить/выключить проект (on/off).
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: on
project_root Корневой каталог проекта, используемый командой osp project <DOMAIN>. Можно использовать шаблонные переменные.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Разрешённые символы: A-Za-z0-9-+_.\:
Значение по умолчанию: {base_dir}
server_aliases Псевдонимы (алиасы) домена (через пробел).
Другие домены: Можно использовать другие домены в качестве псевдонимов (например, при переезде сайта на новый домен).
Важно: Алиасы вида *.example.local не поддерживаются файлом HOSTS в Windows. Не используйте * в качестве знака подстановки без активации модуля DNS (Bind или Unbound) и правильной настройки зоны домена.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: www.{host}
terminal_codepage Кодировка консоли при работе со средой проекта (например, 65001 или 1251). Если параметр не задан локально и глобально, будет использована кодировка, заданная для среды модуля PHP.
Наследование: Если параметр не задан локально, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: (пусто)
tls_cert_file Файл сертификата. Можно использовать шаблонные переменные.
Разрешённые символы: A-Za-z0-9-+_.\:
Значение по умолчанию: автоматически сгенерированный сертификат
tls_enabled Включить/выключить SSL (on/off). При отключенном SSL работа с доменом по HTTPS будет невозможна.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: on
tls_key_file Файл ключа. Можно использовать шаблонные переменные.
Разрешённые символы: A-Za-z0-9-+_.\:
Значение по умолчанию: автоматически сгенерированный ключ
web_root Публичный каталог проекта. Можно использовать шаблонные переменные.

Шаблонные переменные

Переменная Описание
{app_start_command} Команда запуска приложения проекта (если настроена)
{backend_ip} IP-адрес подключения к серверной части (Backend)
{backend_port} Порт подключения к серверной части (Backend)
{base_dir} Корневой каталог проекта (где находится каталог .osp)
{base_url} URL проекта
{date_time} Текущая дата/время (только для app_start_command)
{host} Имя домена (для интернационализированных доменов используется Punycode)
{host_decoded} Видимое имя домена (без Punycode)
{host_scheme} Схема запроса к проекту ("http" или "https", зависит от параметра SSL в настройках проекта)
{http_engine} Движок веб-сервера
{http_port} Порт запроса к проекту по протоколу HTTP
{https_port} Порт запроса к проекту по протоколу HTTPS
{node_engine} Движок Node.js
{php_engine} Движок PHP
{project_root} Корневой каталог проекта
{root_dir} Корневой каталог Open Server Panel (полный путь)
{root_drive} Диск корневого каталога
{root_path} Путь к корневому каталогу Open Server Panel
{scheme_port} Порт запроса к проекту (":{http_port}"" или ":{https_port}", зависит от параметра SSL в настройках проекта).

Если {http_port} или {https_port} имеет стандартное значение 80 или 443, то {scheme_port} будет пустым.
{terminal_codepage} Кодировка консоли (см. terminal_codepage)
{web_root} Публичный каталог проекта

Настройка домена с доступом по IP-адресу

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

Для обеспечения доступа к домену по IP-адресу выполните следующие шаги:

  1. Укажите IP-адрес в параметре ip — это основной IP, к которому будет привязан домен.
  2. Добавьте IP-адрес в список псевдонимов (aliases) — если вы хотите, чтобы к вашему ресурсу можно было обращаться напрямую по IP, добавьте этот IP как псевдоним.

Настройка при использовании роутера

Если ваш сервер находится внутри локальной сети за роутером:

  • В параметре ip укажите локальный статический IP-адрес вашего компьютера (например, 192.168.1.100).
  • В параметре aliases добавьте внешний статический IP-адрес, который ваш роутер получил от интернет-провайдера (например, 203.0.113.25).
  • Убедитесь, что на роутере настроен проброс портов (port forwarding) — как минимум HTTP (порт 80) и HTTPS (порт 443) — на внутренний IP-адрес вашей машины. Подробнее о настройке проброса портов смотрите в руководстве к вашему роутеру.

Important

Использование динамического внешнего IP-адреса (который может меняться) может привести к недоступности сервиса. Рекомендуется использовать статический внешний IP или настроить динамический DNS (DDNS).

Tip

Чтобы домены были доступны по имени, необходимо вручную добавить их в файл HOSTS на удалённом компьютере(ах), указав соответствующий внешний IP-адрес.

Ручная настройка конфигурации

Способ 1. Дополнение конфигурации

Чтобы добавить собственную конфигурацию домена внутрь автоматически сконфигурированного блока <VirtualHost> (Apache) или Server{} (Nginx):

  1. Создайте каталог и файл: Создайте каталог <проект>\.osp\Apache или <проект>\.osp\Nginx и файл <имя_домена>.conf в этом каталоге.
    • Пример: <проект>\.osp\Apache\example.local.conf
    • Punycode: Используйте Punycode для интернационализированных доменов.
  2. Добавьте конфигурацию: Добавьте необходимые директивы в созданный файл.
  3. Перезапустите Open Server Panel.

Tip

Этот способ позволяет использовать собственную конфигурацию без необходимости детальной настройки параметров хоста. Учитывайте, что вы уже находитесь внутри блока <VirtualHost> (Apache) или Server{} (Nginx), а основные параметры хоста уже заданы.

Способ 2. Замена конфигурации

Чтобы создать собственный блок <VirtualHost> (Apache) или Server{} (Nginx):

  1. Создайте каталог и файл: Создайте каталог <проект>\.osp\Apache или <проект>\.osp\Nginx и файл <имя_домена>.conf в этом каталоге.
    • Пример: <проект>\.osp\Apache\example.local.conf
    • Punycode: Используйте Punycode для интернационализированных доменов.
  2. Добавьте блок конфигурации: Добавьте блок <VirtualHost> (Apache) или Server{} (Nginx) с полной конфигурацией домена в созданный файл.
  3. Перезапустите Open Server Panel.

Important

Этот способ требует продвинутых знаний Apache/Nginx и Open Server Panel.

Другие возможности

  • Каталог .\osp\bin: Создайте каталог .osp\bin в каталоге проекта для хранения служебных скриптов. Этот каталог будет добавлен в переменную PATH при активации среды проекта. Базовый и публичный каталоги проекта всегда добавляются в PATH.
  • Дополнительные пункты меню и языковые константы: Проект может добавлять пункты в меню Open Server Panel и определять собственные языковые константы. Пример можно найти в проекте full-example.local, доступном после установки Open Server Panel.

Настройка переменных среды

Для настройки переменных среды проекта создайте файл .osp\env.ini.

Пример:

[full-example.local]
ANY_VALUE = SOMETHING

Настройка модулей

Настройки каждого модуля хранятся в файле .\config\<имя_модуля>\<имя_профиля>\settings.ini.

Шаблоны конфигурации каждого модуля хранятся в каталоге .\config\<имя_модуля>\<имя_профиля>\templates.

  • Профиль по умолчанию: default.
  • Смена профиля: Активный профиль можно сменить через меню Open Server Panel.
  • Резервные копии:
    • Оригинальные настройки и файлы конфигурации: .\modules\<имя_модуля>\ospanel_data\default.
    • Оригинальные файлы данных (если есть): .\modules\<имя_модуля>\ospanel_data\default_data.
    • Будущая функциональность: Эти данные будут использоваться для восстановления оригинальной конфигурации модуля в панели управления, поэтому никогда не используйте и не изменяйте содержимое каталога .\modules\<имя_модуля>\ospanel_data.

Важно:

  • Применение изменений настроек: Перезапустите Open Server Panel.
  • Применение изменений в шаблонах: Перезапустите или переинициализируйте модуль.

Секция [main]

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

Параметр Описание
additional_ssl_hosts Список дополнительных IP-адресов и доменных имён, которые будут включены в автоматически генерируемый SSL-сертификат.
ignore_shutdown_all При активации данного параметра модуль проигнорирует команду выключения всех модулей и продолжит функционировать после выключения остальных модулей. Настройка не влияет на возможность индивидуального выключения модуля и на выключение всех модулей вызываемое через консольный интерфейс (в этом случае будут выключены все модули).
ip IP-адрес модуля.
Несколько IP-адресов: Можно указать несколько IP-адресов (через пробел) и использовать IPv6, если модуль это поддерживает. При обновлении файла HOSTS будет использован первый указанный IP-адрес.
DNS: Этот параметр игнорируется для модулей DNS.
port Порт модуля.
Особенности: Этот параметр игнорируется для модулей Apache, Nginx, Bind и Unbound.
clean_directories Каталоги, очищаемые перед запуском модуля (через пробел). Например: кэш, временные файлы и т.д. Можно использовать шаблонные переменные.
log_directory Каталог для хранения логов модуля. Создается автоматически, если не существует. Можно использовать шаблонные переменные.
log_level_values Доступные уровни журналирования (поддерживается не всеми модулями).
log_level Уровень журналирования (значение из log_level_values).
query_log_values Доступные уровни журналирования запросов (поддерживается не всеми модулями).
query_log_level Уровень журналирования запросов (значение из query_log_values).
shell_command Команда запуска shell/cli оболочки модуля. Можно использовать шаблонные переменные.
ssl_auto_cert Автоматическая генерация и использование SSL-сертификата (on/off).
Отключение:
- Этот параметр всегда имеет значение off, если IP-адрес модуля не указан.
- При отключении этого параметра необходимо вручную настроить конфигурацию SSL модуля (отключить SSL или указать собственные ключи и сертификаты).
- Браузеры без хранилища сертификатов Windows (например, Firefox): Импортируйте корневой сертификат Open Server Panel (data\ssl\root\cert.crt) в браузер. Повторите импорт после каждого пересоздания корневого сертификата командой osp cacert init.
start_command Команда запуска модуля. Можно использовать шаблонные переменные.
start_directory Каталог запуска модуля (должен существовать). Можно использовать шаблонные переменные.
work_directories Каталоги, необходимые для работы модуля (через пробел). Создаются автоматически, если не существуют. Можно использовать шаблонные переменные.
used_addons_environment Список дополнений (через пробел), среды которых (если есть) присоединяются к среде модуля. Информационные индикаторы в консоли не отображают эти дополнительные среды.
Важно: Используйте эту опцию только при полном понимании ее назначения.
allowed_system_env_vars Список переменных среды Windows (через пробел), передаваемых в среду модуля.
Назначение: Фильтрация рабочей среды модуля от среды установленного в систему аналогичного ПО.
Важно: Изменяйте этот список только при полном понимании последствий.
Значение auto (по умолчанию): Используется глобальное значение из основных настроек Open Server Panel.
log_max_filesize Максимальный размер файла журнала (0 — без ограничений).
Пересоздание файла: При превышении указанного размера файл журнала будет пересоздан при следующем запуске модуля.
Значение auto (по умолчанию): Используется глобальное значение из основных настроек Open Server Panel.
Единицы измерения: B (байты), K (килобайты), M (мегабайты), G (гигабайты), T (терабайты).
Очистка логов при запуске: Установите значение 1 (байт), чтобы очищать логи при каждом запуске модуля.
log_write_title Добавлять заголовок в файл журнала при каждом запуске модуля (on/off). Полезно для разделения рабочих сессий, если автоматическая очистка журнала отключена.
Значение auto (по умолчанию): Используется глобальное значение из основных настроек Open Server Panel.
max_probation_fails Максимальное количество последовательных (подряд) неудачных запусков модуля (см. probation), после которых модуль перейдет в состояние «Ошибка».
Значение auto (по умолчанию): Используется глобальное значение из основных настроек Open Server Panel.
max_shutdown_time Максимальное время завершения работы модуля (0 — без ограничений).
Принудительная остановка: Если модуль не завершит работу за указанное время, он будет принудительно остановлен.
Минимальное значение: 30 секунд.
Важно: Не устанавливайте это ограничение без полного понимания последствий. Преждевременная остановка модуля может привести к проблемам (повреждение данных, неполная запись логов и т.д.).
Значение auto (по умолчанию): Используется глобальное значение из основных настроек Open Server Panel.
Единицы измерения: s (секунды), m (минуты), h (часы), d (дни).
probation Время проверки работоспособности модуля (испытательный срок).
Начало отсчета: С момента успешного запуска модуля.
Состояние «Ошибка»: Если модуль неожиданно завершит работу во время испытательного срока, он не будет перезапущен и перейдет в состояние «Ошибка». Это состояние также устанавливается, если модуль не может запуститься на уровне системы.
Отключение: Значение 0 отключает испытательный срок. Модуль всегда будет перезапускаться при сбое.
Рекомендации: Не рекомендуется устанавливать значение 0 или слишком короткий период проверки (менее 30 секунд).
Значение auto (по умолчанию): Используется глобальное значение из основных настроек Open Server Panel.
Единицы измерения: s (секунды), m (минуты), h (часы), d (дни).
silent_mode Тихий режим работы (on/off). В этом режиме отключаются всплывающие сообщения об ошибках от службы Windows Error Reporting и самого модуля.
Отключение: Отключайте этот режим только для диагностики проблем с модулем.
Значение auto (по умолчанию): Используется глобальное значение из основных настроек Open Server Panel.
terminal_codepage Кодировка консоли при работе со средой модуля.
Специальные значения:
- system: Системная кодировка.
- auto: Глобальное значение из основных настроек Open Server Panel.
Пустое значение: Кодировка консоли не будет изменяться при активации среды модуля или его shell/cli оболочки.
time_zone Часовой пояс (временная зона) в формате Etc/GMT (например, Etc/GMT-3).
Специальные значения:
- system: Системный часовой пояс.
- auto: Глобальное значение из основных настроек Open Server Panel.
Важно: Формат Etc/GMT отличается от UTC обратным порядком (например, Etc/GMT-3 = UTC/GMT+3 = UTC+03:00 = Europe/Moscow).

Шаблонные переменные

В параметрах clean_directories, log_directory, shell_command, start_command, start_directory и work_directories можно использовать следующие шаблонные переменные:

Переменная Описание
{module_name} Имя модуля
{parent_module} Родительский модуль (задаётся в описательном файле)
{profile_name} Имя текущего профиля настроек модуля
{root_dir} Корневой каталог Open Server Panel (полный путь)
{root_drive} Диск корневого каталога
{root_path} Путь к корневому каталогу Open Server Panel

В параметрах shell_command и start_command также доступны следующие переменные, если соответствующие параметры заданы в этой же секции:

Переменная Описание
{date_time} Текущая дата/время (только для start_command)
{ip} IP-адрес(а) модуля
{port} Порт модуля
{log_level} Уровень журналирования
{query_log_level} Уровень журналирования запросов
{terminal_codepage} Кодировка консоли
{time_zone} Часовой пояс в формате Etc/GMT

Помимо шаблонных переменных, можно использовать переменные среды Windows, например: %SYSTEMROOT%, %SYSTEMDRIVE%, %USERNAME%, %PATH% и т.д.

Секция [environment]

В этой секции можно задавать/переопределять переменные среды модуля (поддерживаемые переменные зависят от модуля).

  • Удаление переменной: Задайте пустое значение.

Шаблонные переменные

Переменная Описание
{module_name} Имя модуля
{parent_module} Родительский модуль (задаётся в описательном файле)
{profile_name} Имя текущего профиля настроек модуля
{root_dir} Корневой каталог Open Server Panel (полный путь)
{root_drive} Диск корневого каталога
{root_path} Путь к корневому каталогу Open Server Panel

Также доступны следующие переменные, если соответствующие параметры заданы в секции [main]:

Переменная Описание
{ip} IP-адрес(а) модуля
{port} Порт модуля
{log_level} Уровень журналирования
{query_log_level} Уровень журналирования запросов
{terminal_codepage} Кодировка консоли
{time_zone} Часовой пояс в формате Etc/GMT

Помимо шаблонных переменных, можно использовать переменные среды Windows, например: %SYSTEMROOT%, %SYSTEMDRIVE%, %USERNAME%, %PATH% и т.д.

Секция [имя_файла]

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

  • Расположение шаблонов: .\config\<имя_модуля>\<имя_профиля>\templates.
  • Временные файлы: Во время инициализации модуля шаблоны преобразуются во временные рабочие файлы.
Параметр Обязательный Описание
comment Да Символ комментария, используемый в файле конфигурации.
destination Да Путь к временному файлу. Этот файл пересоздается при каждой инициализации модуля и не подлежит редактированию.
enabled Нет Включить/выключить использование этого файла конфигурации (on/off).
Значение off: Файл временно не используется.
Значение по умолчанию: on
encoding Нет Кодировка файла конфигурации.
Допустимые значения: UTF8, ANSI, ASCII.
Значение по умолчанию: UTF8
directory_separator Да Разделитель каталогов, используемый в путях к ресурсам.
source_dir Нет Каталог для поиска исходного файла-шаблона.
Значение по умолчанию: .\config\<имя_модуля>\<имя_профиля>\templates

Шаблонные переменные

В параметрах destination и source_dir можно использовать следующие шаблонные переменные:

Переменная Описание
{module_name} Имя модуля
{parent_module} Родительский модуль (задаётся в описательном файле)
{profile_name} Имя текущего профиля настроек модуля
{root_dir} Корневой каталог Open Server Panel (полный путь)
{root_drive} Диск корневого каталога
{root_path} Путь к корневому каталогу Open Server Panel

Шаблонные переменные в файлах-шаблонах

В файлах-шаблонах можно использовать следующие шаблонные переменные:

Переменная Описание
{module_name} Имя модуля
{profile_name} Имя текущего профиля настроек модуля
{root_dir} Корневой каталог Open Server Panel (полный путь)
{root_drive} Диск корневого каталога
{root_path} Путь к корневому каталогу Open Server Panel
Особые переменные (только если заданы в секции [main])
{ip} IP-адрес(а) модуля
{port} Порт модуля
{log_level} Уровень журналирования
{query_log_level} Уровень журналирования запросов
{shell_command} Команда запуска shell/cli оболочки модуля
{terminal_codepage} Кодировка консоли
{time_zone} Часовой пояс в формате Etc/GMT
Служебные переменные (только для разработчиков модулей)
{apache_hosts} Блок конфигурации хостов для Apache
{api_domain} Домен API
{cmd_api_url} URL API для интерфейса командной строки
{environment} Блок формирования среды модуля (формат Batch-скрипта)
{lang_N} Текстовая строка с номером N из языкового файла (текущий язык)
{nginx_hosts} Блок конфигурации хостов для Nginx
{osp_version} Версия Open Server Panel
{parent_module} Родительский модуль (задаётся в описательном файле)
{web_api_url} URL API для веб-интерфейса
{web_panel_url} URL веб-интерфейса
{windows_environment} Среда Windows (оригинальная, сформированная при запуске Open Server Panel)

Помимо шаблонных переменных, можно использовать переменные среды Windows, например: %SYSTEMROOT%, %SYSTEMDRIVE%, %USERNAME%, %PATH% и т.д.

Секция [services]

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

  • Назначение: Проверка состояния служб Windows перед запуском модуля.
  • Управление службами: Эта секция не управляет состоянием служб.

Пример:

[services]
Dhcp     = on
EMDMgmt  = off
SysMain  = on

Создание дополнительных профилей

Чтобы создать новый профиль настроек модуля:

  1. Скопируйте существующий профиль: Скопируйте каталог существующего профиля (например, .\config\<имя_модуля>\Default) в новый каталог (например, .\config\<имя_модуля>\MyProfile).
  2. Скопируйте данные (если есть): Если модуль использует данные из каталога .\data, скопируйте каталог данных существующего профиля (например, .\data\<имя_модуля>\Default) в новый каталог (например, .\data\<имя_модуля>\MyProfile).
  3. Использование оригинальных настроек и данных: Вместо копирования существующего профиля можно использовать оригинальные настройки и данные модуля из каталогов .\modules\<имя_модуля>\ospanel_data\default и .\modules\<имя_модуля>\ospanel_data\default_data соответственно.
  4. Перезапустите Open Server Panel
  • Разрешенные символы в имени профиля: A-Za-z0-9-+_.
  • Преимущества дополнительных профилей:
    • Тестирование новых конфигураций
    • Эксперименты с настройками

Создание дополнений

Структура дополнения

Каждое дополнение Open Server Panel имеет следующую минимальную файловую структуру:

.
├── data
│   └── <имя_дополнения>              # Каталог данных дополнения (необязательный)
└── addons
    └── <имя_дополнения>              # Основной каталог дополнения
        └── ospanel_data              # Служебные файлы (настройки и конфигурация)
            ├── templates             # Каталог шаблонов
            ├── addon.ini             # Описательный файл дополнения
            ├── menu.ini              # Файл настроек меню дополнения (дополнительные пункты)
            └── lang                  # Каталог языковых файлов (English.ini, Russian.ini и т.д.)

Создание дополнения

  1. Создайте структуру каталогов: Создайте каталоги, как показано в примере выше.

  2. Скопируйте файлы дополнения: Поместите содержимое вашего дополнения в каталог .\addons\<имя_дополнения>. Например, если вы устанавливаете дополнение MongoDB Tools, распакуйте его дистрибутив (ZIP-архив) в этот каталог.

  3. Языковые файлы (необязательно):

    • Расположение: .\addons\<имя_дополнения>\ospanel_data\lang
    • Содержимое: Константы дополнения в секции [main].
    • Уникальный префикс: Используйте уникальный префикс в именах констант (например, myaddon_...).
  4. Дополнительное меню (необязательно):

    • Расположение: .\addons\<имя_дополнения>\ospanel_data\menu.ini
    • Уникальные ID: Используйте уникальные ID для секций. Рекомендуется использовать префикс, равный имени дополнения.
  5. Шаблоны файлов конфигурации:

    • Расположение: .\addons\<имя_дополнения>\ospanel_data\templates
  6. Описательный файл:

    • Расположение: .\addons\<имя_дополнения>\ospanel_data\addon.ini

    • Формат: INI-файл

    • Секция [main] с параметрами:

      Параметр Описание
      architecture Архитектура дополнения: x64 или x86
      category Категория дополнения (можно использовать существующие категории или создать новую)
      enabled Включить или выключить дополнение: yes или no
      license Ссылка на лицензию дополнения
      license_type Тип лицензии дополнения
      min_windows_ver Минимальная поддерживаемая версия Windows (см. таблицу ниже)
      timestamp Временная метка релиза дополнения
      version Версия дополнения
    • Минимальная версия Windows:

      Номер версии Версия Windows
      6.1.7601 Windows 7 SP1
      6.2.9200 Windows 8
      6.3.9600 Windows 8.1
      10.0.10240 Windows 10 1507
      10.0.10586 Windows 10 1511
      10.0.14393 Windows 10 1607
      10.0.15063 Windows 10 1703
      10.0.16299 Windows 10 1709
      10.0.17134 Windows 10 1803
      10.0.17763 Windows 10 1809
      10.0.18362 Windows 10 1903
      10.0.18363 Windows 10 1909
      10.0.19041 Windows 10 2004
      10.0.19042 Windows 10 20H2
      10.0.19043 Windows 10 21H1
      10.0.19044 Windows 10 21H2
      10.0.19045 Windows 10 22H2
      10.0.22000 Windows 11 21H2
      10.0.22621 Windows 11 22H2
  7. Перезапустите Open Server Panel.

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

Создание модулей

Структура модуля

Каждый модуль Open Server Panel имеет следующую минимальную файловую структуру:

.
├── data
│   └── <имя_модуля>                  # Каталог данных модуля (необязательный)
└── modules
    └── <имя_модуля>                  # Основной каталог модуля
        └── ospanel_data              # Служебные файлы (исходники настроек и конфигураций)
            ├── default               # Каталог исходного профиля
            │   ├── settings.ini      # Файл настроек модуля
            │   └── templates         # Каталог шаблонов
            ├── default_data          # Каталог данных исходного профиля (необязательный)
            ├── module.ini            # Описательный файл модуля
            ├── menu.ini              # Файл настроек меню модуля (дополнительные пункты)
            └── lang                  # Каталог языковых файлов (English.ini, Russian.ini и т.д.)

Создание модуля

  1. Создайте структуру каталогов: Создайте каталоги, как показано в примере выше.
  2. Языковые файлы (необязательно):
    • Расположение: .\modules\<имя_модуля>\ospanel_data\lang
    • Содержимое: Константы модуля в секции [main].
    • Уникальный префикс: Используйте уникальный префикс в именах констант (например, mymod_...).
  3. Дополнительное меню (необязательно):
    • Расположение: .\modules\<имя_модуля>\ospanel_data\menu.ini
    • Уникальные ID: Используйте уникальные ID для секций. Рекомендуется использовать префикс, равный имени модуля.
  4. Файл настроек:
    • Расположение: .\modules\<имя_модуля>\ospanel_data\default\settings.ini
  5. Шаблоны файлов конфигурации:
    • Расположение: .\modules\<имя_модуля>\ospanel_data\default\templates
  6. Исходные данные (необязательно):
    • Расположение: .\modules\<имя_модуля>\ospanel_data\default_data (например, базы данных)
  7. Описательный файл:
    • Расположение: .\modules\<имя_модуля>\ospanel_data\module.ini

    • Формат: INI-файл

    • Секция [main] с параметрами:

      Параметр Описание
      architecture Архитектура модуля: x64 или x86
      category Категория модуля (можно использовать существующие категории или создать новую)
      exclusive Эксклюзивный запуск (только один модуль этой категории может быть включен): yes или no
      fast_start Быстрый запуск модуля (без ожидания инициализации консоли): yes или no
      fast_stop Быстрая остановка модуля (принудительное завершение процесса): yes или no
      ipv6_support Поддержка IPv6: yes или no
      ip_separator Разделитель IP-адресов в конфигурации модуля (если поддерживается несколько IP-адресов)
      kill_names Список процессов для принудительного завершения, если модуль не может остановить их самостоятельно (например, epmd.exe test.exe)
      license Ссылка на лицензию модуля
      license_type Тип лицензии модуля
      min_windows_ver Минимальная поддерживаемая версия Windows (см. таблицу ниже)
      timestamp Временная метка релиза модуля
      version Версия модуля
    • Минимальная версия Windows:

      Номер версии Версия Windows
      6.1.7601 Windows 7 SP1
      6.2.9200 Windows 8
      6.3.9600 Windows 8.1
      10.0.10240 Windows 10 1507
      10.0.10586 Windows 10 1511
      10.0.14393 Windows 10 1607
      10.0.15063 Windows 10 1703
      10.0.16299 Windows 10 1709
      10.0.17134 Windows 10 1803
      10.0.17763 Windows 10 1809
      10.0.18362 Windows 10 1903
      10.0.18363 Windows 10 1909
      10.0.19041 Windows 10 2004
      10.0.19042 Windows 10 20H2
      10.0.19043 Windows 10 21H1
      10.0.19044 Windows 10 21H2
      10.0.19045 Windows 10 22H2
      10.0.22000 Windows 11 21H2
      10.0.22621 Windows 11 22H2
  8. Копирование настроек и данных:
    • Настройки: Создайте каталог .\config\<имя_модуля>\default и скопируйте в него содержимое каталога .\modules\<имя_модуля>\ospanel_data\default.
    • Данные: Создайте каталог .\data\<имя_модуля>\default и скопируйте в него содержимое каталога .\modules\<имя_модуля>\ospanel_data\default_data (если есть).
  9. Перезапустите Open Server Panel.

Caution

Не используйте каталоги .\modules\<имя_модуля>\ospanel_data\default и .\modules\<имя_модуля>\ospanel_data\default_data для работы с модулем. Эти каталоги хранят исходный профиль и используются для восстановления настроек модуля.

Ответы на часто задаваемые вопросы

Как включить расширение Imagick?

Для включения расширения Imagick, например для PHP 8.1, выполните следующие шаги:

  1. Откройте конфигурационный файл PHP 8.1:

    Перейдите в каталог с шаблонами настроек PHP 8.1:

    .\config\PHP-8.1\default\templates\php.ini
    
  2. Редактирование php.ini:

    Откройте файл php.ini в текстовом редакторе (например, Notepad++ или VS Code).

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

    extension = imagick
  3. Установите дополнение ImageMagick (опционально):

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

  4. Перезапуск Open Server Panel:

    После внесения изменений перезапустите Open Server Panel. Для этого:

    • Щёлкните правой кнопкой мыши на значок Open Server Panel в области уведомлений.
    • Выберите Перезапустить.
  5. Проверка работы Imagick:

    Чтобы убедиться, что Imagick включён и работает, создайте файл info.php в корневом каталоге вашего веб-проекта с содержимым:

    <?php phpinfo(); ?>

    Откройте этот файл в браузере (например, http://example.local/info.php) и найдите секцию Imagick в выведенной информации. Если Imagick включён, вы увидите информацию о поддерживаемых форматах в строке напротив ImageMagick supported formats.

После этих шагов расширение Imagick должно быть успешно активировано для PHP 8.1 в Open Server Panel.

Как включить расширение OCI8?

Для включения расширения OCI8, например для PHP 8.1, выполните следующие шаги:

  1. Откройте конфигурационный файл PHP 8.1:

    Перейдите в каталог с шаблонами настроек PHP 8.1:

    .\config\PHP-8.1\default\templates\php.ini
    
  2. Редактирование php.ini:

    Откройте файл php.ini в текстовом редакторе (например, Notepad++ или VS Code).

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

    ;extension = oci8
    ;extension = oci8_11g
    ;extension = oci8_12c
    extension  = oci8_19

    Активируйте расширение только той версии, которая вам необходима! Запрещается активировать более одного расширения OCI8 одновременно.

  3. Установите дополнение Oracle Instant Client (опционально):

    Установите компонент Oracle Instant Client, если он не был выбран при первоначальной установке Open Server Panel. Для этого повторно запустите установщик Open Server Panel, снимите отметки со всех компонентов и выберите только Oracle Instant Client.

  4. Редактирование settings.ini:

    Откройте файл config\PHP-8.1\default\settings.ini в текстовом редакторе (например, Notepad++ или VS Code).

    Найдите строку, содержащую used_addons_environment, и добавьте в список подключаемых компонентов Instant Client:

    Было:

    used_addons_environment  = FFMpeg Ghostscript ImageMagick-vs16

    Стало:

    used_addons_environment  = FFMpeg Ghostscript ImageMagick-vs16 InstantClient
  5. Перезапуск Open Server Panel:

    После внесения изменений перезапустите Open Server Panel. Для этого:

    • Щёлкните правой кнопкой мыши на значок Open Server Panel в области уведомлений.
    • Выберите Перезапустить.
  6. Копирование файлов конфигурации клиента Oracle:

    Скопируйте файлы конфигурации tnsnames.ora, sqlnet.ora, ldap.ora, oraaccess.xml, полученные от своего работодателя, в каталог \addons\InstantClient\network\admin.

  7. Драйвер ODBC: При необходимости установите драйвер ODBC с помощью файла addons\InstantClient\odbc_install.exe.

  8. Проверка работы OCI8:

    Чтобы убедиться, что OCI8 включён и работает, создайте файл info.php в корневом каталоге вашего веб-проекта с содержимым:

    <?php phpinfo(); ?>

    Откройте этот файл в браузере (например, http://example.local/info.php) и найдите секцию OCI8 в выведенной информации. Если OCI8 включён корректно, вы увидите информацию о версии Instant Client в строке напротив Oracle Run-time Client Library Version.

После этих шагов расширение OCI8 должно быть успешно активировано для PHP 8.1 в Open Server Panel.

Как включить расширение XDebug?

Для включения расширения XDebug, например для PHP 8.1, выполните следующие шаги:

  1. Откройте конфигурационный файл PHP 8.1:

    Перейдите в каталог с шаблонами настроек PHP 8.1:

    .\config\PHP-8.1\default\templates\php.ini
    
  2. Редактирование php.ini:

    Откройте файл php.ini в текстовом редакторе (например, Notepad++ или VS Code).

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

    zend_extension = xdebug
  3. Настройте параметры XDebug (опционально):

    Это пример базовой конфигурации:

    [xdebug]
    xdebug.mode = debug
    xdebug.start_with_request = yes
    xdebug.client_host = "localhost"
    xdebug.client_port = 9003

    Вы можете настроить параметры в соответствии с вашими потребностями.

  4. Перезапуск Open Server Panel:

    После внесения изменений в php.ini перезапустите модуль PHP, чтобы применить новые настройки. Для этого:

    • Щёлкните правой кнопкой мыши на значок Open Server Panel в области уведомлений.
    • Выберите необходимый модуль и нажмите Перезапустить.
  5. Проверка работы XDebug:

    Чтобы убедиться, что XDebug включён и работает, создайте файл info.php в корневом каталоге вашего веб-проекта с содержимым:

    <?php phpinfo(); ?>

    Откройте этот файл в браузере (например, http://example.local/info.php) и найдите секцию XDebug в выведенной информации. Если XDebug включён и настроен правильно, вы увидите информацию о XDebug.

После этих шагов расширение XDebug должно быть успешно активировано для PHP 8.1 в Open Server Panel.

Что использовать для управления БД?

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

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

  1. Adminer

    • Поддерживаемые базы данных: MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch, MongoDB.
    • Особенности: Легкий и быстрый веб-интерфейс, поддержка множества баз данных, расширяемость через плагины.
    • Скачать с официального сайта
  2. Another Redis Desktop Manager

    • Поддерживаемые базы данных: Redis.
    • Особенности: Быстрый и стабильный десктопный клиент для Redis, кроссплатформенность (Linux, Windows, Mac).
    • Скачать с официального сайта
  3. Antares SQL

    • Поддерживаемые базы данных: MySQL, PostgreSQL, SQLite, и другие.
    • Особенности: Современный интерфейс, поддержка вкладок, автодополнение SQL, интеграция с другими инструментами.
    • Скачать с официального сайта
  4. DBeaver

    • Поддерживаемые базы данных: MySQL, MariaDB, PostgreSQL, SQLite, Oracle, SQL Server, DB2, Apache Family (Cassandra, Hive, и др.), MongoDB, Redis, и другие.
    • Особенности: Кроссплатформенность, поддержка ER-диаграмм, редактор данных и SQL, экспорт и импорт данных.
    • Скачать с официального сайта
  5. DbGate

    • Поддерживаемые базы данных: MySQL, PostgreSQL, SQL Server, MongoDB и другие.
    • Особенности: Веб-ориентированный интерфейс, поддержка вкладок, редактор SQL, поддержка MongoDB.
    • Скачать с официального сайта
  6. DbVisualizer

    • Поддерживаемые базы данных: MySQL, PostgreSQL, Oracle, SQL Server, SQLite, и другие через JDBC.
    • Особенности: Кроссплатформенность, удобный графический интерфейс, поддержка множества баз данных через JDBC, инструменты для анализа данных.
    • Скачать с официального сайта
  7. DB Browser for SQLite

    • Поддерживаемые базы данных: SQLite.
    • Особенности: Легкий интерфейс для работы с SQLite базами данных, создание и редактирование таблиц, выполнение SQL-запросов.
    • Скачать с официального сайта
  8. HeidiSQL

    • Поддерживаемые базы данных: MariaDB, MySQL, MSSQL, PostgreSQL, SQLite, Interbase/Firebird.
    • Особенности: Легкий и быстрый интерфейс, поддержка SSH-туннелей, экспорт и импорт данных.
    • Скачать с официального сайта
  9. MongoDB Compass

    • Поддерживаемые базы данных: MongoDB.
    • Особенности: Официальный GUI от MongoDB; визуальный просмотр коллекций и документов, конструктор запросов, агрегирования (Aggregation Pipeline Builder), валидация схем (Schema Validation), индексы, профилирование производительности, подключение через SSH/SSL.
    • Скачать с официального сайта
  10. MySQL Workbench

    • Поддерживаемые базы данных: MySQL, MariaDB.
    • Особенности: Инструменты для проектирования схем баз данных (ER-диаграммы), редактор SQL-запросов, визуальное моделирование данных, администрирование серверов MySQL, создание и управление пользователями, экспорт и импорт данных.
    • Скачать с официального сайта
  11. NoSQLBooster for MongoDB (бесплатная версия)

    • Поддерживаемые базы данных: MongoDB.
    • Особенности: Редактор и выполнение запросов для MongoDB, автодополнение, визуализация данных, поддержка JavaScript.
    • Скачать с официального сайта
  12. pgAdmin

    • Поддерживаемые базы данных: PostgreSQL.
    • Особенности: Полнофункциональное управление PostgreSQL, поддержка SQL-редактирования, управление пользователями и привилегиями, визуализация данных.
    • Скачать с официального сайта
  13. PHPMyAdmin

    • Поддерживаемые базы данных: MySQL, MariaDB.
    • Особенности: Веб-интерфейс, удобное управление базами данных через браузер, поддержка множества языков.
    • Скачать с официального сайта
  14. SQL Workbench/J

    • Поддерживаемые базы данных: MySQL, PostgreSQL, SQL Server, Oracle, и другие через JDBC.
    • Особенности: Кроссплатформенность, поддержка сценариев SQL, экспорт и импорт данных, редактор запросов.
    • Скачать с официального сайта
  15. SQuirreL SQL

    • Поддерживаемые базы данных: MySQL, PostgreSQL, Oracle, SQL Server, DB2, SQLite и другие через JDBC.
    • Особенности: Кроссплатформенность, графический интерфейс, поддержка множества баз данных через JDBC, расширяемость через плагины.
    • Скачать с официального сайта
  16. SQLyog Community Edition

    • Поддерживаемые базы данных: MySQL, MariaDB.
    • Особенности: Интуитивно понятный графический интерфейс, инструменты для управления данными и структурой базы данных, экспорт и импорт данных.
    • Скачать с официального сайта

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

Как отредактировать шаблон конфигурации какого-либо модуля?

Давайте рассмотрим пример редактирования шаблона httpd.conf для модуля Apache:

Шаг 1: Найдите шаблон файла конфигурации

  1. Перейдите в папку установки Open Server Panel (например, C:\OSPanel).
  2. Перейдите в config\Apache\default\templates.
  3. Найдите файл httpd.conf.

Шаг 2: Измените файл конфигурации

  1. Откройте httpd.conf в текстовом редакторе (например, Notepad++).
  2. Внесите необходимые изменения.
  3. Сохраните файл.

Шаг 3: Перезапустите модуль

  1. Перезапустите модуль с помощью меню программы или консольной команды osp restart apache
  2. Убедитесь, что модуль запускается без ошибок.

Теперь вы успешно отредактировали конфигурацию Apache в Open Server Panel 6.

Как настроить терминал VS Code?

Требование: Open Server Panel должен быть установлен стационарно (не портативно).

Если Open Server Panel установлен портативно, обязательно добавьте путь к подкаталогу \bin каталога установки Open Server в переменную окружения PATH (см. инструкцию).

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

Способ 1: Через интерфейс VS Code

  1. Откройте VS Code.
  2. Перейдите в настройки:
    Нажмите Ctrl + , или выберите в меню File → Preferences → Settings.
  3. В правом верхнем углу окна настроек нажмите на иконку с листом и карандашом (Open Settings (JSON)) — откроется файл settings.json (он создастся, если его нет).

Способ 2: Через проводник Windows

  1. Откройте проводник и перейдите в папку:
    C:\Users\<ВАШЕ_ИМЯ_ПОЛЬЗОВАТЕЛЯ>\AppData\Roaming\Code\User\
  2. Если файла settings.json нет — создайте его (правый клик → Создать → Текстовый документ → переименуйте в settings.json).
  3. Откройте этот файл в любом редакторе (например, в VS Code).

Дальнейшие шаги для обоих способов:

  1. Вставьте в открытый settings.json следующий код (см. пункт Важно):

    {
        "terminal.integrated.defaultProfile.windows": "OSPanel",
        "terminal.integrated.profiles.windows": {
          "OSPanel": {
            "path": "C:\\Windows\\System32\\cmd.exe",
            "args": ["/k", "osp project auto"]
          }
        }
    }
  2. Сохраните файл и перезапустите VS Code.

Важно

  • Если в файле уже есть другие настройки, просто добавьте или измените только нужные строки (terminal.integrated.*), а не стирайте все остальные.
  • Если вы работаете со сторонними проектами вне среды Open Server Panel и не хотите видеть ошибку при запуске терминала, когда среда проекта не обнаружена, замените строку: "args": ["/k", "osp project auto"] на "args": ["/k", "osp project auto 2>nul"].
  • После изменений обязательно перезапустите VS Code.

Готово! Теперь откройте папку с проектом и запустите терминал. Для вызова терминала используйте Ctrl + ` или выберите пункт меню Terminal → New Terminal.

Как настроить терминал PhpStorm?

Требование: Open Server Panel должен быть установлен стационарно (не портативно).

Если Open Server Panel установлен портативно, обязательно добавьте путь к подкаталогу \bin каталога установки Open Server в переменную окружения PATH (см. инструкцию).

  1. Откройте PhpStorm.
  2. Перейдите в меню:
    File → Settings (или Ctrl + Alt + S).
  3. В открывшемся окне слева выберите:
    Tools → Terminal.
  4. Найдите поле Shell path (Путь к оболочке).
  5. Укажите туда следующую строку:
    cmd.exe /k "osp project auto"
    
  6. Нажмите OK или Apply, чтобы сохранить настройки.

Важно

  • Если вы работаете со сторонними проектами вне среды Open Server Panel и не хотите видеть ошибку при запуске терминала, когда среда проекта не обнаружена, замените строку: cmd.exe /k "osp project auto" на cmd.exe /k "osp project auto 2>nul".
  • Если что-то не работает, попробуйте полностью перезапустить PhpStorm.

Готово! Теперь откройте папку с проектом и запустите терминал. Для вызова терминала используйте Alt + F12 или выберите пункт меню View → Tool Windows → Terminal.

Как настроить PATH в случае портативной установки?

  1. Найдите папку, в которую установлен Open Server Panel (например, C:\OSPanel).
  2. Перейдите в подкаталог bin внутри этой папки (например, C:\OSPanel\bin).
  3. Скопируйте путь к папке bin.
  4. Откройте настройки переменных среды Windows:
    • Кликните правой кнопкой мыши по значку Этот компьютерСвойства.
    • Выберите Дополнительные параметры системыПеременные среды.
    • В разделе Системные переменные найдите переменную Path и выберите Изменить.
    • Добавьте скопированный путь к bin в новый рядок, нажмите OK.
  5. Перезапустите компьютер, чтобы изменения вступили в силу.

Зачем это нужно: Если Open Server Panel установлен портативно, команда osp (и другие утилиты OSPanel) недоступны из терминала в различных IDE без добавления пути к bin в переменную среды PATH.

Clone this wiki locally