Instalace
Laravix je self-hosted multi-tenant CMS postavený na Laravelu a Filamentu. Tento návod vás provede od prázdného adresáře k běžící administraci přes oficiální distribuci — bez Node.js a bez buildování assetů.
Požadavky
- PHP 8.4 s rozšířením
fileinfo(agd, pokud chcete automatické zmenšování obrázků) - Composer
- Databáze: SQLite (bez konfigurace, doporučeno na start), MySQL/MariaDB nebo PostgreSQL
- Webový server mířící na
public/(lokálně stačíphp artisan serve)
Pokud si nechcete PHP, databázi a služby instalovat sami, instalátor vám všechno postaví v kontejnerech — viz Vývojové prostředí v Dockeru.
1. Vytvoření projektu
composer create-project laravix/laravix my-site
cd my-site
Tím vznikne Laravel aplikace s nainstalovaným balíčkem laravix/cms a vyřešenými závislostmi.
2. Spuštění instalátoru
php artisan laravix:install
Interaktivní instalátor vás provede vším:
- Způsob běhu — první dotaz nabídne Docker (databáze a služby v kontejnerech, výchozí volba) nebo lokální služby (databázi už máte spuštěnou). Zvolte lokální služby, chcete-li pokračovat kroky níže; zvolte Docker a instalátor převezme řízení podle Vývojového prostředí v Dockeru. Dotaz se přeskočí, pokud už
compose.yamlexistuje. - Databáze — pokud nakonfigurovaná databáze není dostupná, nabídne SQLite, MySQL/MariaDB nebo PostgreSQL a přihlašovací údaje za vás zapíše do
.env. - Migrace, storage a šablony — spustí migrace,
storage:linkalaravix:theme:link. - Assety a šablona — publikuje assety administrace, konfigurační soubor, přepsatelné pohledy a assety Filamentu, poté publikuje výchozí šablonu do
themes/default. - První web — zeptá se na název webu a doménu. Web se vytvoří v režimu šablony s výchozí šablonou.
- Super admin — zeptá se na jméno, e-mail a heslo (minimálně 8 znaků) účtu, kterým se budete přihlašovat.
Očekávaný výsledek: přehledový box s URL webu, URL administrace a přihlašovacím e-mailem.
Instalace v Dockeru
Pokud si nechcete sami řešit PHP rozšíření, databázi a vyhledávání, spusťte:
php artisan laravix:install --docker
Instalátor vygeneruje compose.yaml, nastartuje kontejnery a zbytek instalace pak provede uvnitř kontejneru, takže skončíte u stejného přehledového boxu. Výběr služeb, porty a jednotlivé přepínače popisuje Vývojové prostředí v Dockeru.
Neinteraktivní instalace
Každý dotaz má svůj přepínač, takže instalátor funguje i ve skriptech:
php artisan laravix:install \
--site-name="Můj web" \
--domain=muj-web.test \
--admin-name="Jana Nováková" \
[email protected] \
--admin-password=tajne-heslo \
--no-interaction
S --no-interaction se instalátor nikdy neptá na způsob běhu — použije vaše lokální služby a očekává funkční připojení k databázi už nastavené v .env. Pokud se nepřipojí, skončí chybou místo dotazu. Pro neinteraktivní instalaci do kontejnerů přidejte --docker spolu s přepínači služeb.
Pokud už nějaké weby existují, instalátor odmítne běžet — přidejte --force, chcete-li ho spustit i tak.
3. Přihlášení
Otevřete https://vase-domena/admin (s php artisan serve pak http://localhost:8000/admin) a přihlaste se super admin účtem. Veřejný web odpovídá na doméně zadané u webu — Laravix hledá web podle hostname požadavku, takže doména v administraci musí odpovídat adrese, kterou prohlížíte.
Tip: Pro lokální vývoj použijte doménu typu
muj-web.testmířící na váš stroj a přesně tu zadejte jako doménu webu.
Řešení problémů
Frontend vrací 404 na všechno. Hostname požadavku neodpovídá doméně žádného webu. Zkontrolujte doménu webu v administraci (přepínač vlevo nahoře → váš web), případně jako super admin v sekci Weby.
Obrázky se nahrají, ale zmenšené varianty se neobjeví. Varianty generuje úloha ve frontě. Buď spusťte worker (php artisan queue:work), nebo pro malé weby nastavte QUEUE_CONNECTION=sync. Viz Nasazení do produkce.
Naplánovaný obsah se nikdy nepublikuje. Neběží Laravel scheduler. Přidejte cron záznam z článku Nasazení do produkce.
Nenačítají se styly šablony. Adresář dist/ šablony není zpřístupněný pod public/themes. Spusťte php artisan laravix:theme:link. Viz Struktura šablony.
Související články
- Vývojové prostředí v Dockeru — běh Laravixu a jeho služeb v kontejnerech
- Nasazení do produkce — produkční checklist (cron, fronta, cache)
- Lokální vývoj (monorepo) — přispívání do samotného Laravixu
- Aktualizace