Otu esi etinye Laravel PHP Framework na CentOS


Laravel bụ ebe mepere emepe n'efu, usoro PHP siri ike nwere syntax na-egosipụta ma na-adọrọ adọrọ. Ọ nwere syntax a nụchara anụcha, dị mfe na nke enwere ike ịgụ maka ịmepụta ngwa ọgbara ọhụrụ, siri ike na nke siri ike site na ala. Na mgbakwunye, Laravel na-enye ọtụtụ ngwaọrụ ịchọrọ maka ide koodu PHP dị ọcha, ọgbara ọhụrụ na nke enwere ike idobe ya.

  • ORM siri ike (Object-Relational Mapping) maka iji nchekwa data gị rụọ ọrụ.
  • Usoro ụzọ ụzọ na-adịghị mgbagwoju anya na ngwa ngwa.
  • Ogwe ịgba ntụtụ siri ike.
  • Na-enye API jikọrọ ọnụ n'ofe ọtụtụ kwụ n'ahịrị azụ gụnyere Amazon SQS na Redis na ọtụtụ ndị ọzọ, maka nchekwa nnọkọ na cache.
  • Na-akwado usoro nyocha dị mfe.
  • Na-akwado mgbasa ozi mmemme ozugbo.
  • Na-akwadokwa mbugharị agnostic nchekwa data na onye nrụpụta atụmatụ.
  • Na-akwado nhazi ọrụ ndabere na ihe ndị ọzọ.

Sistemu gị ga-emezurịrị ihe ndị a chọrọ ka ị nwee ike ịme ụdị Laravel kachasị ọhụrụ:

  • PHP>= 7.1.3 nwere OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype na JSON PHP Extensions.
  • Onye na-ede ihe – onye njikwa ngwugwu ọkwa ngwa maka PHP.

  1. CentOS 7 nwere LEMP Stack

N'isiokwu a, anyị ga-akọwa otu esi etinye Laravel 5.6 PHP Framework ọhụrụ na CentOS, Red Hat, Fedora Systems.

Kwụpụ 1: Tọọ ebe nchekwa Yum

1. Nke mbụ, ịkwesịrị ịme ka nchekwa REMI na EPEL dị na nkesa Linux gị nweta ngwugwu emelitere (PHP, Nginx, MariaDB, wdg) site na iji iwu ndị a.

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

Kwụpụ 2: Wụnye Nginx, MySQL na PHP

2. Ọzọ, anyị kwesịrị ịwụnye gburugburu LEMP na-arụ ọrụ na sistemụ gị. Ọ bụrụ na ịnweelarị ngwugwu LEMP na-arụ ọrụ, ị nwere ike ịgafe usoro a, ma ọ bụrụ na ịwụnyeghị ya site na iji iwu ndị a.

# yum install nginx        [On CentOS/RHEL]

3. Ozugbo etinyere nginx, malitezie sava weebụ wee mee ka ọ malite na sistemụ buut wee chọpụta ọnọdụ ahụ site na iji iwu ndị a.

------------- 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. Iji nweta nginx site na netwọk ọha, ịkwesịrị imepe ọdụ ụgbọ mmiri 80 na firewall sistemụ gị iji nweta arịrịọ mpụga dị ka egosiri.

------------- 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. Ọzọ, malite ma mee ka ọrụ PHP-FPM wee lelee ma ọ na-arụ ọrụ.

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

Kwụpụ 3: Wụnye Onye na-ede ihe na Laravel PHP Framework

6. Ugbu a wụnye Onye na-ede egwú (dependency manager maka PHP) maka ịwụnye ihe ndabere Laravel chọrọ site na iji iwu ndị a.

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

7. Ozugbo ị wụnye Composer, ị nwere ike ịwụnye Laravel site na-agba ọsọ iwu ike-project, dị ka ndị a.

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

8. Ugbu a, mgbe ị na-eme ogologo ndepụta nke mgbọrọgwụ akwụkwọ weebụ gị, akwụkwọ ndekọ testsite kwesịrị ịdị n'ebe ahụ, nwere faịlụ laravel gị.

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

Kwụpụ 4: Hazie nwụnye Laravel

9. Ugbu a, tọọ ikike kwesịrị ekwesị na ndekọ ndekọ testsite na faịlụ laravel site na iji iwu ndị a.

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

10. Na mgbakwunye, ọ bụrụ na ị nwere SELinux nyeere, ịkwesịrị imelite nchekwa nchekwa nke nchekwa na bootstrap/cache directories site na iji iwu ndị a.

# 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. Mgbe ahụ mepụta faịlụ gburugburu maka ngwa gị, jiri faịlụ nlele enyere.

# cp .env.example .env

12. Ọzọ, Laravel na-eji igodo ngwa iji chekwaa oge onye ọrụ na data ndị ọzọ ezoro ezo. Yabụ ị ga-ewepụta ma tọọ igodo ngwa gị ka ọ bụrụ eriri enweghị usoro site na iji iwu na-eso.

# php artisan key:generate

Kwụpụ 5: Hazie Nginx Server Block For Laravel

13. N'ime usoro a, ịkwesịrị ịhazi ngọngọ Nginx nkesa maka testsite, iji nweta ya na ihe nchọgharị weebụ. Mepụta faịlụ .conf maka ya n'okpuru /etc/nginx/conf.d/ directory dị ka egosiri.

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

Tinyekwa nhazi ndị a n'ime ya (jiri ụkpụrụ dị na gburugburu gị, na ọmụmaatụ a, ngalaba dummy anyị bụ testlaravel.com). Rịba ama na echekwara faịlụ laravel index na /var/www/html/testsite/public, nke a ga-abụ mgbọrọgwụ nke saịtị/ngwa gị.

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

Chekwaa faịlụ wee pụọ. Mgbe ahụ malitegharịa ihe nkesa weebụ gị maka mgbanwe ndị na-adịbeghị anya iji mee ihe.

# systemctl restart nginx

Nzọụkwụ 6: Nweta weebụsaịtị Laravel

14. Ọzọ, ọ bụrụ na ịnweghị aha ngalaba aha zuru oke, ịkwesịrị iji faịlụ /etc/hosts iji mepụta DNS mpaghara maka ebumnuche ule.

Tinye ahịrị na-esonụ na faịlụ /etc/hosts gị dị ka egosiri (jiri adreesị IP gị na ngalaba kama 192.168.43.31 na testlaravel.com n'otu n'otu).

192.168.43.31  testinglaravel.com

15. N'ikpeazụ nweta saịtị Laravel gị site na ihe nchọgharị, na-eji URL ndị a.

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

Ọ bụrụ na ị na-emepe emepe na mpaghara, ị nwere ike were sava mmepe arụnyere na PHP iji jeere ngwa ma ọ bụ saịtị gị ozi, dị ka ndị a. Iwu a ga-amalite sava mmepe na http://localhost:8000 ma ọ bụ http://127.0.0.1:8000. Na CentOS/REHL, ekwesịrị imepe ọdụ ụgbọ mmiri a na firewall ka ị jiri ngwa gị rụọ ọrụ otu a.

# php artisan serve

Site na ebe a, ị dị njikere ịga, ị nwere ike ịmalite ịmepụta saịtị gị. Maka nhazi ndị ọzọ dị ka cache, nchekwa data na nnọkọ, ị nwere ike ịga na ibe ụlọ Laravel.

Laravel bụ usoro PHP nwere nkwuwapụta na ọmarịcha syntax maka mmepe weebụ ọgbara ọhụrụ. Anyị na-atụ anya na ihe niile gara nke ọma n'oge nrụnye, ma ọ bụrụ na ọ bụghị, jiri ụdị nkọwa n'okpuru ịkọrọ anyị ajụjụ gị.