Kif Tinstalla Laravel PHP Framework b'Nginx fuq Ubuntu 20.04
Laravel huwa l-aktar qafas PHP popolari, ħieles u open-source fid-dinja, magħruf għas-sintassi espressiva u eleganti tiegħu. Laravel huwa aċċessibbli, b'saħħtu, u joffri wħud mill-aqwa għodod għall-iżvilupp tal-web meħtieġa għal applikazzjonijiet kbar, robusti u moderni.
F'dan l-artikolu, titgħallem kif tinstalla l-Laravel PHP Framework fuq is-server Ubuntu 20.04 li jaħdem fuq is-server tal-web Nginx.
- Kif Tinstalla LEMP Stack ma' PhpMyAdmin f'Ubuntu 20.04
Pass 1: Installazzjoni tal-Moduli PHP Meħtieġa
Wara li waqqaf il-munzell LEMP fuq is-server Ubuntu 20.04 tiegħek kif deskritt fil-gwida fil-link hawn fuq, għandek bżonn tinstalla estensjonijiet PHP addizzjonali meħtieġa minn Laravel kif ġej:
$ sudo apt update $ sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer
Pass 2: Ħolqien ta 'Database għal Laravel
Sussegwentement, għandek bżonn toħloq database MySQL għall-applikazzjoni Laravel tiegħek. Allura, idħol fil-qoxra tal-mysql tiegħek u oħloq id-database kif ġej.
$ 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
Pass 3: Installazzjoni tal-Kompożitur f'Ubuntu 20.04
Laravel juża l-kompożitur (maniġer tad-dipendenza għall-PHP) biex jimmaniġġja d-dipendenzi tiegħu. Għalhekk, qabel ma tuża Laravel, kun żgur li għandek Composer installat fis-sistema tiegħek kif muri.
$ curl -sS https://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer $ sudo chmod +x /usr/local/bin/composer
Pass 4: Installazzjoni ta 'Laravel f'Ubuntu 20.04
Wara li tinstalla l-kompożitur, użaha biex tinstalla l-fajls Laravel. Imxi fid-direttorju /var/www/html
tiegħek fejn huma maħżuna l-fajls tal-web, imbagħad installa Laravel billi tuża l-kompożitur kif muri. Ftakar li tissostitwixxi example.com
bl-isem tad-direttorju fejn se jinħażnu l-fajls Laravel.
$ cd /var/www/html $ composer create-project --prefer-dist laravel/laravel example.com
Pass 5: Konfigurazzjoni ta 'Laravel f'Ubuntu 20.04
Biex telenka l-kontenut tal-installazzjoni l-ġdida ta 'Laravel, ħaddem il-kmand ls li ġej. Tinduna li fajl .env
inħoloq awtomatikament, li fil-passat, kien ikollu jinħoloq manwalment.
$ ls -la /var/www/html/example.com/
Sussegwentement, issettja l-permessi xierqa fuq id-direttorju Laravel kif ġej.
$ 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/
Sussegwentement, Laravel juża ċavetta ta 'applikazzjoni biex jiżgura sessjonijiet ta' l-utent u data oħra kriptata. Il-default .env
fih ċavetta ta' applikazzjoni default imma għandek bżonn tiġġenera waħda ġdida għall-iskjerament tal-laravel tiegħek għal skopijiet ta' sigurtà.
$ sudo php artisan key:generate
Iċ-ċavetta ġġenerata se tkun mehmuża fil-fajl .env
bħala l-valur tal-APP_KEY
. Tista' tara ċ-ċavetta mehmuża billi tuża l-kmand grep.
$ grep -i APP_Key /var/www/html/example.com/.env
Għandek bżonn ukoll tikkonfigura d-dettalji tal-konnessjoni tad-database Laravel f'.env
kif muri fil-screenshot li ġej.
$ sudo nano /var/www/html/example.com/.env
Pass 6: Konfigurazzjoni ta 'NGINX biex Iservi l-Applikazzjoni Laravel
Biex NGINX iservi l-applikazzjoni l-ġdida tiegħek, għandek bżonn toħloq blokk tas-server għaliha fi ħdan il-konfigurazzjoni NGINX, taħt id-direttorju /etc/nginx/sites-available/
.
$ sudo nano /etc/nginx/sites-available/example.com.conf
Fil-konfigurazzjoni ta’ hawn taħt, aġġorna d-direttiva tal-għeruq għad-direttorju pubbliku tal-applikazzjoni Laravel u kun żgur li tissostitwixxi www.example.com
bl-isem tad-dominju tal-websajt tiegħek kif muri.
Ukoll, issettja d-direttiva fastcgi_pass
għandha tindika l-mezz li PHP-FPM qed jisma' għal talbiet (per eżempju 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; } }
Issejvja l-fajl u mbagħad ippermetti l-konfigurazzjoni tas-sit Laravel billi toħloq link minn /etc/nginx/sites-available/example.com.conf
għall-/etc/nginx/sites-enabled/
direttorju. Barra minn hekk, neħħi l-konfigurazzjoni default tal-blokk tas-server.
$ sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/ $ sudo rm /etc/nginx/sites-enabled/default
Sussegwentement, iċċekkja jekk is-sintassi tal-konfigurazzjoni NGINX hijiex korretta billi tħaddem il-kmand li ġej qabel ma terġa 'tibda s-servizz.
$ sudo nginx -t $ sudo systemctl restart nginx
Pass 7: Aċċess għall-Applikazzjoni Laravel minn Web Browser
F'dan l-istadju, għandek bżonn tittestja jekk l-iskjerament Laravel tiegħek hux qed jaħdem tajjeb u jekk jistax jiġi aċċessat minn browser. Biex tuża d-dominju finta, example.com
, ejja nużaw il-fajl /etc/hosts
fuq il-kompjuter lokali tiegħek biex noħolqu DNS lokali.
Mexxi l-kmandi li ġejjin biex tikseb l-indirizz IP tas-server Laravel u żidu mal-fajl /etc/hosts
(ibdel il-valur skont is-settings tiegħek).
$ip ad
$eku “192.168.56.11 example.com” | sudo tee -a /etc/hosts
Issa tiftaħ web browser fuq il-kompjuter lokali u uża l-indirizz li ġej biex tinnaviga.
http://www.example.com/
Issa li għandek Laravel installat, tista 'tibda tibni l-applikazzjoni tal-web jew is-sit tiegħek. Għal aktar informazzjoni, ara d-dokumentazzjoni Laravel.