Kif Tinstalla Laravel PHP Web Framework f'CentOS
Laravel huwa sors miftuħ b'xejn, qafas PHP b'saħħtu b'sintassi espressiva u attraenti. Għandu sintassi raffinata, sempliċi u li tinqara għall-iżvilupp ta' applikazzjonijiet moderni, robusti u b'saħħithom mill-art. Barra minn hekk, Laravel jipprovdi diversi għodod li għandek bżonn biex tikteb kodiċi PHP nadif, modern u li jista' jinżamm.
- ORM (Object-Relational Mapping) b'saħħtu biex taħdem mad-database tiegħek.
- Mekkaniżmu ta' routing mhux ikkumplikat u veloċi.
- Kontenitur qawwi ta' injezzjoni ta' dipendenza.
- Tipprovdi API unifikata f'diversi backends ta' kju inklużi Amazon SQS u Redis u ħafna aktar, għal ħażna ta' sessjoni u cache.
- Jappoġġja mekkaniżmu ta' awtentikazzjoni sempliċi.
- Jappoġġja xandir ta' avvenimenti f'ħin reali.
- Jappoġġja wkoll migrazzjonijiet agnostiċi ta' database u bennej ta' skema.
- Jappoġġja l-ipproċessar tal-impjiegi fl-isfond u aktar.
Is-sistema tiegħek trid tissodisfa r-rekwiżiti li ġejjin biex tkun tista' tħaddem l-aħħar verżjoni ta' Laravel:
- PHP >= 7.1.3 b'Estensjonijiet PHP OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype u JSON.
- Kompożitur – maniġer tal-pakkett fil-livell tal-applikazzjoni għall-PHP.
- CentOS 7 b'LEMP Stack
F'dan l-artikolu, se nispjegaw kif tinstalla l-aħħar verżjoni ta 'Laravel 5.6 PHP Framework fuq CentOS, Red Hat, sistemi Fedora.
Pass 1: Setup Repożitorji Yum
1. L-ewwelnett, jeħtieġ li tippermetti r-repożitorji REMI u EPEL fid-distribuzzjoni tal-Linux tiegħek biex ikollok il-pakketti aġġornati (PHP, Nginx, MariaDB, eċċ.) billi tuża l-kmandi li ġejjin
------------- On CentOS/RHEL 7.x ------------- rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm ------------- On CentOS/RHEL 6.x ------------- rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
Pass 2: Installa Nginx, MySQL u PHP
2. Sussegwentement, għandna bżonn ninstallaw ambjent LEMP li jaħdem fis-sistema tiegħek. Jekk diġà għandek munzell LEMP li jaħdem, tista 'taqbeż dan il-pass, jekk ma tinstallahx billi tuża l-kmandi li ġejjin.
# yum install nginx [On CentOS/RHEL]
3. Ladarba nginx ikun ġie installat, imbagħad ibda s-server tal-web u ppermettih jibda fil-boot tas-sistema u mbagħad ivverifika l-istatus billi tuża l-kmandi li ġejjin.
------------- On CentOS/RHEL 7.x ------------- # systemctl start nginx # systemctl enable nginx # systemctl status nginx ------------- On CentOS/RHEL 6.x ------------- # service nginx start # chkconfig nginx on # service nginx status
4. Biex taċċessa nginx minn netwerk pubbliku, għandek bżonn tiftaħ port 80 fuq il-firewall tas-sistema tiegħek biex tirċievi talbiet esterni kif muri.
------------- On CentOS/RHEL 7.x ------------- # firewall-cmd --permanent --add-port=80/tcp # firewall-cmd --reload ------------- On CentOS/RHEL 6.x ------------- # iptables -A INPUT -p tcp --dport 80 -j ACCEPT # service iptables restart
# yum install mariadb-server php-mysql # systemctl start mariadb.service # /usr/bin/mysql_secure_installation
# yum install yum-utils # yum-config-manager --enable remi-php72 # yum install php php-fpm php-common php-xml php-mbstring php-json php-zip
5. Sussegwentement, ibda u ppermettiet is-servizz PHP-FPM u iċċekkja jekk huwiex qed jaħdem.
------------- On CentOS/RHEL 7.x ------------- # systemctl start php-fpm # systemctl enable php-fpm # systemctl status php-fpm ------------- On CentOS/RHEL 6.x ------------- # service php-fpm start # chkconfig php-fpm on # service php-fpm status
Pass 3: Installa Composer u Laravel PHP Framework
6. Issa installa Composer (maniġer tad-dipendenza għal PHP) għall-installazzjoni tad-dipendenzi meħtieġa ta 'Laravel billi tuża l-kmandi li ġejjin.
# curl -sS https://getcomposer.org/installer | php # mv composer.phar /usr/local/bin/composer # chmod +x /usr/local/bin/composer
7. Ladarba tkun installat Composer, tista 'tinstalla Laravel billi tħaddem il-kmand tal-kompożitur toħloq-proġett, kif ġej.
# cd /var/www/html/ # sudo composer create-project --prefer-dist laravel/laravel testsite
8. Issa meta tagħmel lista twila tal-għerq tad-dokument tal-web tiegħek, id-direttorju tas-sit tat-test għandu jkun hemm hemmhekk, li jkun fih il-fajls laravel tiegħek.
$ ls -l /var/www/html/testsite
Pass 4: Ikkonfigura l-Installazzjoni ta 'Laravel
9. Issa ssettja l-permessi xierqa fuq id-direttorju tas-sit tat-test u l-fajls laravel billi tuża l-kmandi li ġejjin.
# chmod -R 775 /var/www/html/testsite # chown -R apache.apache /var/www/html/testsite # chmod -R 777 /var/www/html/testsite/storage/
10. Barra minn hekk, jekk għandek SELinux attivat, għandek bżonn taġġorna l-kuntest tas-sigurtà tad-direttorji tal-ħażna u bootstrap/cache billi tuża l-kmandi li ġejjin.
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/bootstrap/cache(/.*)?' # semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/storage(/.*)?' # restorecon -Rv '/usr/share/nginx/html/testapp'
11. Imbagħad oħloq fajl ambjentali għall-applikazzjoni tiegħek, billi tuża l-kampjun tal-fajl ipprovdut.
# cp .env.example .env
12. Sussegwentement, Laravel juża ċavetta ta 'applikazzjoni biex jiżgura sessjonijiet ta' utent u data oħra kriptata. Allura għandek bżonn tiġġenera u tissettja ċ-ċavetta tal-applikazzjoni tiegħek għal string każwali billi tuża l-kmand li ġej.
# php artisan key:generate
Pass 5: Ikkonfigura Nginx Server Block Għal Laravel
13. F'dan il-pass, għandek bżonn tikkonfigura blokka ta 'server Nginx għal testsite, sabiex ikollok aċċess għaliha minn web browser. Oħloq fajl .conf
għalih taħt id-direttorju /etc/nginx/conf.d/ kif muri.
# vi /etc/nginx/conf.d/testsite.conf
U żid il-konfigurazzjoni li ġejja fiha (uża valuri applikabbli għall-ambjent tiegħek, f'dan l-eżempju, id-dominju finta tagħna huwa testinglaravel.com). Innota li l-fajl tal-indiċi laravel huwa maħżun f'/var/www/html/testsite/public, dan ikun l-għerq tas-sit/applikazzjoni tiegħek.
server { listen 80; server_name testinglaravel.com; root /var/www/html/testsite/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:/var/run/php/php7.2-fpm.sock; } location ~ /\.ht { deny all; } }
Issejvja l-fajl u oħroġ. Imbagħad erġa ibda s-server tal-web tiegħek biex il-bidliet riċenti jidħlu fis-seħħ.
# systemctl restart nginx
Pass 6: Aċċessa għall-Websajt Laravel
14. Sussegwentement, jekk ma jkollokx isem ta' dominju kompletament irreġistrat, trid tuża l-fajl /etc/hosts biex toħloq DNS lokali għal skopijiet ta' ttestjar.
Żid il-linja li ġejja fil-fajl /etc/hosts tiegħek kif muri (uża l-indirizz IP u d-dominju tas-sistema tiegħek minflok 192.168.43.31 u testinglaravel.com rispettivament).
192.168.43.31 testinglaravel.com
15. Fl-aħħarnett aċċess għas-sit Laravel tiegħek minn browser, billi tuża l-URL li ġej.
http://testinglaravel.com OR http://your-ip-address
Jekk qed tiżviluppa lokalment, tista 'timpjega s-server ta' żvilupp inkorporat tal-PHP biex isservi l-applikazzjoni jew is-sit tiegħek, kif ġej. Dan il-kmand se jibda server ta 'żvilupp fuq http://localhost:8000 jew http://127.0.0.1:8000. Fuq CentOS/REHL, dan il-port għandu jinfetaħ fil-firewall biex inti sservi l-applikazzjoni tiegħek b'dan il-mod.
# php artisan serve
Minn dan il-punt, inti lest biex tmur, tista 'tibda tiżviluppa s-sit tiegħek. Għal konfigurazzjonijiet addizzjonali bħal cache, database u sessjonijiet, tista 'tmur fil-homepage ta' Laravel.
Laravel huwa qafas PHP b'sintassi espressiva u sabiħa għal żvilupp tal-web prattiku u modern. Nittamaw li kollox mexa tajjeb matul l-installazzjoni, jekk le, uża l-formola tal-kummenti hawn taħt biex taqsam il-mistoqsijiet tiegħek magħna.