Giunsa ang Pag-install sa Laravel PHP Web Framework sa CentOS


Ang Laravel usa ka libre nga open source, kusgan nga balangkas sa PHP nga adunay usa ka ekspresyon ug madanihon nga syntax. Kini adunay usa ka dalisay, yano, ug mabasa nga syntax alang sa pagpalambo sa moderno, lig-on ug gamhanan nga mga aplikasyon gikan sa sinugdanan. Dugang pa, naghatag ang Laravel og daghang mga himan nga kinahanglan nimo alang sa pagsulat nga limpyo, moderno ug mapadayon nga code sa PHP.

  • Kusog nga ORM (Object-Relational Mapping) para sa pagtrabaho sa imong database.
  • Dili komplikado ug paspas nga mekanismo sa pagruta.
  • Kusog nga dependency injection container.
  • Naghatag usa ka hiniusang API sa daghang mga backend sa pila lakip ang Amazon SQS ug Redis ug daghan pa, alang sa pagtipig sa sesyon ug cache.
  • Nagsuporta ug yano nga mekanismo sa pag-authenticate.
  • Nagsuporta sa real-time nga pagsibya sa panghitabo.
  • Nagsuporta usab sa database agnostic migrations ug schema builder.
  • Nagsuporta sa pagproseso sa trabaho sa background ug uban pa.

Ang imong sistema kinahanglan nga makatagbaw sa mosunod nga mga kinahanglanon aron makadagan sa pinakabag-o nga bersyon sa Laravel:

  • PHP >= 7.1.3 uban sa OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype ug JSON PHP Extension.
  • Composer – usa ka application-level package manager para sa PHP.

  1. CentOS 7 uban sa LEMP Stack

Sa kini nga artikulo, among ipasabut kung giunsa ang pag-install sa labing bag-ong bersyon sa Laravel 5.6 PHP Framework sa CentOS, Red Hat, mga sistema sa Fedora.

Lakang 1: I-setup ang Yum Repositories

1. Una sa tanan, kinahanglan nimo nga ma-enable ang REMI ug EPEL nga mga repository sa imong distribusyon sa Linux aron ma-update ang mga pakete (PHP, Nginx, MariaDB, ug uban pa) gamit ang mosunod nga mga sugo

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

Lakang 2: I-install ang Nginx, MySQL ug PHP

2. Sunod, kinahanglan namong i-install ang working LEMP environment sa imong system. Kung aduna ka'y nagtrabaho nga LEMP stack, mahimo nimong laktawan kini nga lakang, kung dili kini i-install gamit ang mosunod nga mga sugo.

# yum install nginx        [On CentOS/RHEL]

3. Kung na-install na ang nginx, dayon sugdi ang web server ug i-enable kini sa pagsugod sa system boot ug dayon pamatud-i ang status gamit ang mosunod nga mga sugo.

------------- 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. Aron ma-access ang nginx gikan sa pampublikong network, kinahanglan nimo nga ablihan ang usa ka port 80 sa imong system firewall aron makadawat sa mga eksternal nga hangyo sama sa gipakita.

------------- 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. Sunod, sugdi ug i-enable ang serbisyo sa PHP-FPM ug susiha kung nag-andar na ba kini.

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

Lakang 3: I-install ang Composer ug Laravel PHP Framework

6. Karon i-install ang Composer (dependency manager para sa PHP) para sa pag-instalar sa gikinahanglan nga mga dependency sa Laravel gamit ang mosunod nga mga sugo.

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

7. Sa higayon nga imong na-install ang Composer, mahimo nimong i-install ang Laravel pinaagi sa pagpadagan sa composer create-project command, ingon sa mosunod.

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

8. Karon kung maghimo ka usa ka taas nga lista sa imong gamut nga dokumento sa web, ang direktoryo sa testsite kinahanglan nga anaa didto, nga adunay sulod sa imong mga file sa laravel.

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

Lakang 4: I-configure ang Pag-install sa Laravel

9. Karon ibutang ang angay nga mga permiso sa testsite nga direktoryo ug laravel files gamit ang mosunod nga mga sugo.

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

10. Dugang pa, kung imong gipagana ang SELinux, kinahanglan nimo nga i-update ang konteksto sa seguridad sa storage ug bootstrap/cache nga mga direktoryo gamit ang mosunod nga mga sugo.

# 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. Dayon paghimo ug environment file para sa imong aplikasyon, gamit ang sample file nga gihatag.

# cp .env.example .env

12. 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. Mao nga kinahanglan nimo nga makamugna ug itakda ang imong yawe sa aplikasyon sa usa ka random nga string gamit ang mosunod nga mando.

# php artisan key:generate

Lakang 5: I-configure ang Nginx Server Block Para sa Laravel

13. Niini nga lakang, kinahanglan nimo nga i-configure ang Nginx server block para sa testsite, aron ma-access kini gikan sa usa ka web browser. Paghimo ug .conf file para niini ubos sa /etc/nginx/conf.d/ directory sama sa gipakita.

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

Ug idugang ang mosunod nga pag-configure niini (gamita ang mga kantidad nga magamit sa imong palibot, sa kini nga pananglitan, ang among dummy domain mao ang testinglaravel.com). Timan-i nga ang laravel index file gitipigan sa /var/www/html/testsite/public, kini ang mahimong gamut sa imong site/application.

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

I-save ang file ug paggawas. Dayon i-restart ang imong web server aron ma-epekto ang bag-ong mga kausaban.

# systemctl restart nginx

Lakang 6: Pag-access sa Laravel Website

14. Sunod, kung wala kay bug-os nga rehistrado nga domain name, kinahanglan nimong gamiton ang /etc/hosts file para makahimo ug lokal nga DNS para sa testing purposes.

Idugang ang mosunod nga linya sa imong /etc/hosts file sama sa gipakita (gamita ang imong system IP address ug domain imbes nga 192.168.43.31 ug testinglaravel.com matag usa).

192.168.43.31  testinglaravel.com

15. Sa katapusan access sa imong Laravel site gikan sa usa ka browser, gamit ang mosunod nga URL.

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

Kung nag-develop ka sa lokal, mahimo nimong gamiton ang built-in nga server sa pagpauswag sa PHP aron maserbisyohan ang imong aplikasyon o site, ingon sa mosunod. Kini nga sugo magsugod ug development server sa http://localhost:8000 o http://127.0.0.1:8000. Sa CentOS/REHL, kini nga pantalan kinahanglang ablihan sa firewall aron makaalagad ka sa imong aplikasyon niining paagiha.

# php artisan serve

Gikan niini nga punto, andam ka na nga moadto, mahimo ka magsugod sa pagpalambo sa imong site. Alang sa dugang nga mga pag-configure sama sa cache, database ug mga sesyon, mahimo kang moadto sa Laravel homepage.

Ang Laravel usa ka PHP framework nga adunay usa ka makapahayag ug matahum nga syntax alang sa praktikal, moderno nga web development. Kami nanghinaut nga maayo ang tanan sa panahon sa pag-instalar, kung dili, gamita ang porma sa komento sa ubos aron ipaambit kanamo ang imong mga pangutana.