Перейти к содержанию

Возможности Open Server Panel 6

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

Основные преимущества⚓︎

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

  • Конфигурируемость всего и вся (читаем документацию)
  • Управление через меню в трее + консольный режим + GUI (веб-интерфейс в разработке)
  • Модульность (каждый проект может иметь собственные версии PHP, базы данных, NPM, Apache/Nginx на выбор)
  • SSL без заморочек (главное — согласиться с добавлением сертификата при установке)
  • Множество расширений PHP «из коробки»
  • 100% стабильность работы

Надёжный хостинг


Установка⚓︎

Меню в трее

Использование⚓︎

По умолчанию OSP проверяет пользовательские домены в директории <Путь к OSP>/home. Чтобы изменить этот путь или добавить дополнительные пути для проверки, отредактируйте значение переменной projects_search_path в файле конфигурации config/program.ini (если у вас OSP 6.0.0) или в настройках программы (если у вас OSP 6.2+).

Примеры проектов

Изначально в комплекте уже есть 2 демонстрационных примера, например, <Путь к OS Panel 6>\home\example.local — вы можете заглянуть в эту директорию, найти там подпапку .osp и файл project.ini в ней. В нем содержатся все настройки проекта, в том числе указаны модули, которые нужны для работы:

[example.local]

php_engine  =
http_engine =
Для работы демонстрационных проектов достаточно выбрать http_engine (неважно, Apache или Nginx). Для этого откройте меню OS Panel (возле часиков в трее), найдите пункт «Модули => HTTP» и включите желаемый движок. После этого сайт example.local можно будет посмотреть в браузере.

Общий принцип:

  • Создаём папку проекта — например, project.local — в директории <Путь к OSP>/home
  • Размещаем файлы проекта в созданной папке
  • Создаём в корне проекта папку .osp, а в ней файл project.ini с конфигурацией проекта (начиная с 6.4.5 файл создавать уже не нужно, программа всё сделает за вас)

Примечание

Название домена может быть любым — vasja-pupkin.loc, mysite.test и т. п. Главное — не забудьте указать название своего домена в файле .osp/project.ini в квадратных скобочках. Почитайте про ini-файлы, если интересен их синтаксис.

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

[project.local]

php_engine  = PHP-8.4
http_engine = Apache
[project.local]

php_engine  = PHP-8.4
http_engine = Nginx
[project.local]

http_engine = Apache
[project.local]

http_engine = Nginx

Совет

Узнать имена имеющихся модулей и проверить их статус можно с помощью команды osp modules в консоли OSP.


После указания в project.ini нужной связки модулей включите их через консоль (osp on ...) или через панельку в трее и перезагрузите OSPanel.

Памятка по работе с консолью

Включить конкретные модули:

osp on MariaDB-11.8 & osp on PHP-8.4

Если вам нужно прямо в консоли задать нужную среду окружения (например, чтобы по команде php -v отображалась заданная вами версия PHP), используйте команду osp use:

osp use PHP-7.4

Чтобы одновременно с указанием используемой версии PHP подключить нужные модули, укажите их через osp add:

osp add Redis-7.0 & osp add MySQL-5.7 & osp use PHP-7.4
Для объединения сред нескольких модулей без изоляции от системной переменной PATH выполните команду osp reset перед запуском других команд.

Увидеть краткую информацию обо всех имеющихся проектах можно с помощью команды osp projects

Узнать список всех доступных команд: osp или osp help

Обновление компонентов⚓︎

Начиная с версии 6.4.0 проблем с обновлениями компонентов должно стать меньше:

Процесс обновления компонентов для версий OS Panel ниже 6.4.0⚓︎

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

Обновление PHP (например, если у вас 8.4.1, а хочется 8.4.10)
  • Останавливаем OS Panel.
  • Делаем бэкап папки <Путь к OS Panel>\modules\PHP-8.4.
  • Скачиваем новую версию (выбираем вариант Thread Safe).
  • Переходим в директорию <Путь к OS Panel>\modules\PHP-8.4.
  • В версии 6.0.0 повторяем аналогичные действия для PHP-8.4-FCGI. В версиях выше это не требуется.
  • Распаковываем содержимое архива поверх имеющихся файлов, с заменой.
  • Перезапускаем OS Panel, проверяем работоспособность.
Обновление Apache
  • Останавливаем OS Panel.
  • Делаем бэкап папки <Путь к OS Panel>\modules\PHP-{версия}\Apache.
  • Скачиваем новую версию (выбираем Win64)
  • Переходим в директорию <Путь к OS Panel>\modules\PHP-{версия}\Apache.
  • Распаковываем содержимое папки Apache24 внутри архива поверх имеющихся файлов, с заменой.
  • Перезапускаем OS Panel, проверяем работоспособность.
Обновление других модулей
  • См. статью Обновление компонентов Open Server — там речь об OSP 5, но в принципе общая стратегия подойдет и для шестой версии, нужно лишь обращать внимание на расположение файлов, модулей и конфигураций.

Добавление модулей⚓︎

Сообщество не спит и уже снабжает проект дополнительными модулями.

В версии 6.2.6 PHP 8.4 уже есть, а процесс добавления модулей чуть упрощается (например, не нужно указывать IP). Однако, если используется устаревшая версия, её всегда можно обновить.

Кому не лень, может и сам создать модуль и поделиться с сообществом.

Работа с NVM⚓︎

Если Node.js у вас уже установлен глобально, в системе, то ничего делать не нужно. Если же нет, читайте дальше.

Устанавливаем нужную версию Node.js — osp node install latest, osp node install lts (рекомендуемый вариант), или osp node install all.

Затем для работы с нужной версией используйте osp add Node-x.x.x, osp use Node-x.x.x в консоли. Подробности в документации.

Пример подключения JS проекта

Допустим, есть проект на React, который вы хотите протестировать. Для этого:

  • Создайте директорию <Путь к OS Panel 6>\home\react.local
  • Скопируйте в эту директорию файлы проекта
  • Создайте файл <Путь к OS Panel 6>\.osp\project.ini:
[react.local]

http_engine = Nginx
web_root    = {base_dir}\dist
  • Убедитесь, что модуль Nginx запущен (Модули => HTTP)
  • Перейдите в корень проекта, откройте консоль и выполните команды pnpm i, pnpm run build
  • Перезагрузите OSPanel и протестируйте сайт https://react.local в браузере

Работа с Laravel⚓︎

При работе с Laravel и подобными фреймворками публичной папкой, как правило, является public в корне проекта. Сначала установите фреймворк в пустой папке проекта, а потом создайте .osp/project.ini:

[laravel.local]

php_engine  = PHP-8.2
http_engine = Nginx
web_root    = {base_dir}\public

Конфигурация с PHP⚓︎

Поместите в корневую директорию проекта (или в public, если используете) файл .user.ini с нужными настройками. Например:

error_reporting    = E_ALL & E_NOTICE
max_execution_time = 45
max_file_uploads   = 3
В директории home/full-example.local можно увидеть и другие примеры настроек с помощью ini-файлов:

  • переменные окружения (.osp/env.ini)
  • собственные пункты меню (.osp/menu.ini)
  • задачи планировщика (.osp/tasks.ini)

Управление базами данных⚓︎

Для удобного доступа ко всем имеющимся базам данных можно использовать Adminer с закладками, HeidiSQL, DBeaver и т. п. В приложениях, при подключении к конкретной базе данных, вместо localhost используйте название движка базы данных (MariaDB-11.8 и т. п.). См. примеры подключения

Хотите PhpMyAdmin?

Нытики победили — начиная с OSP 6.4.5, phpMyAdmin опять входит в комплектацию

Adminer

Например, если вы привыкли использовать Adminer, создайте по аналогии папку для него (в директории <Путь к OSP>/home) и добавьте необходимые строчки в .osp/project.ini:

[adminer]

php_engine = PHP-8.2

Используя плагин OneClick Login, можно сделать удобный интерфейс для выбора нужной базы данных:

Adminer с закладками

Добавление своих пунктов меню⚓︎

В контекстное меню каждого проекта можно добавить пункты для открытия папки проекта в нужных вам приложениях. Для этого воспользуйтесь графическим интерфейсом, на вкладке «Редактор меню». Пример для VS Code и PHPStorm:

[22]

caption        = Открыть в VS Code
category       = projects
command        = "%COMSPEC%" /c "code {project_dir}"
hide           = on
icon           = newspaper

[23]

caption        = Открыть в PHPStorm
category       = projects
command        = "%COMSPEC%" /c "osp project {host_decoded} & start "" "phpstorm64" "{project_dir}""
hide           = on
icon           = code

Примечание

Если данные приложения не добавлены в переменные среды (в секцию PATH), вместо code и phpstorm64 придётся указывать полный путь к соответствующим exe-файлам.

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

Общий принцип таков: создаём папку <Путь к OS Panel 6>\apps\<Папка приложения> (вместо apps можете использовать свое название). Помещаем туда файлы приложения. Затем добавляем секцию приложения в общее меню (через Настройки - Редактор меню):

[Floorp]

caption = Floorp
command = "{root_dir}\apps\Floorp\floorp-portable.exe"
icon    = firefox
Ссылки на некоторые портативные программы можно найти в статье Обновление компонентов Open Server

Обновление от сборки к сборке⚓︎

Информация

Протестировано на версиях OSP 6.0.0-6.4.0

  • Экспортируйте нужные вам базы данных, затем закройте OS Panel.
  • Переименуйте папку с текущей сборкой, например, в OSP_old.
  • Установите свежую сборку.
  • Скопируйте папку home из вашей сборки в свежеустановленную (кроме папок сайтов-примеров, если вы в них ничего не меняли).
  • В более ранних сборках (<= 6.0.0.570 beta) настройки доменов хранились в config/domains.ini — не забудьте перенести из него записи в файл .osp/project.ini в корне каждого вашего домена, согласно документации (некоторые переменные изменились).
  • В версии 6.0.0 настройки меню хранились в файле config/menu.ini, а в 6.2.6 переехали в файл system/menu.dat. Аналогично, config/program.ini => system/program.dat. Если вы в этих файлах что-то меняли, не забудьте перенести свои правки, воспользовавшись графическим интерфейсом. Вручную редактировать файлы в директории system не рекомендуется.
  • Запустите bin/ospanel.exe из свежей сборки.
  • Запустите нужные вам модули.
  • Обновите версии модулей в файлах .osp/project.ini ваших проектов, если соответствующие модули обновлены.
  • Обновите файл .osp/project.ini каждого проекта в соответствии с новым синтаксисом (>= 6.4.0).
  • Импортируйте базы данных, сохранённые ранее.
Миграция баз данных через консоль

На примере переезда с MariaDB 11.7 на 11.8:

  • Скопируйте папку с данными используемого модуля в новое расположение. Например: data\MariaDB-11.7\default => data\MariaDB-11.8\default
  • Выполните в консоли обновлённого модуля команду mysql_upgrade
Миграция баз данных через Adminer
  • Нажмите кнопку «Экспорт», выберите нужные базы данных, экпортируйте в SQL-файл (в текущей версии OS Panel)
  • Нажмите кнопку «Импорт», импортируйте SQL-файл (в новой версии OS Panel)
Миграция с пятой версии

Если вы решились перейти с предыдущей версии панели и хотите сохранить свои сайты, нужно лишь запастить «бубном, чаем/кофе, настроением» и следовать простой инструкции:

  • Если ваш проект использует базу данных, экспортируйте её с помощью подручных средств (phpMyAdmin, Adminer, HeidiSQL и т. п.)
  • Скопируйте файлы сайта в новое расположение. Например, из <Путь к OS Panel 5>\domains\<название сайта> в <Путь к OS Panel 6>\home\<название сайта>
  • Добавьте информацию о вашем сайте (.osp\project.ini)
  • Если ваш домен требует более тонкой настройки, воспользуйтесь проектом <Путь к OS Panel 6>\home\full-example.local в качестве примера, или почитайте справку
  • Подключите нужные модули в OSP 6: базу данных, PHP и что вам там ещё нужно
  • Импортируйте сохранённую ранее базу данных
  • Остановите и закройте OSP 5, проверьте свой сайт уже в OSP 6, при необходимости поменяйте параметры подключения к базе данных
  • Если вам нужны какие-то портативные программы, которыми вы пользовались в OSP 5, вы можете перенести их в отдельную папку внутри директории <Путь к OS Panel 6>\apps (назвать можно как угодно)

Панель управления⚓︎

Веб-интерфейс нам пока не завезли, но графический интерфейс в версии 6.2.6 уже появился:

OSPanel GUI

Примечание

При возникновении каких-либо проблем или вопросов загляните в документацию или в Telegram. Но начать лучше с чтения логов — osp log general.


Комментарии