Skip to content

Установка

Templite поддерживает два сценария установки:

  • Через Composer — для встраивания в существующий Laravel-проект (для разработчиков).
  • Через install.php — standalone веб-установщик для размещения на хостинге без доступа к консоли.

Composer-установка

Templite — Composer-пакет. Подключается к существующему Laravel 12 приложению.

Требования

  • PHP 8.2+
  • Laravel 12
  • Composer 2
  • MySQL 8.0+ или PostgreSQL 14+

Pre-built ассеты

Готовая сборка админки уже включена в пакет и публикуется командой cms:install. Устанавливать Node.js и запускать npm run build для обычной установки не требуется.

Шаги

  1. Установить пакет:

    bash
    composer require templite/cms
  2. Запустить установщик CMS:

    bash
    php artisan cms:install
  3. На шаге «Создать суперадмина?» установщик интерактивно запросит логин и пароль (минимум 6 символов).

  4. После завершения откройте админку по URL, который выведет команда (по умолчанию /cms, настраивается через CMS_ADMIN_URL в .env).

Что делает cms:install

Команда выполняется в один проход и не требует ручных доделок:

  1. Очищает дефолтные Laravel-маршруты (CMS регистрирует свои через ServiceProvider).
  2. Публикует конфиг config/cms.php и pre-built ассеты админки.
  3. Создаёт служебные директории (storage/cms/, storage/app/cms/).
  4. Накатывает миграции CMS.
  5. Интерактивно создаёт суперадмина (модель Manager).
  6. Создаёт символическую ссылку public/storage через storage:link.
  7. Прописывает APP_INSTALLED=true в .env.
  8. Удаляет install.php из публичной директории, если он там есть.

Опции команды

ОпцияНазначение
--freshПересоздать все таблицы (migrate:fresh). Уничтожает существующие данные.
--skip-migrateПропустить миграции (например, если БД уже накатана отдельно).

Сброс пароля менеджера

Если потерян пароль:

bash
php artisan cms:reset-password <login>

Команда запросит новый пароль интерактивно. Если оставить ввод пустым — сгенерирует случайный 16-символьный пароль и покажет его один раз.

Подводные камни

Подводные камни

  • Templite требует Laravel 12. На более ранних версиях cms:install упадёт.
  • Терминология: учётка администратора админки называется менеджер (Manager). Соответствующая artisan-команда — cms:reset-password, а не user:*.
  • Если в проекте уже настроен Laravel Sanctum, проверьте SANCTUM_STATEFUL_DOMAINS в .env — иначе админка будет получать 401.
  • Дефолтная Laravel-view welcome.blade.php и дефолтные роуты routes/web.php будут перезаписаны установщиком (CMS берёт на себя catch-all маршрутизацию).

install.php (для хостинга)

Standalone-установщик — один PHP-файл без зависимостей. Используется для размещения готового сайта на shared-хостинге.

Что нужно

  • Хостинг с PHP 8.2+ и MySQL 8.0+
  • Доступ к файловой системе хостинга (FTP, SFTP, файловый менеджер хостинга)
  • Созданная база данных с реквизитами

Что скачать

  • install.php — скрипт-установщик
  • templite.zip (или версионированный архив вида templite-v2.0.3.zip) — дистрибутив CMS

Установщик сам найдёт архив рядом с собой (берёт самый свежий по дате при нескольких совпадениях).

Шаги

  1. Загрузить install.php и архив в публичную директорию хостинга (туда, куда указывает домен — обычно public_html/, www/ или htdocs/).

  2. Открыть в браузере: https://example.com/install.php.

  3. Установщик последовательно проведёт через:

    • Проверка системных требований (PHP, расширения, права на запись).
    • Распаковка архива.
    • Подключение к БД (хост, имя, пользователь, пароль).
    • Конфигурация сайта (название, URL).
    • Создание учётной записи администратора (логин, пароль).
  4. По завершении установщик пытается удалить себя автоматически. Откройте FTP/файловый менеджер и убедитесь, что install.php действительно исчез.

  5. Открыть админку по URL из конфигурации сайта (по умолчанию /cms, настраивается через CMS_ADMIN_URL в .env).

Безопасность

Обязательно убедитесь, что install.php удалён

install.php предоставляет полный доступ к настройке БД, файлам и учёткам администратора. Оставлять его на production = катастрофа.

Установщик пытается удалить себя автоматически после успешной установки. Если права на запись не позволили это сделать — удалите вручную через FTP или файловый менеджер хостинга.

Повторный запуск установщика на уже инициализированном проекте блокируется проверкой APP_KEY в .env.

Подводные камни

Подводные камни

  • Лимит upload_max_filesize и post_max_size в PHP должен превышать размер архива (≈ 30-50 MB).
  • Лимит max_execution_time — установщик запрашивает 300 секунд через set_time_limit(300), но если хостинг блокирует — распаковка может прерваться.
  • Лимит memory_limit — установщик ставит 256M; на некоторых hosting'ах ниже.
  • Если установка прервалась — удалите таблицы CMS из БД и .env (или используйте «Сброс» в установщике, если он на нужном шаге).

Связанные разделы

Распространяется под лицензией MIT.