Giunsa ang Pag-install sa Laravel PHP Framework sa Nginx sa Ubuntu 20.04


Ang Laravel mao ang pinakasikat, libre, ug open-source nga PHP framework sa kalibutan, nga nailhan tungod sa iyang makapahayag ug elegante nga syntax. Ang Laravel ma-access, gamhanan, ug nagtanyag sa pipila sa labing maayo nga mga himan sa pagpalambo sa web nga gikinahanglan alang sa dagko, lig-on, ug modernong mga aplikasyon.

Niini nga artikulo, mahibal-an nimo kung giunsa ang pag-install sa Laravel PHP Framework sa Ubuntu 20.04 server nga nagdagan sa Nginx web server.

  • Unsaon Pag-instalar sa LEMP Stack sa PhpMyAdmin sa Ubuntu 20.04

Lakang 1: Pag-instalar sa Gikinahanglan nga mga Module sa PHP

Human sa pag-set up sa LEMP stack sa imong Ubuntu 20.04 server sama sa gihulagway sa giya sa link sa ibabaw, kinahanglan nimo nga i-install ang dugang nga mga extension sa PHP nga gikinahanglan ni Laravel sama sa mosunod:

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

Lakang 2: Paghimo usa ka Database alang sa Laravel

Sunod, kinahanglan nimo nga maghimo usa ka database sa MySQL alang sa imong aplikasyon sa Laravel. Busa, pag-log in sa imong mysql shell ug paghimo sa database sama sa mosunod.

$ 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

Lakang 3: Pag-instalar sa Composer sa Ubuntu 20.04

Gigamit ni Laravel ang kompositor (usa ka tigdumala sa dependency alang sa PHP) aron pagdumala sa mga dependency niini. Busa, sa dili pa gamiton ang Laravel, siguroha nga na-install nimo ang Composer sa imong sistema sama sa gipakita.

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

Lakang 4: Pag-instalar sa Laravel sa Ubuntu 20.04

Human ma-install ang kompositor, gamita kini aron ma-install ang mga file sa Laravel. Ibalhin sa imong /var/www/html direktoryo diin gitipigan ang mga file sa web, dayon i-install ang Laravel gamit ang kompositor sama sa gipakita. Hinumdumi nga pulihan ang example.com sa ngalan sa direktoryo kung diin ang mga Laravel file itago.

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

Lakang 5: Pag-configure sa Laravel sa Ubuntu 20.04

Aron ilista ang mga sulod sa bag-ong pag-instalar sa Laravel, padagana ang mosunod nga ls command. Mamatikdan nimo nga ang usa ka .env nga payl awtomatik nga nabuhat, nga kaniadto, kinahanglan nga mano-mano ang paghimo.

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

Sunod, ibutang ang angay nga mga pagtugot sa direktoryo sa Laravel ingon sa mosunod.

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

Sunod, gigamit ni Laravel ang usa ka yawe sa aplikasyon aron masiguro ang mga sesyon sa tiggamit ug uban pang mga naka-encrypt nga datos. Ang default .env adunay usa ka default nga yawe sa aplikasyon apan kinahanglan nimo nga maghimo usa ka bag-o alang sa imong pag-deploy sa laravel alang sa mga katuyoan sa seguridad.

$ sudo php artisan key:generate

Ang namugna nga yawe idugang sa .env file isip bili sa APP_KEY. Mahimo nimong tan-awon ang gidugang nga yawe gamit ang grep command.

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

Kinahanglan usab nimo nga i-configure ang mga detalye sa koneksyon sa database sa Laravel sa .env sama sa gipakita sa mosunod nga screenshot.

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

Lakang 6: Pag-configure sa NGINX sa Pag-alagad sa Laravel Application

Para maserbisyuhan sa NGINX ang imong bag-ong aplikasyon, kinahanglang maghimo ka ug server block para niini sulod sa NGINX configuration, ubos sa /etc/nginx/sites-available/ directory.

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

Sa configuration sa ubos, i-update ang root directive ngadto sa public directory sa Laravel application ug siguroha nga ilisan ang www.example.com sa domain name sa imong website sama sa gipakita.

Usab, itakda ang fastcgi_pass nga direktiba kinahanglan magpunting sa medium nga PHP-FPM nga naminaw sa mga hangyo (pananglitan 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-save ang file ug dayon i-enable ang Laravel site configuration pinaagi sa paghimo og link gikan sa /etc/nginx/sites-available/example.com.conf ngadto sa /etc/nginx/sites-enabled/ direktoryo. Gawas pa, kuhaa ang default server block configuration.

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

Sunod, susiha kon ang NGINX configuration syntax husto ba pinaagi sa pagpadagan sa mosunod nga sugo sa dili pa i-restart ang serbisyo.

$ sudo nginx -t
$ sudo systemctl restart nginx

Lakang 7: Pag-access sa Laravel Application gikan sa usa ka Web Browser

Niini nga yugto, kinahanglan nimo nga sulayan kung ang imong Laravel deployment maayo ba ug kung kini ma-access gikan sa usa ka browser. Aron magamit ang dummy domain, example.com, gamiton nato ang /etc/hosts file sa imong lokal nga kompyuter aron makahimo og lokal nga DNS.

Pagdalagan ang mosunod nga mga sugo aron makuha ang IP address sa Laravel server ug idugang kini sa /etc/hosts file (ilisan ang bili sumala sa imong mga setting).
$ip ad
$echo “192.168.56.11 example.com” | sudo tee -a /etc/hosts

Karon ablihi ang usa ka web browser sa lokal nga kompyuter ug gamita ang mosunod nga adres sa pag-navigate.

http://www.example.com/

Karon nga na-install na nimo ang Laravel, mahimo ka magsugod sa paghimo sa imong web application o site. Alang sa dugang nga kasayuran, tan-awa ang dokumentasyon sa Laravel.