Kaip įdiegti „Laravel PHP Framework“ su „Nginx“ „Ubuntu 20.04“


„Laravel“ yra populiariausia, nemokama ir atviro kodo PHP sistema pasaulyje, žinoma dėl išraiškingos ir elegantiškos sintaksės. „Laravel“ yra prieinama, galinga ir siūlo keletą geriausių žiniatinklio kūrimo įrankių, reikalingų didelėms, tvirtoms ir modernioms programoms.

Šiame straipsnyje sužinosite, kaip įdiegti „Laravel PHP Framework“ „Ubuntu 20.04“ serveryje, veikiančiame „Nginx“ žiniatinklio serveryje.

  • Kaip įdiegti LEMP „Stack“ su „PhpMyAdmin“ sistemoje „Ubuntu 20.04“

1 veiksmas: įdiekite reikalingus PHP modulius

Nustatę LEMP kaminą savo „Ubuntu 20.04“ serveryje, kaip aprašyta aukščiau esančioje nuorodoje pateiktame vadove, turite įdiegti papildomus „Laravel“ reikalingus PHP plėtinius taip:

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

2 žingsnis: „Laravel“ duomenų bazės kūrimas

Tada turite sukurti „MySQL“ duomenų bazę savo „Laravel“ programai. Taigi, prisijunkite prie savo „mysql“ apvalkalo ir sukurkite duomenų bazę taip.

$ 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

3 žingsnis: „Composer“ diegimas „Ubuntu 20.04“

„Laravel“ naudoja kompozitorių (PHP priklausomybės tvarkytuvę) valdydamas savo priklausomybes. Todėl prieš naudodamiesi „Laravel“ įsitikinkite, kad „Composer“ yra įdiegtas jūsų sistemoje, kaip parodyta.

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

4 žingsnis: „Laravel“ diegimas „Ubuntu 20.04“

Įdiegę kompozitorių, naudokite jį „Laravel“ failams įdiegti. Pereikite į katalogą /var/www/html , kuriame saugomi žiniatinklio failai, tada įdiekite „Laravel“ naudodami kompozitorių, kaip parodyta. Nepamirškite pakeisti example.com katalogo, kuriame bus saugomi „Laravel“ failai, pavadinimu.

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

5 žingsnis: „Laravel“ konfigūravimas „Ubuntu 20.04“

Norėdami išvardyti naujojo „Laravel“ diegimo turinį, vykdykite šią komandą ls. Pastebėsite, kad automatiškai sukurtas .env failas, kurį anksčiau tekdavo sukurti rankiniu būdu.

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

Tada nustatykite reikiamus „Laravel“ katalogo leidimus taip.

$ 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/

Tada „Laravel“ naudoja programos raktą, kad apsaugotų vartotojo sesijas ir kitus šifruotus duomenis. Numatytame .env yra numatytasis programos raktas, tačiau saugumo sumetimais turite sugeneruoti naują, skirtą „Laravel“ diegimui.

$ sudo php artisan key:generate

Sugeneruotas raktas bus pridėtas prie failo .env kaip APP_KEY reikšmė. Pridėtą raktą galite peržiūrėti naudodami komandą grep.

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

Taip pat turite sukonfigūruoti išsamią „Laravel“ duomenų bazės ryšio informaciją .env , kaip parodyta šioje ekrano kopijoje.

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

6 veiksmas: „NGINX“ konfigūravimas teikti „Laravel“ programą

Kad NGINX galėtų aptarnauti jūsų naują programą, turite sukurti jai serverio bloką NGINX konfigūracijos kataloge /etc/nginx/sites-available/.

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

Toliau pateiktoje konfigūracijoje atnaujinkite šakninę direktyvą į viešąjį „Laravel“ programos katalogą ir būtinai pakeiskite www.example.com savo svetainės domeno vardu, kaip parodyta.

Taip pat nustatykite, kad fastcgi_pass direktyva turėtų nukreipti į terpę, kurioje PHP-FPM klausosi užklausų (pavyzdžiui, 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;
        }
}

Išsaugokite failą ir įgalinkite „Laravel“ svetainės konfigūraciją sukurdami nuorodą iš /etc/nginx/sites-available/example.com.conf į /etc/nginx/sites-enabled/ katalogas. Be to, pašalinkite numatytąją serverio bloko konfigūraciją.

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

Tada prieš paleisdami paslaugą patikrinkite, ar NGINX konfigūracijos sintaksė yra teisinga, vykdydami šią komandą.

$ sudo nginx -t
$ sudo systemctl restart nginx

7 žingsnis: Prieiga prie „Laravel“ programos iš interneto naršyklės

Šiame etape turite patikrinti, ar jūsų „Laravel“ diegimas veikia gerai ir ar jį galima pasiekti iš naršyklės. Norėdami naudoti fiktyvųjį domeną example.com , naudokime failą /etc/hosts vietiniame kompiuteryje, kad sukurtume vietinį DNS.

Vykdykite šias komandas, kad gautumėte „Laravel“ serverio IP adresą ir pridėtumėte jį prie failo /etc/hosts (pakeiskite vertę pagal savo nustatymus).
$ip skelbimas
$echo „192.168.56.11 example.com“ | sudo tee -a/etc/hosts

Dabar atidarykite interneto naršyklę vietiniame kompiuteryje ir naršykite naudodami šį adresą.

http://www.example.com/

Dabar, kai jau įdiegėte „Laravel“, galite pradėti kurti savo interneto programą ar svetainę. Norėdami gauti daugiau informacijos, žiūrėkite „Laravel“ dokumentaciją.