Vyhledávání na webu

Jak nainstalovat Laravel PHP Framework s Nginx na Ubuntu 20.04


Laravel je nejpopulárnější, bezplatný a open-source PHP framework na světě, známý svou výraznou a elegantní syntaxí. Laravel je přístupný, výkonný a nabízí některé z nejlepších nástrojů pro vývoj webu, které jsou vyžadovány pro velké, robustní a moderní aplikace.

V tomto článku se dozvíte, jak nainstalovat Laravel PHP Framework na server Ubuntu 20.04 běžící na webovém serveru Nginx.

Předpoklady

  • Jak nainstalovat LEMP Stack s PhpMyAdmin v Ubuntu 20.04

Krok 1: Instalace požadovaných modulů PHP

Po nastavení zásobníku LEMP na vašem serveru Ubuntu 20.04, jak je popsáno v průvodci ve výše uvedeném odkazu, musíte nainstalovat další rozšíření PHP požadovaná Laravelem následovně:

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

Krok 2: Vytvoření databáze pro Laravel

Dále je třeba vytvořit databázi MySQL pro vaši aplikaci Laravel. Přihlaste se tedy do svého mysql shellu a vytvořte databázi následovně.

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: Instalace aplikace Composer v Ubuntu 20.04

Laravel využívá ke správě svých závislostí composer (správce závislostí pro PHP). Před použitím Laravel se proto ujistěte, že máte v systému nainstalovaný Composer, jak je znázorněno.

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

Krok 4: Instalace Laravelu v Ubuntu 20.04

Po instalaci skladatele jej použijte k instalaci souborů Laravel. Přesuňte se do svého adresáře /var/www/html, kde jsou uloženy webové soubory, a poté nainstalujte Laravel pomocí skladatele podle obrázku. Nezapomeňte nahradit example.com názvem adresáře, kde budou uloženy soubory Laravel.

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

Krok 5: Konfigurace Laravelu v Ubuntu 20.04

Chcete-li zobrazit obsah nové instalace Laravel, spusťte následující příkaz ls. Všimnete si, že byl automaticky vytvořen soubor .env, který by v minulosti musel být vytvořen ručně.

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

Dále nastavte příslušná oprávnění pro adresář Laravel následovně.

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/

Dále Laravel používá aplikační klíč k zabezpečení uživatelských relací a dalších šifrovaných dat. Výchozí .env obsahuje výchozí klíč aplikace, ale z bezpečnostních důvodů si pro nasazení laravel musíte vygenerovat nový.

sudo php artisan key:generate

Vygenerovaný klíč bude připojen do souboru .env jako hodnota APP_KEY. Připojený klíč můžete zobrazit pomocí příkazu grep.

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

Musíte také nakonfigurovat podrobnosti o připojení k databázi Laravel v .env, jak je znázorněno na následujícím snímku obrazovky.

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

Krok 6: Konfigurace NGINX pro obsluhu aplikace Laravel

Aby NGINX obsluhoval vaši novou aplikaci, musíte pro ni vytvořit blok serveru v konfiguraci NGINX v adresáři /etc/nginx/sites-available/.

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

V níže uvedené konfiguraci aktualizujte kořenovou direktivu na veřejný adresář aplikace Laravel a nezapomeňte nahradit www.example.com názvem domény vašeho webu, jak je znázorněno.

Nastavte také direktivu fastcgi_pass tak, aby ukazovala na médium, na kterém PHP-FPM naslouchá požadavkům (například 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;
        }
}

Uložte soubor a poté povolte konfiguraci webu Laravel vytvořením odkazu z /etc/nginx/sites-available/example.com.conf na /etc/nginx/sites-enabled/ . Kromě toho odeberte výchozí konfiguraci bloku serveru.

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

Dále zkontrolujte, zda je syntaxe konfigurace NGINX správná, spuštěním následujícího příkazu před restartováním služby.

sudo nginx -t
sudo systemctl restart nginx

Krok 7: Přístup k aplikaci Laravel z webového prohlížeče

V této fázi musíte otestovat, zda vaše nasazení Laravel funguje správně a zda k němu lze přistupovat z prohlížeče. Chcete-li použít fiktivní doménu example.com, použijte k vytvoření místního DNS soubor /etc/hosts na vašem místním počítači.

Spuštěním následujících příkazů získáte IP adresu serveru Laravel a přidejte ji do souboru /etc/hosts (hodnotu nahraďte podle svého nastavení).
$ip reklama
$echo “192.168.56.11 example.com” | sudo tee -a /etc/hosts

Nyní otevřete webový prohlížeč na místním počítači a použijte k navigaci následující adresu.

http://www.example.com/

Nyní, když máte nainstalovaný Laravel, můžete začít vytvářet svou webovou aplikaci nebo web. Další informace naleznete v dokumentaci Laravel.