Publikování aplikace Laravel na subdoméně pomocí LWS Panelu

Procédure

V LWS Panelu je složka poddomény pevně daná: /htdocs/app.exemple.com/ pro app.exemple.com a nemůže ukazovat na složku public/ Laravelu. Chcete-li publikovat aplikaci Laravel, kterou jste vyvinuli, nahrajte celý projekt do této složky, přidejte do jeho kořene soubor .htaccess, který přesměruje návštěvníky do public/, nainstalujte závislosti pomocí Composeru v Terminálu a poté nastavte soubor .env. Tato nápověda popisuje tyto kroky i hledání příčiny chyby 500.

Publikujte svou aplikaci v poddoméně

  1. Vytvořte poddoménu

    V ovládacím panelu vašeho hostingu, v sekci „Správa domény“, otevřete „Poddomény“. Do pole „Poddoména k přidání“ napište pouze část před doménou (například app) a poté klikněte na „+ přidat“. SSL certifikát poddomény se vygeneruje přibližně za 3 minuty: zobrazí se odpočítávání „Zbývající čas“.

    Sloupec „Adresář“ ukazuje složku poddomény: app.exemple.com, tedy /htdocs/app.exemple.com/. Žádné pole neumožňuje zvolit jinou složku. Podrobnosti k této obrazovce najdete v nápovědě Jak vytvořit poddomény na LWS Panelu?

    Publikování aplikace Laravel na subdoméně pomocí LWS Panelu

  2. Nahrajte projekt Laravel do složky poddomény

    Nahrajte celý projekt (složky app, bootstrap, config, public, routes, storage, soubory artisan a composer.json…) přímo do /htdocs/app.exemple.com/. Soubor index.php Laravelu musí být umístěn v /htdocs/app.exemple.com/public/index.php.

    Pomocí Správce souborů (sekce „Soubory“) nahrajte archiv .zip projektu přes „Nahrát“ (max. 1 125 MB na soubor), vyberte jej a klikněte na „Rozbalit“. Pro velmi velké množství souborů je vhodnější FTP klient. Pokud je váš projekt na Gitu, můžete jej také naklonovat z Terminálu: viz Jak používat GIT s webovým terminálem na mém sdíleném hostingu LWS?

  3. Směrujte návštěvníky do složky public/

    Protože složka poddomény nemůže ukazovat na public/, je to soubor .htaccess umístěný v kořeni /htdocs/app.exemple.com/ (vedle složky public, ne uvnitř), který přesměruje návštěvníky do public/. Jeho obsah je uveden v nápovědě Instalace Laravelu na sdílený hosting LWS, část „Jak správně nakonfigurovat svůj web Laravel?“.

    Ve Správci souborů otevřete složku poddomény, klikněte na „+ Soubor“ a pojmenujte jej .htaccess. Poté klikněte na jeho název, otevřete jej v „Editoru kódu“, vložte obsah a klikněte na „Uložit změny“.

    Neupravujte soubor .htaccess, který už je v public/: je dodán s Laravel a přesměrovává požadavky na index.php.

  4. Zvolte verzi PHP pro poddoménu

    V sekci „Databáze & PHP“ otevřete „Konfigurace PHP“. V kartě „Instalace a výběr PHP“ zkontrolujte, že je zaškrtnuta požadovaná verze (například „PHP 8.5 + Ioncube (doporučeno)“). V kartě „Konfigurace PHP podle webů“ pak zvolte tuto verzi na řádku své poddomény a klikněte na „Uložit“.

    Publikování aplikace Laravel na subdoméně pomocí LWS Panelu

    Pokud se zobrazí lišta „Pozor, deklarovali jste soubor(y) .htaccess, což přepíše verzi PHP zobrazenou ve vašem zákaznickém účtu“, verze PHP pro tuto složku pochází z řádku v souboru .htaccess, jehož cesta je zobrazena: je třeba upravit právě tento řádek. Více podrobností v článku Jak nastavit PHP na mém hostingu?

  5. Nainstalujte závislosti pomocí Composera

    Otevřete „Software“ a poté „Terminál“. Konzole se spustí ve složce ~/htdocs. Přesuňte se do složky poddomény, zobrazte verzi PHP v konzoli a poté nainstalujte závislosti projektu:

    ⌨ Na serveru
    cd app.exemple.com
    php -v
    composer install

    Zobrazená verze pomocí php -v musí odpovídat vaší verzi Laravelu. Pokud ne, změňte verzi PHP Terminálu podle návodu Jak změnit verzi PHP ve Web Terminálu LWS Panelu.

  6. Nastavte soubor .env

    Soubor .env se nachází v kořeni projektu (/htdocs/app.exemple.com/.env), nikoli v public/. Otevřete jej ve Správci souborů a nastavte alespoň tyto řádky podle hodnot vašeho webu:

    📄 /htdocs/app.exemple.com/.env
    APP_DEBUG=false
    APP_URL=https://app.exemple.com
    DB_CONNECTION=mysql
    DB_HOST=203.0.113.10
    DB_DATABASE=nom_de_la_base
    DB_USERNAME=utilisateur_de_la_base
    DB_PASSWORD=mot_de_passe_de_la_base

    Hodnoty databáze najdete v „Databáze & PHP“ a poté „MySql & Phpmyadmin“, na řádku databáze: sloupec „Base“ pro DB_DATABASE, „Utilisateur“ pro DB_USERNAME a „Ip serveur“ pro DB_HOST (IP adresa, nikoli localhost). Heslo se nezobrazuje: bylo vám zasláno e-mailem při vytvoření databáze. Pokud jste jej ztratili, změňte jej v nabídce „⋮“ a poté „Změnit heslo“.

    V souboru .env nového projektu Laravel 13 má řádek DB_CONNECTION hodnotu sqlite a ostatní řádky DB_ začínají znakem #: tyto # odstraňte a uveďte mysql. Pro odesílání e-mailů jsou řádky MAIL_ vysvětleny v nápovědě Instalace Laravelu na sdílený hosting LWS.

    Pokud je řádek APP_KEY= prázdný, vygenerujte klíč aplikace v Terminálu, stále ve složce poddomény. Pokud už je vyplněný, znovu jej negenerujte.

    ⌨ Na serveru
    php artisan key:generate

    Poté vytvořte tabulky databáze a uložte konfiguraci do mezipaměti:

    ⌨ Na serveru
    php artisan migrate
    php artisan config:cache

    Po každé změně souboru .env znovu spusťte php artisan config:cache: jakmile je konfigurace uložena do mezipaměti, Laravel už soubor .env znovu nečte.

Ověřte, že vše funguje

Otevřete https://app.exemple.com ve svém prohlížeči: zobrazí se úvodní stránka vaší aplikace se zámkem SSL certifikátu. Projděte několik stránek a zkontrolujte, zda se zobrazuje formátování a obrázky.

Také ověřte, že soubory projektu nejsou čitelné z internetu: adresa https://app.exemple.com/composer.json musí zobrazit chybovou stránku vaší aplikace, nikoli obsah souboru. Pokud se obsah zobrazí, soubor .htaccess z kroku 3 chybí nebo je špatně umístěn: ihned to opravte.

Moje aplikace zobrazuje chybu 500

Postupujte podle bodů v pořadí a zastavte se, jakmile chyba zmizí.

Přečtěte si přesnou chybu v protokolech LWS Panelu

V sekci „Databáze & PHP“ klikněte na „Logy Apache PHP ModSecurity“: otevře se nástroj LWS Log Analyzer. Otevřete kartu „Chyby PHP“, vyberte v seznamu domén svou poddoménu a období, poté filtr „Fatal“. Sloupce „SOUBOR PHP“, „ŘÁDEK“ a „ZPRÁVA“ uvádějí příčinu a tlačítko „✨ Diagnostika AI“ ji vysvětlí jednoduchým jazykem.

Publikování aplikace Laravel na subdoméně pomocí LWS Panelu

Přečtěte si log Laravelu

Laravel zapisuje své vlastní chyby do souboru storage/logs/laravel.log projektu. Otevřete jej ve Správci souborů a podívejte se na poslední řádky v čase chyby. Pokud v tu dobu nic není, spolehněte se na kartu „Chyby PHP“ z předchozího bodu.

Opravte nejčastější příčiny

  • Chybí klíč aplikace (řádek APP_KEY= je prázdný): spusťte php artisan key:generate v Terminálu ve složce poddomény.
  • Složky storage a bootstrap/cache nejsou zapisovatelné: Laravel do nich musí mít možnost zapisovat. Zkontrolujte jejich oprávnění tlačítkem „Oprávnění“ ve Správci souborů.
  • Složka vendor chybí: spusťte composer install ve složce poddomény (krok 5).
  • Verze PHP je příliš stará pro vaši verzi Laravelu: změňte ji (krok 4).
  • Chyba se objevila hned po přidání nebo úpravě souboru .htaccess: obnovte kopii, kterou jste si ponechali, a poté porovnejte svůj soubor s návodem Instalace Laravelu na sdílený hosting LWS.
  • Připojení k databázi bylo odmítnuto: porovnejte DB_HOST, DB_DATABASE, DB_USERNAME a DB_PASSWORD s řádkem databáze v „MySql & Phpmyadmin“ a poté znovu spusťte php artisan config:cache.

Další příčiny chyby 500 najdete v článku Jak opravit chybu 500 na vašem webu s LWS Panel?

Často kladené otázky

Mohu směrovat svou poddoménu přímo do složky public/?

Ne. V LWS Panelu nese složka poddomény svůj plný název (/htdocs/app.exemple.com/) a obrazovka „Poddomény“ neumožňuje zvolit jinou. Proto soubor .htaccess v kroku 3 směruje návštěvníky do public/.

Umožňuje můj tarif používat Composer a php artisan?

Tyto příkazy se spouštějí v Terminálu LWS Panelu („Software“ a poté „Terminál“), nebo přes SSH z vašeho počítače od tarifu Starter. Pokud Terminál zobrazuje „Pro využití tohoto nástroje je nutné přejít na vyšší tarif“, není ve vašem tarifu zahrnut. Tarif Domaine nemá ani PHP, ani databázi: Laravel na něm nefunguje.

Moje změny v souboru .env se neprojevují

Konfigurace je v mezipaměti: spusťte znovu php artisan config:cache ve složce poddomény, nebo tuto mezipaměť vymažte pomocí php artisan config:clear.

Jak aktualizovat moji aplikaci z Gitu?

Načtěte změny z Terminálu, jak je vysvětleno v článku Jak používat GIT s webovým terminálem na mém sdíleném hostingu LWS?, a poté ve složce poddomény znovu spusťte composer install, php artisan migrate a php artisan config:cache.

Související články

Užitečné odkazy

help.lws.net/a/7993
Byl pro vás tento článek užitečný?

Ano

Ne

Přečteno 2×

Děkujeme! Neváhejte se ptát na naši dokumentaci, pokud chcete více informací, a pomozte nám ji zlepšit.

Podobné články

Máte otázku k tomuto článku?

Položte ji týmu LWS a komunitě. Odpověď bude zveřejněna po kontrole moderátorem.

Položte týmu LWS a jeho komunitě otázku

GDPR: Správce: LWS-Ligne Web Services. Účel: moderace a veřejné zveřejnění vašeho dotazu, případné upozornění na odpověď. Právní základ: souhlas (čl. 6 odst. 1 písm. a GDPR). Uchovávání e-mailů: 90 dní po upozornění, nejvýše 12 měsíců bez odpovědi. Pro uplatnění svých práv viz oddíl GDPR našich obchodních podmínek.