Jinsi ya Kufunga Mfumo wa Wavuti wa Laravel PHP katika CentOS


Laravel ni chanzo wazi cha bure, mfumo wa PHP wenye nguvu na syntax inayoelezea na ya kuvutia. Ina sintaksia iliyosafishwa, rahisi na inayoweza kusomeka kwa ajili ya kuendeleza matumizi ya kisasa, thabiti na yenye nguvu kuanzia mwanzo hadi mwisho. Kwa kuongezea, Laravel hutoa zana kadhaa unazohitaji ili kuandika nambari safi, ya kisasa na inayoweza kudumishwa ya PHP.

  • ORM Yenye Nguvu (Uwekaji wa Ramani ya Kitu-Mahusiano) kwa kufanya kazi na hifadhidata yako.
  • Utaratibu usio ngumu na wa haraka wa uelekezaji.
  • Chombo chenye nguvu cha sindano ya utegemezi.
  • Hutoa API iliyounganishwa kwenye sehemu nyingi za nyuma za foleni ikiwa ni pamoja na Amazon SQS na Redis na nyingine nyingi, kwa kipindi na hifadhi ya akiba.
  • Hutumia utaratibu rahisi wa uthibitishaji.
  • Inaauni utangazaji wa matukio ya wakati halisi.
  • Pia inasaidia uhamishaji wa uagnostik na kijenzi cha taratibu.
  • Inaauni uchakataji wa kazi ya usuli na zaidi.

Mfumo wako lazima ukidhi mahitaji yafuatayo ili uweze kuendesha toleo jipya zaidi la Laravel:

  • PHP >= 7.1.3 yenye OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype na Viendelezi vya PHP vya JSON.
  • Mtunzi - kidhibiti cha kiwango cha programu cha PHP.

  1. CentOS 7 iliyo na Rafu ya LEMP

Katika makala hii, tutaelezea jinsi ya kusakinisha toleo la hivi karibuni la Mfumo wa PHP wa Laravel 5.6 kwenye CentOS, Red Hat, mifumo ya Fedora.

Hatua ya 1: Sanidi Hifadhi za Yum

1. Kwanza kabisa, unahitaji kuwezesha hazina za REMI na EPEL katika usambazaji wako wa Linux ili kuwa na vifurushi vilivyosasishwa (PHP, Nginx, MariaDB, n.k.) kwa kutumia amri zifuatazo.

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

Hatua ya 2: Sakinisha Nginx, MySQL na PHP

2. Kisha, tunahitaji kusakinisha mazingira ya LEMP ya kufanya kazi kwenye mfumo wako. Ikiwa tayari una mrundikano wa LEMP unaofanya kazi, unaweza kuruka hatua hii, ikiwa haujaisakinisha kwa kutumia amri zifuatazo.

# yum install nginx        [On CentOS/RHEL]

3. Mara nginx imesakinishwa, kisha anza seva ya wavuti na uiwashe kuanza kwenye mfumo wa kuwasha na kisha uthibitishe hali kwa kutumia amri zifuatazo.

------------- 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. Ili kufikia nginx kutoka kwa mtandao wa umma, unahitaji kufungua mlango 80 kwenye ngome ya mfumo wako ili kupokea maombi ya nje kama inavyoonyeshwa.

------------- 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. Ifuatayo, anza na uwashe huduma ya PHP-FPM na uangalie ikiwa iko na inafanya kazi.

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

Hatua ya 3: Sakinisha Mfumo wa Mtunzi na Laravel PHP

6. Sasa sakinisha Mtunzi (kidhibiti tegemezi kwa PHP) kwa kusakinisha vitegemezi vya Laravel vinavyohitajika kwa kutumia amri zifuatazo.

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

7. Mara baada ya kusakinisha Mtunzi, unaweza kusakinisha Laravel kwa kuendesha amri ya mtunzi kujenga mradi, kama ifuatavyo.

# cd /var/www/html/
# sudo composer create-project --prefer-dist laravel/laravel testsite 

8. Sasa unapofanya uorodheshaji mrefu wa mzizi wa hati yako ya wavuti, saraka ya tovuti ya testsite inapaswa kuwepo humo, iliyo na faili zako za laravel.

$ ls -l /var/www/html/testsite

Hatua ya 4: Sanidi Ufungaji wa Laravel

9. Sasa weka ruhusa zinazofaa kwenye saraka ya testsite na faili za laravel kwa kutumia amri zifuatazo.

# chmod -R 775 /var/www/html/testsite
# chown -R apache.apache /var/www/html/testsite
# chmod -R 777 /var/www/html/testsite/storage/

10. Kwa kuongeza, ikiwa umewezesha SELinux, unahitaji kusasisha muktadha wa usalama wa hifadhi na saraka za bootstrap/cache kwa kutumia amri zifuatazo.

# 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. Kisha unda faili ya mazingira kwa ajili ya programu yako, kwa kutumia sampuli ya faili iliyotolewa.

# cp .env.example .env

12. Kisha, Laravel hutumia ufunguo wa programu ili kulinda vipindi vya watumiaji na data nyingine iliyosimbwa kwa njia fiche. Kwa hivyo unahitaji kutoa na kuweka ufunguo wako wa programu kwa kamba isiyo ya kawaida kwa kutumia amri ifuatayo.

# php artisan key:generate

Hatua ya 5: Sanidi Kizuizi cha Seva ya Nginx Kwa Laravel

13. Katika hatua hii, unahitaji kusanidi kizuizi cha seva cha Nginx kwa tovuti ya majaribio, ili kuipata kutoka kwa kivinjari cha wavuti. Unda faili ya .conf chini ya saraka ya /etc/nginx/conf.d/ kama inavyoonyeshwa.

# vi /etc/nginx/conf.d/testsite.conf

Na ongeza usanidi ufuatao ndani yake (tumia maadili yanayotumika kwa mazingira yako, katika mfano huu, kikoa chetu cha dummy ni testinglaravel.com). Kumbuka kuwa faili ya faharisi ya laravel imehifadhiwa ndani /var/www/html/testsite/public, hii itakuwa mzizi wa tovuti/programu yako.

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;
	}
}

Hifadhi faili na uondoke. Kisha anzisha upya seva yako ya wavuti ili mabadiliko ya hivi majuzi yaanze kutumika.

# systemctl restart nginx

Hatua ya 6: Fikia Tovuti ya Laravel

14. Kisha, ikiwa huna jina la kikoa lililosajiliwa kikamilifu, unahitaji kutumia /etc/hosts faili kuunda DNS ya ndani kwa madhumuni ya majaribio.

Ongeza laini ifuatayo katika faili yako ya /etc/hosts kama inavyoonyeshwa (tumia anwani ya IP ya mfumo wako na kikoa badala ya 192.168.43.31 na testinglaravel.com mtawalia).

192.168.43.31  testinglaravel.com

15. Hatimaye fikia tovuti yako ya Laravel kutoka kwa kivinjari, ukitumia URL ifuatayo.

http://testinglaravel.com
OR
http://your-ip-address

Ikiwa unakuza ndani ya nchi, unaweza kuajiri seva ya maendeleo iliyojengewa ndani ya PHP ili kutumikia programu au tovuti yako, kama ifuatavyo. Amri hii itaanzisha seva ya ukuzaji katika http://localhost:8000 au http://127.0.0.1:8000. Kwenye CentOS/REHL, mlango huu unapaswa kufunguliwa kwenye ngome ili utumie programu yako kwa njia hii.

# php artisan serve

Kutoka hatua hii, uko tayari kwenda, unaweza kuanza kuendeleza tovuti yako. Kwa usanidi wa ziada kama vile kache, hifadhidata na vipindi, unaweza kwenda kwenye ukurasa wa nyumbani wa Laravel.

Laravel ni mfumo wa PHP ulio na sintaksia inayoeleweka na nzuri kwa ukuzaji wa wavuti kwa vitendo, wa kisasa. Tunatumahi kuwa kila kitu kiliendelea vizuri wakati wa usakinishaji, ikiwa sivyo, tumia fomu ya maoni hapa chini kushiriki maswali yako nasi.