Jak skonfigurować aplikację Laravel na hostingu i ustawić katalog public?
Aplikację Laravel zainstalujesz na hostingu przez SSH. Cały projekt umieścisz w katalogu domains/example.com, a domenę skierujesz do jego podfolderu public. Dzięki temu przeglądarka będzie korzystać z publicznej części aplikacji, a pliki konfiguracyjne pozostaną poza katalogiem WWW.
1. Przygotuj domenę i połączenie SSH
Przygotuj nową domenę dodaną do hostingu oraz dostęp SSH do tej usługi. Poniższe polecenia służą do instalacji nowego projektu Laravel 13. Przykładową domenę example.com i nazwę konta hostXXXXXX zastąp własnymi danymi.
Użyj katalogu domeny, w którym nie ma jeszcze aplikacji Laravel ani innych plików projektu. Nie kopiuj nowej instalacji na działającą aplikację — takie wdrożenie wymaga osobnego przygotowania i kopii danych.
Połącz się z serwerem w terminalu. Adres hosta odczytaj z informacji o swojej usłudze w DirectAdmin; port SSH to 64321. Uwierzytelnij się kluczem przypisanym do konta:
ssh -p 64321 hostXXXXXX@hostXXXXXX.hostido.net.pl
Sprawdź dostępne narzędzia:
php -v
composer --version
Laravel 13 wymaga PHP co najmniej 8.3. W tej instrukcji instalacja przez SSH i strona WWW używają PHP 8.3. Wersję dla strony wybierzesz w dalszym kroku; ustawienie w panelu nie musi zmieniać wersji polecenia php w terminalu. Wymagania sprawdzisz w dokumentacji Laravel oraz w plikach Composer swojego projektu.
2. Zainstaluj Laravel przez SSH
DirectAdmin tworzy w katalogu domeny m.in. folder public_html, więc ten katalog nie jest pusty. Najpierw zainstaluj projekt w nowym folderze laravel-install w katalogu konta. Upewnij się, że folder o tej nazwie jeszcze nie istnieje:
cd ~
composer create-project --prefer-dist laravel/laravel laravel-install "^13.0"
Poczekaj na zakończenie instalacji bez błędów. Następnie skopiuj całą zawartość projektu, wraz z plikami ukrytymi, bezpośrednio do katalogu domeny:
cp -a ~/laravel-install/. ~/domains/example.com/
cd ~/domains/example.com
php artisan --version
Docelowy układ powinien wyglądać tak:
domains/example.com/
├── app/
├── bootstrap/
├── config/
├── database/
├── public/ ← katalog WWW domeny
│ ├── index.php
│ └── .htaccess
├── resources/
├── routes/
├── storage/
├── vendor/
├── .env
├── artisan
└── composer.json
Folder public powstaje razem z projektem. Pozostaw standardowe pliki public/index.php i bootstrap/app.php bez zmian ścieżek. Utworzony wcześniej przez panel folder public_html może pozostać obok — w tym układzie nie przechowujesz w nim aplikacji.
Zapewnij serwerowi WWW możliwość odczytu plików publicznych. Będąc w katalogu domains/example.com, ustaw prawa 755 dla folderów public i 644 dla znajdujących się w nich plików:
find public -type d -exec chmod 755 {} +
find public -type f -exec chmod 644 {} +
3. Sprawdź wersję PHP dla domeny
Zaloguj się do DirectAdmin. Na pulpicie, w sekcji Aplikacje PHP i Python, kliknij Zmiana wersji PHP dla domeny i izolacja (1).

W wierszu domeny aplikacji sprawdź pole Wersja (2). Wybierz PHP zgodne z projektem i jego zależnościami. Dla opisanej instalacji Laravel 13 odpowiednia jest wersja 8.3. Jeśli domena już korzysta z tej wersji, również przez ustawienie Domyślna (8.3), pozostaw ją bez zmian.

Jeśli zmienisz wersję PHP, ustawienie zapisze się automatycznie. Otwórz widok ponownie i sprawdź wybraną wartość.
4. Skieruj domenę do folderu public
Wróć na pulpit. W sekcji Domeny kliknij Zmiana katalogu dla domeny (3).

W polu Domena (4) wybierz domenę aplikacji. W polu Katalog (5) wpisz poniższą ścieżkę, zastępując example.com swoją domeną:
domains/example.com/public
Kliknij Zapisz (6). Podajesz ścieżkę względem katalogu konta, bez prefiksu /home/hostXXXXXX/. Panel informuje, że zastosowanie zmiany może potrwać do 2 minut. Po tym czasie ponownie wybierz domenę i sprawdź zapisany katalog.

5. Uzupełnij konfigurację aplikacji
Edytuj plik domains/example.com/.env. Ustaw adres swojej strony, dane bazy i inne usługi wymagane przez aplikację. Dla publicznej witryny użyj:
APP_ENV=production
APP_DEBUG=false
APP_URL=https://example.com
Nowa instalacja Composera tworzy konfigurację początkową i klucz APP_KEY. Przy przenoszeniu istniejącej aplikacji zachowaj jej dotychczasowy klucz. Katalogi storage i bootstrap/cache muszą pozwalać procesowi PHP na zapis.
Polecenia Artisan uruchamiaj z katalogu domeny, gdzie znajduje się plik artisan. Jeżeli projekt wymaga migracji bazy, budowania zasobów CSS/JavaScript lub dodatkowych zadań, wykonaj je zgodnie z instrukcją tej aplikacji. Po zmianie .env usuń ewentualną wcześniejszą pamięć podręczną konfiguracji:
cd ~/domains/example.com
php artisan config:clear
6. Sprawdź stronę i podstrony
Upewnij się, że DNS domeny wskazuje na ten hosting, a HTTPS ma poprawny certyfikat SSL. Otwórz sam adres domeny, bez dopisywania /public. W nowej instalacji zobaczysz stronę powitalną Laravel (7).

Sprawdź również podstronę aplikacji, style i obrazy. W standardowym nowym projekcie możesz otworzyć trasę /up. Adresy /.env i /composer.json nie powinny wyświetlać zawartości tych plików. Po potwierdzeniu poprawnego działania możesz usunąć utworzony na początku folder laravel-install z katalogu konta — właściwy projekt pozostaje w katalogu domeny.
- Strona główna działa, a podstrony zwracają 404: sprawdź obecność i prawo odczytu pliku
public/.htaccessoraz trasy aplikacji. - Błąd 500: sprawdź
storage/logs, wersję PHP, folder vendor i prawa zapisu do storage oraz bootstrap/cache. Na publicznej stronie zachowaj APP_DEBUG=false. - Panel nie pozwala zapisać katalogu: sprawdź, czy folder public istnieje bezpośrednio w katalogu właściwej domeny i czy wpisana ścieżka jest poprawna.
tagi: DirectAdmin Laravel php ssh