[00:34]
[🔒]
✪
Статья
OSPanel 6: быстрый старт
Категории: Программир.; WEB технологии;
Оригинальный материал статьи можно найти по этой ссылке
Пятого мая 2024г была выпущена релизная шестая версия популярного пакета OSPanel. Принцип работы с программой кардинально изменился по сравнению с предыдущей, пятой, версией, в связи с чем у многих пользователей возникли затруднения с её использованием. Ситуацию усугубляет тот факт, что на текущий момент программа не имеет привычной панели управления. Попробуем разобраться, как теперь всё работает.
Она кардинально изменилась. По сути, OSPanel 6 – это совершенно новый продукт, предназначеный для тех же самых целей и от того же разработчика, что и OpenServer 5. Это важно. Вам стоит забыть весь опыт использования предыдущего пакета и сосредоточится на новых принципах.
Первое, что бросается в глаза – сервер "не работает" сразу после установки. Это потому что по умолчанию все модули из комплекта поставки отключены и вам следует их включить. Здесь есть своя логика: в пакете множество версий разных модулей (php, баз данных и т.п), во время установки вы можете установить их все, а можете установить только нужные именно вам. Поэтому незачем навязывать использовать по умолчанию какие-то определенные версии. Всё в ваших руках. Вы установите и включите именно то, что вам нужно.
О включении модулей рассказано ниже в разделе "Включение модулей".
Также изменился способ конфигурации ваших локальных сайтов. Ранее было достаточно создать папку и указать имя домена и эту папку в панели управления. Да, это было очень просто для неподготовленного пользователя, но имело серьезные ограничения в возможностях тонкой настройки домена.
Теперь вся конфигурация описывается в конфигурационных файлах, которые должны располагаться в специальном каталоге с именем .osp (именно так, с точкой), который создан в директории вашего проекта (сайта). Но не нужно думать, что всё стало мега-сложно. Для большинства будет достаточно базовой конфигурации в единственном файле project.ini. С другой стороны, для более продвинутой настройки домена появились обширные возможности – дополнение или изменение конфигурации apache/nginx, установка переменных окружения, создание крон-задач и другое. И все это персонально для одного домена, не затрагивая остальные.
О базовом конфигурировании сайта написано ниже, в разделе "Создание нового проекта".
И еще один неочевидный для многих момент – "отсутствие" модулей Apache =). Такого названия нет в списке модулей и пользователи, справедливо полагая что web-сервер (как программа) необходим для работы сайтов, включают дополнительно модуль Nginx. При этом, не знают/забывают что nginx нужно отдельно настроить. Самый частый вопрос - почему не работает ЧПУ? Потому что вы его не настроили. В Apache ЧПУ (mod_rewrite) настраивается в файле .htaccess, этот файл всегда идет в комплекте с CMS или фреймворком и проблем не возникает. В nginx нет аналога такого файла, и все настраивается в основном конфиге nginx.conf. В рамках OSP6 виртуальный хост nginx может быть настроен в конфигурации домена (.osp/nginx/*.conf).
Так а что там с Апачем? Конечно, на самом деле он присутствует, но оформлен как часть модуля PHP-x.x. Если посмотреть на список модулей, то можно увидеть два типа модулей php: PHP-x.x и PHP-x.x-FCGI. Вот первый тип – это и есть php с апачем.
Так что, например, для вордпресса или джумлы просто включите модуль PHP-x.x и не включайте Nginx-x.x (особенно если не умеете его настраивать).
В комплексе еще много разных изменений и нововведений, однако в рамках статьи формата "быстрый старт", думаю этого достаточно. Остальное можно почерпнуть из официальной документации.
Будем полагать, что вы уже скачали и установили новую версию. Запустите программу с помощью ярлыка на рабочем столе, или дважды щелкнув по файлу OSPanel/bin/ospanel.exe. После запуска в трее панели задач появится значок программы.
Важно при первой установке согласится с установкой корневого сертификата (если вы планируете использовать ssl для своих локальных сайтов), а также с запуском инструмента подготовки системы. Если вы по каким-либо причинам этого не сделали, то это можно сделать парой команд в консоли. Выберите в меню программы пункт "Интерфейс командной строки" для открытия консоли и выполните последовательно команды:
osp cacert initosp sysprep
Первая сгенерирует SSL-сертификат, а вторая выполнит подготовку вашей системы. Что именно выполняет утилита подготовки, вы можете узнать, изучив её репозиторий.
По умолчанию, после установки в пакете отключены все модули, соответственно, ничего у вас работать не будет, даже сайты-примеры.
К счастью, это легко исправить. Откройте через меню уже знакомую консоль и включите необходимые модули. Например, нам нужны php 8.1 для сайтов-примеров и php 8.2 для своего проекта. Данная версия позволяет одновременно запускать любые версии php, указывая нужную для каждого отдельного сайта. Включим их:
osp on php-8.1osp on php-8.2
На этом этапе у вас уже заработают сайты-примеры. Перейдите в браузере по адресу https://example.local чтобы убедится в этом.
Включить модули вам потребуется только один раз, при следующей перезагрузке ранее включенные модули будут запущены автоматически.
Как видите, пока всё очень просто, и не нужно часами разбираться, почему Open Server не работает =)).
Пройдите в каталог OSPanel/home и создайте там для него директорию. Имя не имеет значения, только не используйте кириллические символы.
Чтобы OSPanel понял, что это директория сайта, в ней нужно создать служебный каталог с именем .osp, и в этом служебном каталоге создать файл project.ini. Также создайте публичный каталог будущего сайта. Это та директория, в которую вы будете распаковывать файлы CMS или размещать собственный index.php:
В файле project.ini задайте минимальную конфигурацию для сайта – укажите имя домена, необходимую версию php и расположение публичного каталога:
[mysite.local]php_engine = php-8.2public_dir = {base_dir}\public
Перезагрузите программу для применения изменений.
После перезагрузки можно перейти по адресу https://mysite.local и увидеть что он работает. Осталось только разместить в директории home\my_first_site\public файлы вашего сайта и продолжить над ним работу.
Не обязательно создавать папку public, файлы сайта вполне можно располагать в корне проекта (home\my_first_site). В этом случае вам не нужно указывать в конфигурации параметр public_dir.
Для ваших сайтов скорее всего потребуется база данных. Включить соответствующий модуль всё так же легко:
osp on mysql-8.0
Обратите внимание, что в OSPanel v6 для подключения к базе данных в качестве имени хоста следует использовать имя модуля вашей БД. Например
HOST=MySQL-8.0
Важно! Никогда не используйте localhost в качестве имени хоста в OSPanel v6.
А если вы привыкли работать с PhpMyAdmin, то у меня для вас есть инструкция по его установке.
Когда локальный сервер установлен и настроен локальный домен, можно приступить к установке PMA. Для этого нужно скачать архив с последней версией с официального сайта: https://www.phpmyadmin.net/downloads/. Обращайте внимание на системные требования для работы программы. На текущий момент последняя версия – 5.2.2. Минимальные требования следующие:
Current version compatible with PHP 7.2 and newer and MySQL/MariaDB 5.5 and newer.
Распакуйте файлы из скаченного архива в ранее созданную папку OSPanel\home\phpmyadmin\public\.
Теперь нужно настроить PMA. Переименуйте файл config.sample.inc.php в config.inc.php.
Это довольно очевидная вещь, но многие забывают переименовать конфигурационный файл и редактируют образец. Имя конфиг-файла обязательно должно быть config.inc.php.
Откройте файл для редактирования и внесите следующие изменения:
Введите случайную 32-байтную символьную строку в качестве секрета шифрования.
$cfg['blowfish_secret'] = '7040DF61B592E6F8CEBE4CAE84F9D7FD';
И сконфигурируйте хотя бы один сервер:
$cfg['Servers'][$i]['auth_type'] = 'cookie';$cfg['Servers'][$i]['host'] = 'MySQL-8.0';$cfg['Servers'][$i]['compress'] = false;$cfg['Servers'][$i]['AllowNoPassword'] = true;
Обратите внимание, что в качестве хоста НЕ используется localhost!
Open Server Panel запускает сервисы мускула на других IP – для каждой версии из состава комплекса используется отдельный адрес. Посмотреть эти адреса можно в конфигурационных файлах соответствующей версии, например OSPanel\config\MySQL-8.0\default\settings.ini:
[main]ip = 127.127.126.25port = 3306
[main]
ip = 127.127.126.25port = 3306
Однако я не рекомендую вам использовать IP-адрес для подключения, может быть он поменяется в будущих версиях. Вместо этого используйте имя хоста, которое совпадает с названием версии модуля, OSP создает такие хосты для всех модулей. В данном случае я использовал имя MySQL-8.0.
Теперь можно перезапустить модуль базы данных и перейти по адресу http://phpmyadmin. Вы увидите форму логина PMA, а это значит, что настройка и установка прошла успешно, и вы можете начать пользоваться привычным инструментом.
Если вы одновременно запускаете несколько версий MySQL и хотите иметь доступ к любой из них через PhpMyAdmin, то вам следует просто добавить еще один сервер в конфигурацию PMA:
$i++; // Обязательно увеличить счетчик, // иначе настройки перезапишутся для предыдущего сервера$cfg['Servers'][$i]['auth_type'] = 'cookie';$cfg['Servers'][$i]['host'] = 'MySQL-5.7';$cfg['Servers'][$i]['compress'] = false;$cfg['Servers'][$i]['AllowNoPassword'] = true;
Теперь у вас появится возможность выбрать сервер при авторизации:
Чтобы не вводить логин и пароль вручную при каждом входе можно сразу прописать их в конфигурации. В Open Server Panel по умолчанию доступ к базам данных осуществляется пользователем root без пароля. При этом необходимо поменять способ аутентификации на config:
/*** First server*/$i++;/* Authentication type */$cfg['Servers'][$i]['auth_type'] = 'config';/* Server parameters */$cfg['Servers'][$i]['host'] = 'MySQL-8.0';$cfg['Servers'][$i]['compress'] = false;$cfg['Servers'][$i]['user'] = 'root';$cfg['Servers'][$i]['password'] = '';$cfg['Servers'][$i]['AllowNoPassword'] = true;/*** Second server*/$i++;$cfg['Servers'][$i]['auth_type'] = 'config';$cfg['Servers'][$i]['host'] = 'MySQL-5.7';$cfg['Servers'][$i]['compress'] = false;$cfg['Servers'][$i]['user'] = 'root';$cfg['Servers'][$i]['password'] = '';$cfg['Servers'][$i]['AllowNoPassword'] = true;
/*** First server*/$i++;/* Authentication type */$cfg['Servers'][$i]['auth_type'] = 'config';/* Server parameters */$cfg['Servers'][$i]['host'] = 'MySQL-8.0';$cfg['Servers'][$i]['compress'] = false;$cfg['Servers'][$i]['user'] = 'root';$cfg['Servers'][$i]['password'] = '';$cfg['Servers'][$i]['AllowNoPassword'] = true;
/*** Second server*/$i++;$cfg['Servers'][$i]['auth_type'] = 'config';$cfg['Servers'][$i]['host'] = 'MySQL-5.7';$cfg['Servers'][$i]['compress'] = false;$cfg['Servers'][$i]['user'] = 'root';$cfg['Servers'][$i]['password'] = '';$cfg['Servers'][$i]['AllowNoPassword'] = true;
Теперь при переходе по адресу http://phpmyadmin вы сразу будете попадать на первый сервер, и в любое время сможете переключиться на другой без необходимости вводить логин и пароль.
Как видите, установить PhpMyAdmin на шестую версию Open Server Panel очень просто.
Начать использовать OSPanel шестой версии на самом деле довольно просто.
А для более продвинутого использования можно ознакомится с документацией, Например, вы можете легко создавать структуру для проектов на Laravel и в пару кликов открывать консоль со всем необходимым окружением для выполнения artisan-команд. Или хранить проекты отдельно от установки OSPanel, указав собственный домашний каталог для сайтов.
Чтобы написать комментарий нужно, зарегистрироваться
Голосования и тесты: 0