Nasadenie Laravel aplikácie cez SSH krok za krokom

January 09, 2026 239 zobrazení

Nasadenie Laravel aplikácie

Tento návod popisuje ručné nasadenie Laravel aplikácie cez SSH. Ak vám stačí nasadenie z prehliadača bez vlastného SSH klienta, pozrite si záložku Nasadenia a Rýchle akcie – klonovanie, pull aj bežné artisan príkazy zvládnu priamo v paneli.

Predpoklady

  • Hosting so zapnutým SSH prístupom
  • Git repozitár s Laravel aplikáciou (verejný, alebo súkromný s pridaným deploy kľúčom)
  • Databáza vytvorená v Správe databáz v paneli

Krok 1: Pripojte sa cez SSH

Prihlasovacie údaje a pripravený príkaz na pripojenie nájdete v paneli pri hostingu v záložke Služby v paneli SSH prístup (meno, heslo, host aj port).

ssh vas_pouzivatel@host -p PORT

Krok 2: Pridajte deploy kľúč (súkromný repozitár)

Ak je repozitár súkromný, vygenerujte deploy kľúč v záložke Nasadenia (Vývoj → Nasadenia → Kľúč nasadenia) a pridajte ho medzi deploy kľúče repozitára. Verejný repozitár tento krok nepotrebuje.

Krok 3: Naklonujte repozitár

cd /var/www/html
git clone git@github.com:vas-ucet/vas-projekt.git .

Krok 4: Nainštalujte PHP závislosti

composer install --optimize-autoloader --no-dev

Krok 5: Nainštalujte JavaScript závislosti a zostavte frontend

npm install
npm run build

Krok 6: Nakonfigurujte .env

cp .env.example .env

Prihlasovacie údaje k databáze si skopírujte priamo z panelu: hosting → záložka Služby → MySQL prístup → blok „Laravel .env (interné)“ má tlačidlo na skopírovanie celého bloku. Interný host (pole Host v časti „Interné pripojenie“) je zvyčajne mysql, nie localhost – aplikácia beží v tom istom prostredí ako web, ale databáza beží samostatne v tej istej sieti.

APP_ENV=production
APP_DEBUG=false
APP_URL=https://vasa-domena.sk

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=vasa_databaza
DB_USERNAME=vas_databazovy_pouzivatel
DB_PASSWORD=vase_heslo

Krok 7: Vygenerujte aplikačný kľúč

php artisan key:generate

Krok 8: Spustite migrácie

php artisan migrate --force

Krok 9: Vytvorte symbolický odkaz pre storage

php artisan storage:link

Krok 10: Optimalizujte pre produkciu

php artisan config:cache
php artisan route:cache
php artisan view:cache

Krok 11: Opravte oprávnenia

fix_permissions

Podrobnosti o tomto príkaze v Oprava oprávnení súborov.

Aktualizácia aplikácie

Pri ďalších nasadeniach opakujte len relevantné kroky:

cd /var/www/html
git pull origin main
composer install --optimize-autoloader --no-dev
npm install && npm run build
php artisan migrate --force
php artisan config:cache
php artisan route:cache
php artisan view:cache
fix_storage

Plánovač (scheduler)

Ak aplikácia používa Laravel plánovač úloh, máte dve možnosti bez potreby vlastného cronu na serveri:

  • Vývoj → Cron úlohy: pridajte úlohu s príkazom php artisan schedule:run, pracovným adresárom nastaveným na koreň aplikácie (napr. /var/www/html) a plánom * * * * * (každú minútu). Pozri Cron úlohy.
  • Vývoj → Supervisor úlohy: šablóna „Laravel Scheduler“ spustí php artisan schedule:work ako trvalo bežiaci proces, ktorý sám dohliada na minútové spúšťanie – cron záznam netreba. Pozri Procesy na pozadí.

Queue workery

Ak aplikácia spracúva joby cez frontu, pridajte v Vývoj → Supervisor úlohy šablónu Laravel Queue Worker (php artisan queue:work --sleep=3 --tries=3), prípadne Laravel Horizon, ak ho aplikácia používa. Supervisor úloha beží ako trvalý proces a sama sa reštartuje pri páde. Pozri Procesy na pozadí.

Bol tento článok užitočný?

Vaša spätná väzba nám pomáha zlepšovať dokumentáciu

Stále potrebujete pomoc?

Ak tento článok neodpovedal na vašu otázku, náš tím podpory je tu, aby vám pomohol.

Kontaktovať podporu