Wyszukiwanie w witrynie

Jak zainstalować Laravel PHP Framework z Nginx na Ubuntu 20.04


Laravel to najpopularniejszy, darmowy i open source framework PHP na świecie, znany ze swojej wyrazistej i eleganckiej składni. Laravel jest dostępny, wydajny i oferuje jedne z najlepszych narzędzi do tworzenia stron internetowych wymaganych w przypadku dużych, solidnych i nowoczesnych aplikacji.

W tym artykule dowiesz się, jak zainstalować Laravel PHP Framework na serwerze Ubuntu 20.04 działającym na serwerze internetowym Nginx.

Warunki wstępne

  • Jak zainstalować stos LEMP z PhpMyAdmin w Ubuntu 20.04

Krok 1: Instalowanie wymaganych modułów PHP

Po skonfigurowaniu stosu LEMP na serwerze Ubuntu 20.04 zgodnie z opisem w przewodniku w linku powyżej, musisz zainstalować dodatkowe rozszerzenia PHP wymagane przez Laravel w następujący sposób:

sudo apt update
sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer

Krok 2: Tworzenie bazy danych dla Laravel

Następnie musisz utworzyć bazę danych MySQL dla swojej aplikacji Laravel. Zaloguj się więc do powłoki mysql i utwórz bazę danych w następujący sposób.

sudo mysql
MariaDB [(none)]> CREATE DATABASE laraveldb;
MariaDB [(none)]> GRANT ALL ON laraveldb.* to 'webmaster'@'localhost' IDENTIFIED BY 'tecmint';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit

Krok 3: Instalowanie Composer w Ubuntu 20.04

Laravel wykorzystuje composer (menedżer zależności dla PHP) do zarządzania swoimi zależnościami. Dlatego przed użyciem Laravel upewnij się, że masz zainstalowany Composer w swoim systemie, jak pokazano.

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

Krok 4: Instalacja Laravela w Ubuntu 20.04

Po zainstalowaniu composer użyj go do zainstalowania plików Laravel. Przejdź do katalogu /var/www/html, w którym przechowywane są pliki internetowe, a następnie zainstaluj Laravel, korzystając z narzędzia Composer, jak pokazano. Pamiętaj, aby zastąpić example.com nazwą katalogu, w którym będą przechowywane pliki Laravel.

cd /var/www/html
composer create-project --prefer-dist laravel/laravel example.com

Krok 5: Konfiguracja Laravela w Ubuntu 20.04

Aby wyświetlić zawartość nowej instalacji Laravel, uruchom następującą komendę ls. Zauważysz, że plik .env został utworzony automatycznie, co w przeszłości musiało być tworzone ręcznie.

ls -la /var/www/html/example.com/

Następnie ustaw odpowiednie uprawnienia w katalogu Laravel w następujący sposób.

sudo chown -R :www-data /var/www/html/example.com/storage/
sudo chown -R :www-data /var/www/html/example.com/bootstrap/cache/
sudo chmod -R 0777 /var/www/html/example.com/storage/
sudo chmod -R 0775 /var/www/html/example.com/bootstrap/cache/

Następnie Laravel używa klucza aplikacji do zabezpieczania sesji użytkowników i innych zaszyfrowanych danych. Domyślny plik .env zawiera domyślny klucz aplikacji, ale ze względów bezpieczeństwa musisz wygenerować nowy dla swojego wdrożenia laravel.

sudo php artisan key:generate

Wygenerowany klucz zostanie dołączony do pliku .env jako wartość parametru APP_KEY. Możesz wyświetlić dołączony klucz za pomocą polecenia grep.

grep -i APP_Key /var/www/html/example.com/.env

Musisz także skonfigurować szczegóły połączenia z bazą danych Laravel w pliku .env, jak pokazano na poniższym zrzucie ekranu.

sudo nano /var/www/html/example.com/.env

Krok 6: Konfiguracja NGINX do obsługi aplikacji Laravel

Aby NGINX obsługiwał Twoją nową aplikację, musisz utworzyć dla niej blok serwera w konfiguracji NGINX, w katalogu /etc/nginx/sites-available/.

sudo nano /etc/nginx/sites-available/example.com.conf

W poniższej konfiguracji zaktualizuj dyrektywę root do publicznego katalogu aplikacji Laravel i pamiętaj o zastąpieniu www.example.com nazwą domeny swojej witryny, jak pokazano.

Ustaw także dyrektywę fastcgi_pass, która powinna wskazywać medium, na którym PHP-FPM nasłuchuje żądań (na przykład fastcgi_pass unix:/run/php/php7.4 -fpm.sock):

server{
        server_name www.example.com;
        root        /var/www/html/example.com/public;
        index       index.php;

        charset utf-8;
        gzip on;
        gzip_types text/css application/javascript text/javascript application/x-javascript  image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php {
                include fastcgi.conf;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

Zapisz plik, a następnie włącz konfigurację witryny Laravel, tworząc łącze z /etc/nginx/sites-available/example.com.conf do /etc/nginx/sites-enabled/ katalog . Poza tym usuń domyślną konfigurację bloku serwera.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default

Następnie sprawdź, czy składnia konfiguracji NGINX jest poprawna, uruchamiając poniższe polecenie przed ponownym uruchomieniem usługi.

sudo nginx -t
sudo systemctl restart nginx

Krok 7: Dostęp do aplikacji Laravel z przeglądarki internetowej

Na tym etapie musisz sprawdzić, czy wdrożenie Laravel działa prawidłowo i czy można uzyskać do niego dostęp z przeglądarki. Aby użyć domeny fikcyjnej example.com, użyjmy pliku /etc/hosts na komputerze lokalnym do utworzenia lokalnego DNS.

Uruchom poniższe polecenia, aby uzyskać adres IP serwera Laravel i dodaj go do pliku /etc/hosts (zamień wartość zgodnie z ustawieniami).
$reklama ip
$echo „192.168.56.11 przykład.com” | sudo tee -a /etc/hosts

Teraz otwórz przeglądarkę internetową na komputerze lokalnym i do nawigacji użyj poniższego adresu.

http://www.example.com/

Teraz, gdy masz zainstalowany Laravel, możesz rozpocząć tworzenie aplikacji internetowej lub witryny. Więcej informacji znajdziesz w dokumentacji Laravela.