Установка и настройка OSPanel 6

14 Мая 2024 22:14

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

Скачать

По этой ссылке - https://ospanel.io/download/

Установка

Запускаем скачанный файл. В процессе установки ничего особого не будет, за исключение выбора модулей - можно выбрать только те, которые нужны. Все остальное можно оставить неизменным и нажимать "Далее". В конце установки будет предложено установить сертификат SSL от open server. Можно нажать "Да", но нужно имет ьв виду, что подобные сертификаты не все браузеры устанавливают, например, в Mozilla его потребуется поставить вручную.

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

Настройка

Расположение проектов по умолчанию в директории OSPanel/home

Чтобы OSPanel узнал о проектах, нужно добавить в проект папку .osp и положить в нее файл project.ini. В нем нужно прпоисать имя домена в квадратных скобках, например [project.loc], а также прописываем версию PHP и по необходимости публичную папку.

Пример конфига home/project.loc/.osp/project.ini:

[api.home-portal.prod]
php_engine   = PHP-8.3
public_dir   = {base_dir}/public
nginx_engine = Nginx-1.26

Перезагружаем сервер.

Настройки, которые, помимо домена, поддерижвает файл project.ini:

Настройка Описание Пример
php_engine Версия PHP PHP-8.3
public_dir Публичная директория Например, приложения на Laravel запускаются из папки public, тогда значение будет {base_dir}/public

Доступны следующие шаблонные переменные:

Переменная Описание
{base_dir} Корневой каталог проекта (местонахождение служебного каталога .osp)
{host}     Имя домена (для интернационализованных доменов формат Punycode используется)
{host_decoded} Видимое имя домена (для интернационализованных доменов формат Punycode не используется)
{root_dir} Корневой каталог программы (полный путь)
{root_drive} Диск корневого каталога
{root_path} Путь к корневому каталогу программы

 Это пока основное, что может потребоваться в запуске проектов.

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

Чтобы добавить домены на проект (например, если у нас АПИ и клиент на одном проекте), нужно просто добавить секции с квадратными скобками в файл .osp/project.ini:

[api.home-portal.prod]
php_engine   = PHP-8.3
public_dir   = {base_dir}/public
nginx_engine = Nginx-1.26

[home-portal.prod]
public_dir   = {base_dir}/client
nginx_engine = Nginx-1.26

Ручная настройка конфига nginx или apache:

Нужно добавить в папку .osp папку Apache или Nginx соответственно и в ней создать файл с именем домена, например, project.loc.conf.

В конфиге прописать соответтвующие директивы для нужного веб-сервера.

Важно! Конфиг нужно писать с учетом того, что он уже заключен в тег VirtualHost apache или server{} nginx.

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

location / {
    try_files $uri $uri/ /index.html;
}

Запуск

Чтобы запустить проект, нужно включить необходимые модули, например, PHP, Apache и Mysql. Делаем это из трея (На примере PHP) - пр. клавишей по OSPanel -> Модули -> PHP -> PHP-8.3 -> Включить. Важно использовать версию PHP не Fast CGI.

Примечание. Включаем версию PHP, которую указали в конфиге папки .osp.

Подключение базы данных:

  • server: MySQL-8.2 (Версию можно писать как mysql-8.2 или mysql-8.2.local)
  • user: root
  • password: (Пустой)

Возможные проблемы

Если вы делаете API, например, на Laravel то может возникнуть такая проблема, что все запросы с фронта будут блочиться по CORS. Тут проблема в том, что ко всем запросам проверку по заголовку "Access-Control-Allow-Origin" делает еще и apache.

Чтобы это исправить, открываем файл E:\server\config\PHP-8.3\default\templates\httpd.conf, ищем там строчку по "Access-Control-Allow-Origin" и удаляем ее. Она будет вот в этом блоке: