Jak wdrożyć aplikację Laravel z ISPConfig

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.

Kroki

  1. Utwórz wpis DNS dla swojej domeny lub subdomeny

    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.

    Jak wdrożyć aplikację Laravel z ISPConfig
  2. Uzyskaj dostęp do interfejsu ISPConfig z panelu klienta

    W panelu klienta LWS swojego VPS znajdź blok Administration de votre serveur i kliknij przycisk Panel d'administration, aby zalogować się do ISPConfig.

    Jak wdrożyć aplikację Laravel z ISPConfig
  3. Dodaj witrynę internetową z PHP-FPM i Let's Encrypt

    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.

    Jak wdrożyć aplikację Laravel z ISPConfig
  4. Utwórz użytkownika Shell dla projektu

    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.

    Jak wdrożyć aplikację Laravel z ISPConfig
  5. Utwórz bazę danych MySQL i jej użytkownika

    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ź.

  6. Połącz się przez SSH i wdroż projekt za pomocą Composer

    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).

  7. Skonfiguruj plik .env, wygeneruj klucz i wykonaj migrację bazy

    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.

  8. Dostosuj katalog public web i uprawnienia

    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.

  9. Sprawdź działanie w przeglądarce

    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.

Niezbędne polecenia Artisan po wdrożeniu

Po zainstalowaniu aplikacji Laravel kilka poleceń konsoli Artisan ułatwia obsługę i utrzymanie projektu.

  • php artisan key:generate — generuje unikalny klucz szyfrowania niezbędny dla bezpieczeństwa aplikacji
  • php artisan migrate — stosuje schematy i tworzy wszystkie tabele w bazie danych MySQL
  • php artisan config:cache — buforuje pliki konfiguracyjne, aby przyspieszyć działanie w środowisku produkcyjnym
  • php artisan route:cache — optymalizuje ładowanie tras aplikacji dla zapytań odwiedzających

Często zadawane pytania

Dlaczego wybrać opcję 'None' dla Chroot Shell użytkownika?

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.

Dlaczego strona główna wyświetla błąd 500 po wdrożeniu?

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.

Jak sprawić, by ISPConfig wskazywał bezpośrednio na podkatalog public Laravel?

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.

Czy konieczny jest dostęp do serwera kontem root?

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.

Certyfikat SSL Let's Encrypt nie aktywuje się w ISPConfig, co zrobić?

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.

Przydatne linki

help.lws.net/a/7955
Czy ten artykuł był pomocny?

Tak

Nie

Przeczytano 3 razy

Dziękujemy! Zadawaj pytania dotyczące naszej dokumentacji, jeśli potrzebujesz więcej informacji, i pomóż nam ją ulepszyć.

Podobne artykuły

Masz pytanie dotyczące tego artykułu?

Zadaj je zespołowi LWS i społeczności. Odpowiedź zostanie opublikowana po moderacji.

Zadaj pytanie zespołowi LWS i jego społeczności

RODO: Administrator: LWS-Ligne Web Services. Cel: moderacja i publiczna publikacja pytania, ewentualne powiadomienie o odpowiedzi. Podstawa prawna: zgoda (art. 6 ust. 1 lit. a RODO). Przechowywanie adresów e-mail: 90 dni po powiadomieniu, maksymalnie 12 miesięcy bez odpowiedzi. Aby skorzystać ze swoich praw, zobacz sekcję RODO naszego regulaminu.