Установка

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

  • MariaDB >= 10.3
  • PHP >= 7.0
  • Composer >= 2.4
  • nodejs >= 16 (если планируете делать сборки фронтендов)

Система пока не поставляется в сборке docker-compose вместе с настроенным http сервером и БД. На время пришлось отказаться от этой идеи, но в будущем она есть и будет реализована.

git clone https://github.com/avtobys/wrong-mvc.git
cd wrong-mvc/
composer install
npm install

Разверните проект в своей структуре. Переменная $_SERVER['DOCUMENT_ROOT'] должна указывать на каталог public_html/ именно он будет доступен по http, а всё что находится выше данного каталога по http недоступно.

Если ваша структура не имеет каталогов public_html/ или структура проекта будет мешаться с другой, вы должны настроить свой nginx/apache2 сервер соответсвующим образом под данную структуру.

Внимание
Меняя структуру своего DOCUMENT_ROOT в настройках nginx/apache2 учитывайте, что вам может потребоваться перенастроить в конфигах Web сервера также open_basedir директиву, для того чтобы php обрабатывал файлы на уровень выше каталога public_html/ вашего проекта, иначе включаемые файлы и классы не смогут быть выполнены и вы не запустите даже установщик. Поскольку open_basedir может быть ограничена у вас именно настройками apache2/nginx. Но скорее всего вам придётся наоборот "опускать" структуру на уровень ниже, создав дополнительный public_html каталог. Например в типичной isp manager конфигурации каталогов /var/www/username/data/www/example.com/{доступ по http} вам может понадобится поправить web конфиги на такую структуру /var/www/username/data/www/example.com/public_html/{доступ по http} чтобы не мешать файлы проекта с другими доменами пользователя username

Весь необходимый роутинг реализован в uri-router.php Для apache .htaccess файл есть в архиве, а если у вас nginx то достаточно прописать минимальные реврайт директивы

location / {
try_files $uri $uri/ @handler;
location ~ [^/]\.ph(p\d*|tml)$ {
try_files /does_not_exists @php;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
expires max;
}
}
location @handler {
rewrite ^(.*) /?$1 last;
}

Подключение к БД

Создайте базу данных и пользователя mysql

Запуск

Перейдите на главную страницу сайта и в окне установщика укажите доступы к БД и основного администратора системы