Skip to content

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

OSPanel edited this page Jun 1, 2025 · 2 revisions

Caution

Вы просматриваете устаревшую документацию для Open Server Panel версии 6.2.9

Введение

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

Приложение может использоваться как в стационарном, так и в портативном режиме. В портативном режиме вы можете свободно перемещать папку с программой по диску или копировать на другой компьютер. Однако учтите, что на устаревших версиях Windows полная портативность может быть ограничена (из-за ограничения в 255 символов в путях). В комплект поставки включён инструмент System Preparation Tool, предназначенный для подготовки Windows к работе с Open Server Panel. Для его запуска требуются права администратора.

Ключевые особенности

  • Полная кастомизация: Пользователи получают полный доступ к настройкам всех модулей.
  • Гибкое управление: Управление осуществляется через консоль, трей-меню или веб-интерфейс (в разработке).
  • Надежный контроль процессов: Мониторинг и автоматическое восстановление после сбоев.
  • Параллельная работа модулей: Возможность одновременного запуска всех модулей, включая запуск нескольких версий одного и того же модуля (например, MySQL 5.5 и MySQL 8.0).
  • Профили настроек: Создание профилей с индивидуальными настройками модулей, включая конфиги и данные.
  • Персонализация доменов: Индивидуальная настройка для каждого домена, от IP-адреса до версии PHP.
  • Встроенная поддержка SSL и IPv6: Работает "из коробки" и не требует дополнительной настройки.
  • Оптимизированная среда: Преднастроенная среда для каждого модуля, включая быстрый доступ к shell/cli.
  • Удобная смена среды: Мгновенное переключение между средами в консоли.
  • Богатый набор расширений PHP: Более 115 доступных расширений.
  • Встроенный функционал: Планировщик заданий и SMTP-сервер.
  • Composer и Node.js: Управление версиями Node.js с помощью NVM. Composer доступен во всех модулях PHP.
  • Повышенная стабильность: Отсутствие багов, зависаний и проблем с кодировками.
  • Доступность: Все настройки, шаблоны, языковые файлы и документация доступны на GitHub.

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

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

Компонент Требования
Операционная система Windows 10 (версия 1607 или новее), Windows Server 2016 или новее.
32-битные системы не поддерживаются.
Версии для Linux и MacOS отсутствуют.
Аппаратные ресурсы Минимум 4 ГБ оперативной памяти (RAM) и 15 ГБ свободного места на диске.
Обязательное ПО MSVC++ 2005-2022 Redistributable Packages (x86/x64, включены в комплект поставки).
Файловая система NTFS (сетевые диски не поддерживаются).

Note

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

Поддержка устаревших операционных систем

Open Server Panel может запускаться на устаревших версиях Windows (x64), однако с некоторыми ограничениями:

  • Не все модули доступны.
  • Пути к файлам не могут превышать 255 символов.
Операционная система Номер версии Уровень поддержки
Windows 7 SP1 6.1.7601 Ограниченная
Windows Server 2008 R2 SP1 6.1.7601 Ограниченная
Windows Home Server 2011 6.1.8400 Ограниченная
Windows Server 2012 6.2.9200 Ограниченная
Windows 8 6.2.9200 Ограниченная
Windows 8.1 6.3.9600 Ограниченная
Windows Server 2012 R2 6.3.9600 Ограниченная
Windows 10 v1507 10.0.10240 Ограниченная
Windows 10 v1511 10.0.10586 Ограниченная

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

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

.
├── 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 (ключи, сертификаты и др.)

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

  • Операционная система: Для оптимальной производительности рекомендуется использовать Windows 10 или более новую версию.
  • Место установки: Устанавливайте Open Server Panel на SSD-накопитель, если он доступен, для повышения скорости работы модулей.
  • Неподдерживаемые конфигурации:
    • 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, 127.127.127.0/24 и 127.127.126.0/24 в исключения вашего 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 отказывался работать из-за подмены сертификата антивирусом.

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

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

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 доступ к сети.
      • cURL (system\bin\curl.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 создайте корневой каталог проекта, например home\example.local, а внутри него — подкаталог .osp для настроек проекта и, при необходимости, подкаталог public для размещения файлов вашего первого проекта.

  2. Создайте файл конфигурации: В каталоге home\example.local\.osp создайте файл project.ini со следующим содержимым:

    [имя_домена]
    
    public_dir = {base_dir}\public
    php_engine = PHP-7.2

    Замените имя_домена и PHP-7.2 на желаемое имя домена вашего проекта и желаемую версию PHP соответственно.

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

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

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

Варианты организации работы веб-сервера:

  • Apache + PHP: Выберите только модуль PHP для вашего проекта.
  • Nginx + Apache + PHP: Выберите модули Nginx и PHP для вашего проекта. Nginx в этой конфигурации выступает в роли прокси-сервера.
  • Nginx + PHP-FCGI: Выберите модули Nginx и PHP-FCGI для вашего проекта.
  • Только Nginx (без PHP): Выберите только модуль Nginx для вашего проекта.

Важно:

  • Ваш проект (домен) не может называться auto — это имя зарезервировано для служебных команд.
  • Для доступа к домену в браузере необходимо включить соответствующий PHP-движок и/или Nginx-движок.
  • Включите другие модули, необходимые для работы вашего проекта.
  • Модули PHP без префикса FCGI представляют собой составные модули Apache + PHP и названы таким образом для удобства выбора в консоли.

Импорт корневого 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                          Простая и быстрая утилита для поиска записей в файловой системе
gzip                        Утилита сжатия и восстановления файлов с помощью алгоритма Deflate
jq                          Лёгкий и гибкий JSON-процессор командной строки
mmdbinspect                 Инструмент для поиска записей в одной или нескольких базах данных .mmdb
sass                        Dart Sass — популярный компилятор SASS/SCSS файлов
sd                          Интуитивно понятная программа для поиска и замены текста в файлах
wget                        Неинтерактивная консольная программа для загрузки файлов по сети
xh                          Удобный и быстрый инструмент для отправки HTTP-запросов

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

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

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

Для следующих команд CLI вместо имени модуля можно использовать аргумент all:

  • osp init
  • osp off
  • osp on
  • osp restart
  • osp status

Note

Используйте аргумент 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/Nginx/Node + модули и дополнения, заданные опцией environment в файле project.ini) и переходит в его корневой каталог (см. project_dir).

Note

Модули PHP являются комбинированными (кроме модулей с префиксом FCGI) и включают в себя Apache и PHP.

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

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

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

Important

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

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

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

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

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

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

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

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

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

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

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

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

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

php -v
httpd -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 раз после запуска программы (задание выключено)

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

Переменная Описание
{root_dir} Корневой каталог Open Server Panel (полный путь)
{root_drive} Диск корневого каталога
{root_path} Путь к корневому каталогу Open Server Panel
{base_dir} Базовый каталог проекта
{host} Имя домена (для интернационализированных доменов используется Punycode)
{host_decoded} Видимое имя домена (без Punycode)
{nginx_engine} Движок Nginx
{node_engine} Движок Node.js
{php_engine} Движок PHP
{project_dir} Корневой каталог проекта
{project_url} URL проекта
{public_dir} Публичный каталог проекта
{start_command} Команда запуска проекта (если настроена)
{terminal_codepage} Кодировка консоли (см. terminal_codepage)

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

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

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

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

  1. Укажите путь к cmd.exe через переменную среды %COMSPEC%.
  2. Активируйте среду проекта с помощью команды osp project перед выполнением команды.

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

[example.local]

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

[forum.example.local]

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

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

[my-project.loc]

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

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

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

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

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

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

Важно:

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

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

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

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

  • Поддержка .user.ini: Модули PHP FCGI поддерживают файлы .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-1.6 Memcached-1.6 11211 - -
MongoDB-4.4 MongoDB-4.4 27017 - -
PostgreSQL-12 PostgreSQL-12 5432 postgres -
RabbitMQ-3.13 RabbitMQ-3.13 5672 - -
Redis-5.0 Redis-5.0 6379 - -
SMTP 127.0.0.1 25 - -

SMTP-сервер:

  • Для успешной обработки письма 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, это означает, что разработчики расширения не предоставляют, не разрабатывают или не компилируют версию для Windows для этой версии PHP.

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

Caution

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

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

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

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

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

Модули Apache

Open Server Panel использует Apache версии 2.4.54 (VC15) для PHP 7.2-7.4 и Apache версии 2.4.63 (VS17) для PHP 8.0-8.4. В дистрибутив включены дополнительные модули Apache, перечисленные в таблице ниже.

Модуль Версия Ссылка
mod_antiloris 0.6.0 https://www.monshouwer.eu/download/mod_antiloris/
mod_apreq2 2.16 https://httpd.apache.org/apreq/docs/libapreq2/group__mod__apreq2.html
mod_authn_ntlm 1.0.8 https://github.com/YvesR/mod_authn_ntlm
mod_fcgid 2.3.10 https://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
mod_jk 1.2.46 (PHP 7.2-7.4)
1.2.50 (PHP 8.0-8.4)
https://tomcat.apache.org/connectors-doc/reference/apache.html
mod_limitipconn 0.24 https://dominia.org/djao/limitipconn2.html
mod_log_dbd 1.0.6 https://sourceforge.net/p/dbd-modules/wiki/mod_log_dbd/
mod_log_rotate 1.00a (PHP 7.2-7.4)
1.0.2 (PHP 8.0-8.4)
https://github.com/JBlond/mod_log_rotate
mod_maxminddb 1.1.0 (PHP 7.3-7.4)
1.2.0 (PHP 8.0-8.4)
https://github.com/maxmind/mod_maxminddb
mod_perl 2.0.12 https://perl.apache.org
mod_vhost_dbd 1.0.6 https://sourceforge.net/p/dbd-modules/wiki/mod_vhost_dbd/
mod_view 2.2
mod_watch 4.3 https://github.com/pld-linux/apache-mod_watch
mod_xsendfile 1.0-P1 https://tn123.org/mod_xsendfile/

Модули Nginx

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

  • brotli_module
  • fancyindex_module
  • http_geoip_module
  • http_geoip2_module
  • http_image_filter_module
  • poll_module
  • stream_geoip_module
  • stream_realip_module
  • stream_ssl_preread_module

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

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

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

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

Важно:

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

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

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

  • Интернационализированные домены: Допустимы как обычное, так и Punycode представление.
  • IP-адреса как имена доменов: Запрещено использовать IP-адрес в качестве имени домена. Для прямого доступа к домену по IP смотрите инструкцию ниже.
Параметр Описание
aliases Псевдонимы (алиасы) домена (через пробел).
Другие домены: Можно использовать другие домены в качестве псевдонимов (например, при переезде сайта на новый домен).
Важно: Алиасы вида *.example.local не поддерживаются файлом HOSTS в Windows. Не используйте * в качестве знака подстановки без активации модуля DNS (Bind или Unbound) и правильной настройки зоны домена.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: www.{host}
category Категория проекта в меню программы.
Скрытая категория: Доступна специальная категория hidden для служебных ресурсов - проекты в этой категории не отображаются в основном меню. Это удобно для размещения административных инструментов, таких как phpMyAdmin.
enabled Включить/выключить проект (on/off).
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: on
environment Список дополнений и модулей (через пробел), среды которых присоединяются к среде проекта при ее активации командой osp project <DOMAIN>.
System: Позволяет использовать программы, установленные в системе (например, git.exe или ssh.exe).
Модули PHP/Nginx/Node.js: Среды этих модулей подключаются всегда (если заданы для домена) и не требуют указания в этом параметре.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: (пусто)
http_port Порт для работы по протоколу HTTP.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: 80
https_port Порт для работы по протоколу HTTPS.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: 443
ip IP-адрес домена.
Несколько IP-адресов: Можно указать несколько IP-адресов (через пробел) и использовать IPv6. При обновлении файла HOSTS домену будет назначен первый указанный IP.
Важно: Не назначайте один и тот же IP-адрес доменам с разными значениями php_engine или nginx_engine.
Автоматическое назначение: Оставьте значение пустым для автоматического назначения IP-адреса.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: (пусто)
nginx_engine Движок Nginx, используемый в качестве веб-сервера для этого домена.
FCGI: При использовании nginx_engine выберите FCGI-модуль PHP.
Прокси-сервер: Выберите обычный модуль PHP (не FCGI), если Nginx используется как прокси-сервер для Apache.
Несуществующий модуль: Если указанный модуль Nginx не установлен, домен будет проигнорирован.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: (пусто)
node_engine Движок Node.js, используемый для запуска Node.js-приложений этого домена.
Установка Node.js: Предварительно установите нужную версию Node.js с помощью дополнения NVM.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: (пусто)
php_engine Движок PHP, используемый для обработки PHP-файлов этого домена.
Несуществующий модуль: Если указанный модуль PHP не установлен, домен будет проигнорирован.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: (пусто)
project_dir Корневой каталог проекта, используемый командой osp project <DOMAIN>. Можно использовать шаблонные переменные.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Разрешённые символы: A-Za-z0-9-+_.\:
Значение по умолчанию: {base_dir}
project_url URL-адрес, открываемый при выборе пункта Открыть проект в браузере в меню Open Server Panel. Можно использовать шаблонные переменные.
Панель администрирования: Используйте этот параметр для указания URL-адреса панели администрирования CMS.
Значение по умолчанию: https://{host_decoded}
public_dir Публичный каталог проекта. Можно использовать шаблонные переменные.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Разрешённые символы: A-Za-z0-9-+_.\:
Значение по умолчанию: {base_dir}
ssl Включить/выключить SSL (on/off). При отключенном SSL работа с доменом по HTTPS будет невозможна.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: on
ssl_cert_file Файл сертификата. Можно использовать шаблонные переменные.
Разрешённые символы: A-Za-z0-9-+_.\:
Значение по умолчанию: автоматически сгенерированный сертификат
ssl_key_file Файл ключа. Можно использовать шаблонные переменные.
Разрешённые символы: A-Za-z0-9-+_.\:
Значение по умолчанию: автоматически сгенерированный ключ
start_command Команда запуска проекта (например, nodemon app.js). Можно использовать шаблонные переменные.
Кодировка: По умолчанию используется кодировка 65001 (UTF-8). Изменить кодировку можно командой chcp <КОДИРОВКА>.
Наследование: Если параметр не задан, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: (пусто)
terminal_codepage Кодировка консоли при работе со средой проекта (например, 65001 или 1251). Если параметр не задан локально и глобально, будет использована кодировка, заданная для среды модуля PHP.
Наследование: Если параметр не задан локально, используется глобальное значение из основных настроек Open Server Panel.
Значение по умолчанию: (пусто)

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

Переменная Описание
{base_dir} Корневой каталог проекта (где находится каталог .osp)
{host} Имя домена (для интернационализированных доменов используется Punycode)
{host_decoded} Видимое имя домена (без Punycode)
{host_scheme} Схема запроса к проекту ("http" или "https", зависит от параметра SSL в настройках проекта)
{http_port} Порт запроса к проекту по протоколу HTTP
{https_port} Порт запроса к проекту по протоколу HTTPS
{nginx_engine} Движок Nginx
{node_engine} Движок Node.js
{php_engine} Движок PHP
{project_dir} Корневой каталог проекта
{public_dir} Публичный каталог проекта
{scheme_port} Порт запроса к проекту (":{http_port}"" или ":{https_port}", зависит от параметра SSL в настройках проекта).

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

Настройка домена с доступом по 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-адрес.

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

Универсальная конфигурация

Open Server Panel использует универсальную конфигурацию домена.

  • Apache: Конфигурация задается с помощью макроса в шаблоне httpd.conf.
  • Nginx: Конфигурация задается в шаблонах virtual_*_host.conf.

Способ 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 Порт модуля.
PHP/Nginx/DNS: Этот параметр игнорируется для модулей PHP, Nginx и DNS.
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 также доступны следующие переменные, если соответствующие параметры заданы в этой же секции:

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

Помимо шаблонных переменных, можно использовать переменные среды Windows, например: %COMSPEC%, %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, например: %COMSPEC%, %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
{osp_version_datetime} Дата выпуска версии (дата компиляции)
{parent_module} Родительский модуль (задаётся в описательном файле)
{web_api_url} URL API для веб-интерфейса
{web_panel_url} URL веб-интерфейса
{windows_environment} Среда Windows (оригинальная, сформированная при запуске Open Server Panel)

Помимо шаблонных переменных, можно использовать переменные среды Windows, например: %COMSPEC%, %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
│   └── <имя_модуля>                  # Каталог данных модуля (необязательный)
└── modules
    └── <имя_модуля>                  # Основной каталог модуля
        └── ospanel_data              # Служебные файлы (исходники настроек и конфигураций)
            ├── default               # Каталог исходного профиля
            │   ├── settings.ini      # Файл настроек модуля
            │   └── templates         # Каталог шаблонов
            ├── default_data          # Каталог данных исходного профиля (необязательный)
            ├── module.dat            # Описательный файл модуля
            ├── 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.dat

    • Формат: 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 для работы с модулем. Эти каталоги хранят исходный профиль и используются для восстановления настроек модуля.

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

Как включить расширение 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).

  3. Раскомментируйте строку для загрузки XDebug:

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

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

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

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

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

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

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

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

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

    <?php phpinfo(); ?>

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

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

Почему в дистрибутиве нет PHPMyAdmin?

PHPMyAdmin не включён в состав 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. MySQL Workbench

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

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

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

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

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

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

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

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

Почему Apache использует так много оперативной памяти?

Количество памяти, используемой Apache, напрямую зависит от двух параметров: ThreadStackSize и ThreadsPerChild.

ThreadStackSize

ThreadStackSize — это директива настройки в веб-сервере Apache, определяющая размер стека памяти, выделяемого для каждого потока в многопоточном режиме.

ThreadsPerChild

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

Значения по умолчанию в Open Server Panel

В Open Server Panel по умолчанию используются следующие значения:

  • ThreadStackSize — 8 МБ
  • ThreadsPerChild — 32

Таким образом, минимальный объем памяти, используемый Apache, составляет 8 МБ * 32 = 256 МБ без учета подключённых расширений PHP. Чем больше расширений активировано, тем больший объем памяти будет занимать каждый поток Apache.

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

  1. ThreadStackSize: Мы не рекомендуем значительно снижать значение ThreadStackSize, так как это может вызвать проблемы в работе PHP. Установка значения этого параметра выше 8 МБ в большинстве случаев не имеет практического смысла.
  2. ThreadsPerChild: Этот параметр можно настроить в соответствии с вашими потребностями, однако мы не рекомендуем устанавливать количество потоков ниже 32. Слишком большое значение для этого параметра может привести к исчерпанию оперативной памяти на вашем компьютере и сопутствующим проблемам.

Корректная настройка этих параметров поможет оптимизировать использование памяти сервером Apache, обеспечивая при этом стабильную и эффективную работу ваших приложений.

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

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

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

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

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

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

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

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

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

Clone this wiki locally