janes.hu logo

Statamic CMS deploy shared hostingra GitHub Actions használatával

By Janes Zsolt | 2026.05.01

Statamic CMS deploy shared hostingra GitHub Actions használatával

A Statamic CMS deployolása shared hosting környezetben SSH hozzáférés nélkül is automatizálható. Ebben a cikkben megmutatom, hogyan használhatod a GitHub Actions workflow-kat FTP alapú deploymenthez minden push után. Az útmutató tartalmazza a cache törlést, jogosultságkezelést, environment konfigurációt és az Apache rewrite szabályok beállítását is.

Ha automatizálni szeretnéd a deploy folyamatot shared hosting környezetben, de nincs SSH hozzáférésed, akkor FTP és GitHub Actions segítségével továbbra is megoldható az automatikus deployment.

A GitHub Actions lehetővé teszi, hogy minden push után automatikusan feltöltsd a módosított fájlokat a hosting tárhelyedre.

Előfeltételek

  • Egy GitHub repository a Statamic projekteddel

  • FTP hozzáférés a shared hosting szolgáltatódhoz

  • Érvényes Statamic licenc kulcs

FTP hozzáférés létrehozása

Első lépésként hozz létre egy FTP hozzáférést a hosting szolgáltatód admin felületén.

Ezután nyisd meg a GitHub repositorydat és navigálj ide:

Settings → Secrets and variables → Actions

Hozz létre új repository secret kulcsokat az FTP adatokhoz.

Ajánlott secret nevek:

  • FTP_HOST

  • FTP_USER

  • FTP_PASSWORD

  • STATAMIC_LICENSE_KEY

Statamic licenc kulcs létrehozása

Hozd létre a Statamic oldal licencét a hivatalos oldalon:

https://statamic.com/account/sites/create

GitHub Action workflow létrehozása

Hozd létre a következő fájlt:

.github/workflows/deploy.yml

Majd add hozzá ezt a konfigurációt:

name: Deploy Site after Push to master branch

on:
  push:
    branches:
      - master

jobs:
  web-deploy:
    name: Deploy
    runs-on: ubuntu-latest

    steps:
      - name: Get the latest code
        uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4

      - name: Install NPM dependencies
        run: npm install

      - name: Build frontend assets
        run: npm run build

      - name: Copy environment file
        run: cp .env.hosting .env

      - name: Add environment variables
        run: |
          echo APP_ENV=production >> .env
          echo APP_DEBUG=false >> .env
          echo APP_URL=https://YOURDOMAIN.com >> .env
          echo STATAMIC_LICENSE_KEY=${{ secrets.STATAMIC_LICENSE_KEY }} >> .env

      - name: Install Composer dependencies
        run: composer install --no-dev --optimize-autoloader

      - name: Generate application key
        run: php artisan key:generate

      - name: Clear caches
        run: |
          php artisan cache:clear
          php please stache:clear
          php please cache:clear

      - name: Set directory permissions
        run: chmod -R 775 storage bootstrap/cache

      - name: Deploy files via FTP
        uses: SamKirkland/FTP-Deploy-Action@v4.3.5
        with:
          server: ${{ secrets.FTP_HOST }}
          username: ${{ secrets.FTP_USER }}
          password: ${{ secrets.FTP_PASSWORD }}
          server-dir: /public_html/

Hogyan működik a workflow?

Ez a workflow automatikusan:

  • telepíti az NPM dependencyket

  • buildeli a frontend asseteket

  • bemásolja a hosting environment konfigurációt

  • telepíti a Composer dependencyket

  • törli a Laravel és Statamic cache-eket

  • FTP-n keresztül feltölti a módosított fájlokat

A .env.hosting fájlnak már léteznie kell a repositorydban.

A következő változókat ne tárold benne, mert ezeket deploy közben generáljuk:

  • APP_ENV

  • APP_DEBUG

  • APP_URL

  • STATAMIC_LICENSE_KEY

Az első deploy hosszabb ideig tarthat

Az első deploy során a GitHub Actions minden fájlt feltölt, beleértve a vendor könyvtárat is.

A kapcsolat sebességétől és a hosting szolgáltatótól függően ez akár 1–2 órát is igénybe vehet.

Ezután már csak a módosított fájlok kerülnek feltöltésre, így a későbbi deployok sokkal gyorsabbak lesznek.

Deploy más branchről

A fenti workflow automatikusan deployol minden push után a master branchről.

Ezt természetesen bármilyen más branchre módosíthatod:

branches:
  - production

Apache rewrite konfiguráció shared hostinghoz

Ha a hosting szolgáltató nem engedi módosítani a document root mappát, akkor minden fájlt a public_html könyvtárba kell feltöltened, majd át kell irányítani a kéréseket a public mappára.

Hozz létre egy .htaccess fájlt a Statamic projekt gyökérkönyvtárában:

RewriteEngine On
Options +FollowSymlinks
RewriteBase /

RewriteCond %{HTTP_HOST} ^.*$
RewriteCond %{REQUEST_URI} !public/
RewriteRule ^(.*)$ public/$1 [L]

Ez a konfiguráció automatikusan a Statamic public könyvtárába irányítja a bejövő kéréseket.

Biztonsági ajánlások

  • Soha ne commitold a valódi .env fájlt

  • A sensitive adatokat mindig GitHub Secrets-ben tárold

  • Használj production környezetben APP_DEBUG=false beállítást

  • Rendszeresen frissítsd a Composer és NPM dependencyket

  • Mindig használj HTTPS kapcsolatot

Production környezethez ajánlott:

APP_ENV=production
APP_DEBUG=false

Összegzés

SSH hozzáférés nélkül is kialakítható egy stabil és automatizált deploy folyamat Statamic CMS projektekhez shared hosting környezetben.

A GitHub Actions és FTP kombinációja egyszerű, mégis megbízható megoldást nyújt kisebb projektekhez, ügyféloldalakhoz és MVP alkalmazásokhoz.

A rendszer beállítása után a deployment teljesen automatizáltá válik, így elegendő egyetlen push a GitHub repositoryba az új verzió élesítéséhez.

Ha tetszett a cikk kérlek oszd meg, hogy másokhoz is eljusson

Janes Zsolt

Janes Zsolt

Magyar Laravel fejlesztő vagyok több mint 10 év tapasztalattal, főként modern webalkalmazások fejlesztésében. Napi szinten dolgozom Laravel, Vue.js, valamint különböző cloud és DevOps eszközökkel, illetve AI-alapú megoldásokkal (OpenAI API). Részt vettem egyszerű weboldalak és komplex rendszerek, webshopok és admin felületek fejlesztésében is. Jelenleg az AI, Python és vektor adatbázisok területén fejlesztem magam folyamatosan.

Olvasd tovább...

Fedezz fel további érdekes cikkeket

Laravel 13 deploy shared hostingra public_html használatával

laravel

Laravel 13 deploy shared hostingra public_html használatával

Ebben az útmutatóban bemutatom, hogyan deployolhatsz Laravel 13 alkalmazást shared hosting környezetben a public_html mappa használatával a Laravel alapértelmezett public könyvtára helyett. A cikk kitér a Vite konfigurációra, a public path módosítására, a storage kezelésére és a production-ready beállításokra is.

By Janes Zsolt | 2026. 05. 10.