janes.hu logo

Laravel 13 deploy shared hostingra public_html használatával

By Janes Zsolt | 2026.05.10

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.

A Laravel alkalmazások shared hosting környezetben történő deployolása sokszor problémás lehet, mert a legtöbb szolgáltató a public_html mappát használja document rootként a Laravel alapértelmezett public könyvtára helyett.

Laravel 13 alatt több tiszta megoldás is létezik erre a problémára. Ebben az útmutatóban azt mutatom meg, hogyan használhatod a public_html mappát Laravel public directoryként, miközben az alkalmazás struktúrája biztonságos és karbantartható marad.

Miért más a shared hosting?

VPS vagy cloud szervereken a webszerver általában közvetlenül a Laravel public könyvtárára mutat.

Shared hosting esetén azonban:

  • a domain általában a public_html mappára mutat

  • nem tudod módosítani a szerver konfigurációját

  • korlátozott hozzáférésed van Apache vagy Nginx beállításokhoz

  • az alkalmazás fájljai sokszor a public_html fölött helyezkednek el

Egy tipikus shared hosting struktúra például így néz ki:

/home/felhasznalo/
├── laravel-app/
│   ├── app/
│   ├── bootstrap/
│   ├── storage/
│   └── ...
└── public_html/

1. lehetőség (ajánlott): a domain mutasson a Laravel public mappára

Néhány hosting szolgáltató lehetővé teszi a document root módosítását.

Ha van rá lehetőség, állítsd be ezt az útvonalat:

/home/felhasznalo/laravel-app/public

Ez a legtisztább és legbiztonságosabb megoldás.

Ha a szolgáltatód ezt nem támogatja, akkor használd a következő megoldást.

2. lehetőség: public_html használata Laravel public mappaként

1. lépés: a Laravel public path módosítása

Nyisd meg a következő fájlt:

app/Providers/AppServiceProvider.php

Add hozzá ezt a kódot a register() metódushoz:

public function register(): void
{
    $this->app->bind('path.public', function () {
        return base_path('../public_html');
    });
}

Ez arra utasítja a Laravel alkalmazást, hogy a public_html könyvtárat használja a default public mappa helyett.

A mappa struktúrádtól függően előfordulhat, hogy módosítanod kell az útvonalat.

2. lépés: Vite konfiguráció beállítása

Laravel 13 már Vite-ot használ Laravel Mix helyett.

Nyisd meg a következő fájlt:

vite.config.js

Majd módosítsd a build output mappát:

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';

export default defineConfig({
    plugins: [
        laravel([
            'resources/css/app.css',
            'resources/js/app.js',
        ]),
    ],

    build: {
        outDir: '../public_html/build',
        emptyOutDir: true,
    },
});

Így a buildelt CSS és JavaScript fájlok közvetlenül a public_html/build mappába kerülnek.

Frontend assetek buildelése:

npm run build

3. lépés: az index.php fájl módosítása

Másold át a Laravel alapértelmezett public/index.php fájlját ide:

public_html/index.php

Ezután módosítsd az útvonalakat:

require __DIR__.'/../laravel-app/vendor/autoload.php';

$app = require_once __DIR__.'/../laravel-app/bootstrap/app.php';

Az útvonalakat igazítsd a saját mappa struktúrádhoz.

4. lépés: storage symlink létrehozása

Laravelnek szüksége van a public storage fájlok elérésére.

Futtasd ezt a parancsot:

php artisan storage:link

Ha a hosting szolgáltató nem támogatja a symlinkeket, akkor manuálisan hozd létre ezt a mappát:

public_html/storage

Majd másold át ide a fájlokat innen:

storage/app/public

5. lépés: .htaccess ellenőrzése

Győződj meg róla, hogy a public_html/.htaccess fájl tartalmazza a Laravel rewrite szabályait:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteRule ^ index.php [L]
</IfModule>

Enélkül a Laravel route-ok könnyen 404 hibát adhatnak.

Biztonsági ajánlások

Shared hosting használata esetén:

  • a .env fájl maradjon a public_html mappán kívül

  • a vendor könyvtár soha ne legyen publikus

  • kapcsold ki a directory listinget, ha lehetséges

  • mindig használj HTTPS-t

  • rendszeresen frissítsd a Laravel dependencyket

Production környezetben ezt is ellenőrizd:

APP_ENV=production
APP_DEBUG=false

Deploy előtt optimalizáld az alkalmazást:

php artisan optimize

Összegzés

A shared hosting nem ideális Laravel alkalmazások futtatására, de kisebb projektekhez, MVP-khez vagy ügyféloldali weboldalakhoz továbbra is teljesen jól használható.

Ha a hosting szolgáltatód nem támogatja a document root módosítását, akkor a public_html használata Laravel public directoryként egy tiszta és megbízható megoldás Laravel 13 alatt.

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

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

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.

By Janes Zsolt | 2026. 05. 01.