Open Server 6

Обновился до 6 версии Open Server и меня ждал сюрприз. Проект решил сменить целевую аудиторию и пошёл в более профессиональном направлении. Мне это очень понравилось, потому что, теперь мы получаем:

  • HTTPS для каждого домена из коробки
  • Возможность выставить разные версии PHP для разных доменов
  • Более удобная структура папок для разворачивания поддоменов
  • Можно попасть в консоль каждого модуля в два клика

Проекты стали настраиваться чуточку сложнее, но гораздо более гибко.

Что нужно знать для быстрого старта:

Папка с проектами теперь по-умолчанию называется home. В неё складируются папки локальных доменов, как обычно. Но, также в каждой папке домена теперь должна лежать папка .osp с файлом project.ini. В этом файле мы можем задавать пути, ссылку и менять версию PHP. Пример:

[localdomains.local]
project_dir = {base_dir}
project_url = https://{host_decoded}
public_dir  = {base_dir}\www
php_engine  = PHP-8.3

[phpmyadmin.localdomains.local]
project_dir = {base_dir}
project_url = https://{host_decoded}
public_dir  = {base_dir}\phpMyAdmin
php_engine  = PHP-8.3

Что мы можем творить внутри папки .osp, можно посмотреть внутри домена full-example.local,

Сменить пароль в MySQL:

Заходим в Модули -> MySQL -> Запустить Shell. Попадаем сюда сразу под root и можем в этом убедиться:

SELECT CURRENT_USER();

Далее, обычно я делаю следующее:

USE mysql;
UPDATE USER SET plugin="mysql_native_password" WHERE User='root';
FLUSH PRIVILEGES;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'new-password';

После чего перезагружаем сервер. Потом можем зайти в консоль: Модули -> MySQL -> Открыть в консоли. И проверить наш новый пароль:

mysql -u root -p

Если всё нормально, то в конфиге \OpenServer\config\MySQL-8.2\default\templates\my.ini надо в первый блок добавить строчку:

password = new-passowrd

Это нужно для того, чтобы в OpenServer работал пункт меню "Открыть в Shell" для модуля MySQL.

Сам MySQL больше не крутится по адресу "localhost". В хост мы теперь прописываем типа mysql-8.4.local. Как я понимаю, это сделано для того, чтобы можно было запускать разные версии MySQL одновременно под разными IP. В целом, проект теперь нацелен на то, чтобы можно было запускать и новые и легаси проекты одновременно с разной конфигурацией, с разными версиями базы.