Kako instalirati Laravel PHP Framework sa Nginxom na Ubuntu 20.04


Laravel je najpopularniji, besplatni i open-source PHP okvir na svijetu, poznat po svojoj izražajnoj i elegantnoj sintaksi. Laravel je pristupačan, moćan i nudi neke od najboljih alata za web razvoj potrebnih za velike, robusne i moderne aplikacije.

U ovom članku ćete naučiti kako da instalirate Laravel PHP Framework na Ubuntu 20.04 server koji radi na Nginx web serveru.

Preduvjeti

  • Kako instalirati LEMP Stack sa PhpMyAdmin u Ubuntu 20.04

Korak 1: Instaliranje potrebnih PHP modula

Nakon postavljanja LEMP steka na vašem Ubuntu 20.04 serveru kao što je opisano u vodiču na linku iznad, morate instalirati dodatne PHP ekstenzije koje zahtijeva Laravel na sljedeći način:

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

Korak 2: Kreiranje baze podataka za Laravel

Zatim morate kreirati MySQL bazu podataka za vašu Laravel aplikaciju. Dakle, prijavite se u svoju mysql ljusku i kreirajte bazu podataka na sljedeći način.

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

Korak 3: Instaliranje Composer u Ubuntu 20.04

Laravel koristi composer (menadžer zavisnosti za PHP) za upravljanje svojim zavisnostima. Stoga, prije korištenja Laravela, uvjerite se da imate Composer instaliran na vašem sistemu kao što je prikazano.

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

Korak 4: Instaliranje Laravela u Ubuntu 20.04

Nakon što instalirate composer, koristite ga za instaliranje Laravel datoteka. Premjestite se u vaš /var/www/html direktorij gdje su pohranjeni web fajlovi, a zatim instalirajte Laravel koristeći composer kao što je prikazano. Ne zaboravite zamijeniti example.com imenom direktorija u kojem će Laravel datoteke biti pohranjene.

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

Korak 5: Konfigurisanje Laravela u Ubuntu 20.04

Da ispišete sadržaj nove Laravel instalacije, pokrenite sljedeću naredbu ls. Primijetit ćete da je datoteka .env automatski kreirana, koja je u prošlosti morala biti kreirana ručno.

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

Zatim postavite odgovarajuće dozvole za Laravel direktorij na sljedeći način.

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/

Zatim, Laravel koristi ključ aplikacije za osiguranje korisničkih sesija i drugih šifriranih podataka. Podrazumevani .env sadrži podrazumevani ključ aplikacije, ali morate da generišete novi za vašu laravel implementaciju iz bezbednosnih razloga.

sudo php artisan key:generate

Generirani ključ će biti dodat u datoteku .env kao vrijednost APP_KEY. Možete pogledati dodani ključ koristeći komandu grep.

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

Također morate konfigurirati detalje veze Laravel baze podataka u .env kao što je prikazano na sljedećem snimku ekrana.

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

Korak 6: Konfiguriranje NGINX-a za posluživanje Laravel aplikacije

Da bi NGINX služio vašoj novoj aplikaciji, potrebno je da za nju kreirate serverski blok unutar NGINX konfiguracije, u direktoriju /etc/nginx/sites-available/.

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

U konfiguraciji ispod, ažurirajte root direktivu na javni direktorij Laravel aplikacije i obavezno zamijenite www.example.com imenom domene vaše web stranice kao što je prikazano.

Također, postavite fastcgi_pass direktivu treba da ukazuje na medij koji PHP-FPM sluša zahtjeve (na primjer 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;
        }
}

Sačuvajte datoteku i zatim omogućite konfiguraciju Laravel stranice kreiranjem veze od /etc/nginx/sites-available/example.com.conf do /etc/nginx/sites-enabled/ direktorij. Osim toga, uklonite zadanu konfiguraciju bloka servera.

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

Zatim provjerite da li je sintaksa konfiguracije NGINX ispravna tako što ćete pokrenuti sljedeću naredbu prije ponovnog pokretanja usluge.

sudo nginx -t
sudo systemctl restart nginx

Korak 7: Pristup Laravel aplikaciji iz web pretraživača

U ovoj fazi, morate testirati da li vaša Laravel implementacija radi dobro i da li joj se može pristupiti iz pretraživača. Za korištenje lažne domene, example.com, koristimo datoteku /etc/hosts na vašem lokalnom računaru za kreiranje lokalnog DNS-a.

Pokrenite sljedeće komande da dobijete IP adresu Laravel servera i dodate je u datoteku /etc/hosts (zamijenite vrijednost prema vašim postavkama).
$ip oglas
$echo “192.168.56.11 example.com” | sudo tee -a /etc/hosts

Sada otvorite web pretraživač na lokalnom računaru i koristite sljedeću adresu za navigaciju.

http://www.example.com/

Sada kada imate instaliran Laravel, možete započeti izradu vaše web aplikacije ili web stranice. Za više informacija pogledajte Laravel dokumentaciju.