Powrót do bloga

Instalacja i konfiguracja Laravel z Nginx na Ubuntu 20.04

Instalacja i konfiguracja Laravel z Nginx na Ubuntu 20.04

Wprowadzenie

Laravel to framework aplikacji internetowych, który jest wyposażony w zestaw wbudowanych narzędzi i zasobów do tworzenia nowoczesnych aplikacji PHP . Jest znany ze swojej niezawodności, wydajności, efektywności, modułowości i bezpieczeństwa. Ze względu na różne wbudowane funkcje, Laravel odnotował niesamowity wzrost popularności. Wielu programistów decyduje się na Laravela, aby usprawnić proces tworzenia stron internetowych.

Ten przewodnik pokaże, jak zainstalować i skonfigurować nową aplikację Laravel na systemie Ubuntu 20.04.

Laravel na Ubuntu

Użyjemy Composer, menedżera zależności PHP, do pobrania i zarządzania Laravelem. Aby zainstalować Composera, postępuj zgodnie z instrukcjami w tym samouczku. Serwer Nginx będzie obsługiwał aplikację. Utworzy on demonstracyjną aplikację Laravel przy użyciu bazy danych MySQL.

Ten przewodnik wymaga spełnienia pewnych warunków wstępnych. Zakładamy, że masz już poprawnie skonfigurowany i uruchomiony serwer Ubuntu 20.04. Dla odniesienia, oto krótki przewodnik dotyczący konfiguracji serwera Ubuntu. Wymagane jest również posiadanie zainstalowanego i skonfigurowanego stosu LEMP (Linux, Nginx, MySQL i PHP). Mamy szczegółowy przewodnik na temat instalacji i konfiguracji stosu LEMP.

Ponieważ będziemy instalować różne pakiety, wymagane są uprawnienia roota. W przypadku Ubuntu użytkownik root jest domyślnie wyłączony. Dlatego potrzebujemy dostępu do użytkownika innego niż root z uprawnieniami sudo. Oto jak nadać uprawnienia sudo innym użytkownikom.

Krok 1 – Instalacja modułów PHP

Przed zainstalowaniem Laravela potrzebujemy kilku ważnych modułów PHP dla tego frameworka. Moduły te są bezpośrednio dostępne w domyślnych repozytoriach pakietów Ubuntu. Obsługują one funkcje takie jak kodowanie znaków, XML i matematyka precyzyjna.

Najpierw zaktualizuj pamięć podręczną APT i zainstaluj pakiety:

Krok 2 – Tworzenie bazy danych dla aplikacji

Aby zademonstrować funkcjonalność Laravela, stworzymy aplikację z listą podróży, która pokazuje listę miejsc, które użytkownik chciałby odwiedzić, oraz listę miejsc, które zostały już odwiedzone. Możemy zapisać te dane w tabeli place z polami name (nazwa lokalizacji) oraz visited (oznaczające jako visited lub nonvisited). Dodatkowe pole będzie zawierać unikalny identyfikator dla każdego wpisu. Aby połączyć dane z naszą aplikacją Laravel, utworzymy dedykowanego użytkownika MySQL i nadamy mu pełne uprawnienia do bazy danych travellist.

Natywna biblioteka PHP dla MySQL mysqlnd nie obsługuje już caching_sha2_authentication. Dlatego musimy skonfigurować naszą bazę danych z metodą uwierzytelniania mysql_native_password. Uzyskaj dostęp do powłoki MySQL jako użytkownik root:

Następnie utwórz nową bazę danych o nazwie travellist:

Następnie utwórz dedykowanego użytkownika travellist_user z odpowiednim hasłem:

Nadaj użytkownikowi travellist_user pełne uprawnienia do bazy danych travellist. Uniemożliwi to również użytkownikowi tworzenie i modyfikowanie jakichkolwiek innych baz danych na serwerze:

Wyjdź z powłoki MySQL:

exit

Przetestujmy nowego użytkownika. Poniższe polecenie zaloguje się do powłoki MySQL jako użytkownik travellist_user. Flaga -p poprosi o hasło użytkownika:

Wyświetl wszystkie dostępne bazy danych. Zgodnie z wcześniejszą konfiguracją, powinny pokazać się tylko travellist oraz information_schema:

Następnie musimy utworzyć tabelę danych places. Uruchom następujące zapytanie MySQL:

Zapełnijmy tabelę przykładowymi danymi:

Zobaczmy, czy dane zostały pomyślnie zapisane w bazie danych:

Jak widać, tabela testowa jest zapełniona prawidłowymi danymi. Możemy teraz wyjść z powłoki MySQL:

MySQL shell

Krok 3 – Tworzenie nowej aplikacji Laravel

Jesteśmy teraz gotowi do utworzenia nowej aplikacji Laravel za pomocą Composera. Użyjemy travellist jako aplikacji demonstracyjnej. Aplikacja ta wyświetli listę lokalizacji z bazy danych MySQL, demonstrując podstawową konfigurację Laravela. Przejdź do katalogu domowego użytkownika:

Kolejnym krokiem jest utworzenie nowej aplikacji Laravel za pomocą Composera. Spowoduje to utworzenie dedykowanego katalogu travellist z podstawową wersją aplikacji Laravel z domyślnymi ustawieniami. Uruchom następujące polecenie:

composer create-project

Po utworzeniu aplikacji możemy zweryfikować, czy wszystkie komponenty zostały pomyślnie zainstalowane:

php artisan

Dane wyjściowe potwierdzają, że wszystkie pliki aplikacji są na swoim miejscu. Zapewniają również, że wszystkie narzędzia wiersza poleceń Laravela działają. Wymaga to jednak jeszcze konfiguracji aplikacji w celu skonfigurowania bazy danych i kilku dodatkowych poprawek.

Krok 4 – Konfiguracja Laravela

Wszystkie pliki konfiguracyjne Laravela są przechowywane w katalogu o nazwie config w głównym katalogu aplikacji. Ponadto podczas instalacji Laravela za pomocą Composera tworzony jest również plik środowiskowy. Zawiera on różne ustawienia specyficzne dla bieżącego środowiska. Wartości w nim zadeklarowane będą miały pierwszeństwo przed wartościami ustawionymi w zwykłych plikach konfiguracyjnych w config.

Każda unikalna instalacja będzie wymagać własnego pliku środowiskowego do zdefiniowania wartości takich jak ustawienia połączenia z bazą danych, adres URL aplikacji, opcje debugowania itp. Należy pamiętać, że plik środowiskowy zawiera poufne informacje, takie jak dane uwierzytelniające bazy danych, klucze bezpieczeństwa itp. Dlatego zdecydowanie zaleca się, aby nigdy nie udostępniać tego pliku publicznie.

Otwórz plik środowiskowy za pomocą edytora tekstu:

Oto przykładowy kod środowiskowy:

DB_PASSWORD=password123

Przeanalizujmy poszczególne wartości:

  • APP_NAME: To pole określa nazwę aplikacji. Nazwa ta będzie używana do powiadomień i komunikatów.
  • APP_ENV: Bieżące środowisko aplikacji.
  • APP_KEY: Ten klucz jest generowany automatycznie podczas instalacji Laravela za pomocą Composera. Służy do generowania soli i skrótów. Nie ma potrzeby go zmieniać.
  • APP_DEBUG: Przełącznik trybu debugowania. Po włączeniu będzie wyświetlać informacje debugowania po stronie klienta.
  • APP_URL: Bazowy adres URL aplikacji. Jest również używany do generowania linków w aplikacji.
  • DB_DATABASE: Nazwa bazy danych. W tym przypadku będzie to dedykowana baza danych, którą utworzyliśmy.
  • DB_USERNAME: Nazwa użytkownika do połączenia z bazą danych.
  • DB_PASSWORD: Hasło do połączenia z bazą danych.

Po wprowadzeniu zmian zapisz plik i zamknij edytor.

Krok 5 – Konfiguracja Nginx

Pomyślnie zainstalowaliśmy Laravel w lokalnym folderze katalogu domowego użytkownika. Ta konfiguracja działa dobrze w lokalnym środowisku programistycznym. Nie zaleca się jednak jej stosowania na serwerach WWW dostępnych w publicznym internecie.

Naszym kolejnym krokiem jest przeniesienie aplikacji do /var/www ponieważ jest to zwykła lokalizacja dla aplikacji internetowych działających na Nginx. Użyj polecenia mv do przeniesienia travellist do /var/www/travellist:

Następnie przypisz użytkownikowi uprawnienia do zapisu w folderach storage i cache. Są to lokalizacje plików generowanych przez aplikację Laravel:

Pliki aplikacji są już na swoim miejscu. Musimy jednak poinstruować Nginx, aby serwował tę zawartość. Utwórz nowy plik konfiguracyjny wirtualnego hosta:

Oto przykładowe zalecane ustawienia dla aplikacji Laravel działającej na serwerze Nginx:

Czas aktywować nowy plik konfiguracyjny wirtualnego hosta. Utwórz dowiązanie symboliczne do katalogu sites-enabled:

Poniższe polecenie Nginx przetestuje pliki konfiguracyjne pod kątem błędów składniowych:

Następnie przeładuj Nginx:

Aplikacja powinna być teraz dostępna pod nazwą domeny lub adresem IP (zgodnie z definicją w dyrektywie server_name):

Installing Laravel image 3

Krok 6 – Dostosowywanie strony głównej

Po skonfigurowaniu aplikacji Laravel możemy rozpocząć pracę nad nią. W celach demonstracyjnych nadszedł czas na utworzenie przykładowej strony prezentującej przykładowe dane z tabeli bazy danych places. Najpierw otwórz główny plik tras w edytorze tekstu:

Plik będzie domyślnie zawierał pewną zawartość. Tutaj trasy są definiowane za pomocą metody statycznej (Route::get). Przyjmuje ona ścieżkę oraz funkcję wywołania zwrotnego jako argumenty.

Zastąp kod następującym:

Installing Laravel image 2

Zapisz plik i zamknij edytor. Następnie utworzymy układ, aby wyrenderować użytkownikowi wyniki zapytania do bazy danych. Utwórz nowy plik w resource/views:

W poniższym kodzie utworzyliśmy dwie listy miejsc w zależności od wartości visited oraz togo:

Installing Laravel image 1

Zapisz plik i zamknij edytor. Teraz ponownie przejdź do strony aplikacji internetowej:

Travel list

Voila! Mamy teraz działającą aplikację Laravel, która używa bazy danych MySQL do przechowywania zawartości.

Podsumowanie

W tym samouczku pokazaliśmy, jak skonfigurować aplikację Laravel na stosie LEMP działającym na serwerze Ubuntu 20.04. Pokazaliśmy również, jak dostosować domyślną trasę, aby odpytywać bazę danych o zawartość i wyświetlać wyniki w niestandardowym widoku. Aby uzyskać więcej informacji na temat Laravela, zapoznaj się z oficjalną dokumentacją dotyczącą widoków, tras, oraz obsługi baz danych.

Instalacja w tym samouczku jest wykonywana na samodzielnej maszynie wirtualnej. Możesz jednak również wdrożyć Laravela na stosach LEMP w Dockerze.

Udanego kodowania!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev jest projektantem kreatywnym w CloudSigma, skupiającym się na spójnej tożsamości biznesowej przy wykorzystaniu tradycyjnych i innowacyjnych kanałów marketingowych. Biegle łączy wizję artystyczną ze strategicznym marketingiem, tworząc wywierające wpływ narracje marki.

Komentarze

Brak komentarzy. Bądź pierwszy.