Procédure
Wdrożenie aplikacji Laravel na VPS z ISPConfig odbywa się poprzez skonfigurowanie domeny, witryny internetowej w panelu zarządzania, a następnie instalację projektu z linii poleceń przy użyciu dedykowanego konta. Laravel to otwartoźródłowy framework webowy w PHP, zaprojektowany do tworzenia nowoczesnych i solidnych aplikacji internetowych dzięki przejrzystej i eleganckiej architekturze. Ta pełna procedura prowadzi krok po kroku aż do wyświetlenia bezpiecznej strony głównej przez HTTPS, bez konieczności korzystania z uprawnień root serwera.
Przejdź do sekcji zarządzania swoją domeną, otwórz zakładkę Zone DNS, a następnie utwórz nowy wpis. Wybierz typ A, wpisz żądaną subdomenę (na przykład laravel dla laravel.learnlws.fr), podaj adres IP swojego serwera VPS (np. 203.0.113.10), a następnie kliknij Ajouter.
W panelu klienta LWS swojego VPS znajdź blok Administration de votre serveur i kliknij przycisk Panel d'administration, aby zalogować się do ISPConfig.
W ISPConfig przejdź do menu Sites, a następnie kliknij Add new website. Wpisz pełną domenę (np. laravel.learnlws.fr), w razie potrzeby wybierz alias Auto-Subdomain, koniecznie zaznacz pola SSL oraz Let's Encrypt SSL, ustaw pole PHP na PHP-FPM, wybierz nowszą wersję PHP, a następnie kliknij Save.
W menu po lewej stronie przejdź do sekcji Command Line i kliknij SSH/SFTP-User, a następnie Add new SSH-User. Wybierz swoją witrynę, podaj nazwę użytkownika (która będzie poprzedzona automatycznym prefiksem, takim jak defaultlaravelapp), ustaw bezpieczne hasło, pozostaw parametr Chroot Shell na None, aby umożliwić globalne uruchamianie narzędzi PHP, a następnie kliknij Save.
W menu po lewej stronie, w sekcji Databases, najpierw dodaj użytkownika MySQL przez Database Users, nadając mu silne hasło. Następnie przejdź do Databases, kliknij Add new Database, wybierz swoją witrynę, nazwij bazę danych i przypisz użytkownika MySQL, którego właśnie zdefiniowałeś, po czym zatwierdź.
Otwórz terminal i połącz się, używając swojego użytkownika shell: ssh defaultlaravelapp@203.0.113.10. Sprawdź, czy Composer (standardowy menedżer zależności dla PHP) jest dostępny, używając polecenia composer -V; jeśli jeszcze go nie ma, pobierz jego plik wykonywalny bezpośrednio na swoje konto. Przejdź do katalogu hostingu i zainicjuj projekt za pomocą composer create-project laravel/laravel . (lub sklonuj swoje repozytorium Git przed wykonaniem composer install).
Edytuj plik .env w katalogu głównym projektu Laravel za pomocą edytora takiego jak nano: ustaw APP_URL=https://laravel.learnlws.fr i uzupełnij parametry MySQL (DB_HOST=203.0.113.10, DB_DATABASE, DB_USERNAME, DB_PASSWORD). Następnie uruchom generowanie klucza szyfrowania poleceniem php artisan key:generate, po czym wykonaj migracje za pomocą php artisan migrate, aby utworzyć tabele.
Laravel udostępnia swój punkt wejścia z podkatalogu public/. W ISPConfig dostosuj dyrektywę document root Apache swojej witryny, aby wskazywała na ten katalog public/ (lub utwórz dowiązanie katalogu web/ do public/), a następnie nadaj niezbędne uprawnienia zapisu dla katalogów cache i logów, wykonując chmod -R 775 storage bootstrap/cache.
Otwórz przeglądarkę internetową i wpisz adres swojej witryny (na przykład https://laravel.learnlws.fr). Wyświetli się domyślna strona główna Laravel z aktywną kłódką bezpieczeństwa SSL, co potwierdza pełny sukces instalacji.
Po zainstalowaniu aplikacji Laravel kilka poleceń konsoli Artisan ułatwia obsługę i utrzymanie projektu.
Tryb 'None' pozwala użytkownikowi uruchamiać globalne binaria systemu Debian (w szczególności PHP CLI, Git i Composer). Klasyczne środowisko chroot ogranicza dostęp i blokowałoby normalne wykonywanie poleceń Artisan i Composer.
Błąd HTTP 500 zwykle wynika z braku klucza aplikacji w pliku .env (uruchom php artisan key:generate) albo z niewystarczających uprawnień do katalogów storage i bootstrap/cache, które muszą być dostępne do zapisu dla serwera WWW.
Możesz dodać niestandardową dyrektywę Apache w opcjach witryny w ISPConfig, aby ponownie ustawić DocumentRoot na /var/www/votresite.com/web/public, lub zastąpić standardowy katalog web dowiązaniem symbolicznym wskazującym na katalog public Twojego projektu.
Nie, wszystkie operacje związane z zarządzaniem plikami, instalacją zależności Composer, konfiguracją .env i poleceniami Artisan są wykonywane w całości przez użytkownika shell powiązanego z witryną utworzoną w ISPConfig.
Upewnij się, że rekord DNS typu A rzeczywiście wskazuje na adres IP Twojego VPS i że propagacja została zakończona. Let's Encrypt sprawdza dostępność domeny z zewnątrz przed zatwierdzeniem i wydaniem certyfikatu.
Zadaj je zespołowi LWS i społeczności. Odpowiedź zostanie opublikowana po moderacji.