Kako instalirati Laravel PHP Web Framework u CentOS


Laravel je besplatni open source, moćan PHP okvir sa izražajnom i privlačnom sintaksom. Ima rafiniranu, jednostavnu i čitljivu sintaksu za razvoj modernih, robusnih i moćnih aplikacija od temelja. Osim toga, Laravel pruža nekoliko alata koji su vam potrebni za pisanje čistog, modernog PHP koda koji se može održavati.

Pročitajte također: Kako instalirati Laravel PHP Framework na Ubuntu

Ključne Laravel karakteristike:

  • Snažan ORM (objektno-relacijsko mapiranje) za rad s vašom bazom podataka.
  • Jednostavan i brz mehanizam rutiranja.
  • Snažan kontejner za ubrizgavanje zavisnosti.
  • Pruža objedinjeni API za višestruke pozadinske mreže, uključujući Amazon SQS i Redis i još mnogo toga, za pohranu sesija i keša.
  • Podržava jednostavan mehanizam provjere autentičnosti.
  • Podržava emitovanje događaja u realnom vremenu.
  • Također podržava migracije agnostičke baze podataka i graditelj shema.
  • Podržava obradu zadataka u pozadini i još mnogo toga.

Zahtjevi sustava

Vaš sistem mora zadovoljiti sljedeće zahtjeve da bi mogao pokrenuti najnoviju verziju Laravel:

  • PHP >= 7.1.3 sa OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype i JSON PHP ekstenzijama.
  • Composer – menadžer paketa na nivou aplikacije za PHP.

Testno okruženje:

  1. CentOS 7 sa LEMP stekom

U ovom članku ćemo objasniti kako da instalirate najnoviju verziju Laravel 5.6 PHP Framework na CentOS, Red Hat, Fedora sisteme.

Korak 1: Postavite Yum repozitorije

1. Prije svega, morate omogućiti REMI i EPEL spremišta u vašoj Linux distribuciji kako bi imali ažurirane pakete (PHP<, Nginx, MariaDB, itd.) koristeći sljedeće komande

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

Korak 2: Instalirajte Nginx, MySQL i PHP

2. Zatim moramo instalirati radno okruženje LEMP na vaš sistem. Ako već imate radni stog LEMP, možete preskočiti ovaj korak, ako ga ne instalirate koristeći sljedeće naredbe.

Instalirajte Nginx

yum install nginx        [On CentOS/RHEL]

3. Nakon što je nginx instaliran, pokrenite web server i omogućite mu pokretanje pri pokretanju sistema, a zatim provjerite status koristeći sljedeće naredbe.

------------- 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. Da pristupite nginx-u sa javne mreže, morate otvoriti port 80 na vašem sistemskom zaštitnom zidu da primate eksterne zahtjeve kao što je prikazano.

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

Instalirajte MySQL

yum install mariadb-server php-mysql
systemctl start mariadb.service
/usr/bin/mysql_secure_installation

Instalirajte PHP

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. Zatim pokrenite i omogućite uslugu PHP-FPM i provjerite da li je pokrenuta i radi.

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

Korak 3: Instalirajte Composer i Laravel PHP Framework

6. Sada instalirajte Composer (menadžer zavisnosti za PHP) za instaliranje potrebnih Laravel zavisnosti koristeći sljedeće komande.

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

7. Nakon što instalirate Composer, možete instalirati Laravel pokretanjem naredbe composer create-project, kao slijedi.

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

8. Sada kada napravite dugačku listu korijena vašeg web dokumenta, direktorij testsite bi trebao postojati tamo, koji sadrži vaše laravel datoteke.

ls -l /var/www/html/testsite

Korak 4: Konfigurirajte Laravel instalaciju

9. Sada postavite odgovarajuće dozvole za testsite direktorij i laravel datoteke koristeći sljedeće komande.

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

10. Osim toga, ako imate omogućen SELinux, trebate ažurirati sigurnosni kontekst direktorija za pohranu i bootstrap/cache koristeći sljedeće naredbe.

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. Zatim kreirajte datoteku okruženja za svoju aplikaciju, koristeći priloženi primjer datoteke.

cp .env.example .env

12. Zatim, Laravel koristi ključ aplikacije za osiguranje korisničkih sesija i drugih šifriranih podataka. Dakle, trebate generirati i postaviti svoj ključ aplikacije na nasumični niz koristeći sljedeću naredbu.

php artisan key:generate

Korak 5: Konfigurišite Nginx serverski blok za Laravel

13. U ovom koraku, trebate konfigurirati blok Nginx servera za testno mjesto, kako biste mu pristupili iz web pretraživača. Kreirajte datoteku .conf za nju u direktoriju /etc/nginx/conf.d/ kao što je prikazano.

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

I dodajte sljedeću konfiguraciju u njega (koristite vrijednosti primjenjive na vaše okruženje, u ovom primjeru, naša lažna domena je testinglaravel.com). Imajte na umu da je laravel indeksna datoteka pohranjena u /var/www/html/testsite/public, ovo će biti korijen vaše stranice/aplikacije.

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

Sačuvajte fajl i izađite. Zatim ponovo pokrenite svoj web server kako bi nedavne promjene stupile na snagu.

systemctl restart nginx

Korak 6: Pristupite Laravel web stranici

14. Zatim, ako nemate potpuno registrovano ime domene, trebate koristiti datoteku /etc/hosts da kreirate lokalni DNS za potrebe testiranja.

Dodajte sljedeći red u svoj /etc/hosts fajl kao što je prikazano (koristite svoju sistemsku IP adresu i domenu umjesto 192.168.43.31 i testinglaravel.com respektivno).

192.168.43.31  testinglaravel.com

15. Konačno pristupite vašoj Laravel stranici iz pretraživača, koristeći sljedeći URL.

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

Ako razvijate lokalno, možete koristiti PHP-ov ugrađeni razvojni server koji će služiti vašoj aplikaciji ili web lokaciji, kako slijedi. Ova komanda će pokrenuti razvojni server na http://localhost:8000 ili http://127.0.0.1:8000. Na CentOS/REHL-u, ovaj port bi trebao biti otvoren u firewall-u kako biste na ovaj način opsluživali svoju aplikaciju.

php artisan serve

Od ove tačke, spremni ste za početak, možete početi razvijati svoju web stranicu. Za dodatne konfiguracije kao što su keš memorija, baza podataka i sesije, možete otići na Laravel početnu stranicu.

Laravel je PHP okvir sa izražajnom i lijepom sintaksom za praktičan, moderan web razvoj. Nadamo se da je sve prošlo dobro tokom instalacije, a ako nije, koristite formular za komentare ispod da podijelite svoje upite s nama.