Kako namestiti Laravel PHP Web Framework v CentOS


Laravel je brezplačen odprtokodni, zmogljiv okvir PHP z izrazno in privlačno skladnjo. Ima izpopolnjeno, preprosto in berljivo sintakso za razvoj sodobnih, robustnih in zmogljivih aplikacij od začetka. Poleg tega Laravel ponuja več orodij, ki jih potrebujete za pisanje čiste, sodobne in vzdržljive kode PHP.

  • Zmogljiv ORM (objektno-relacijsko preslikava) za delo z vašo bazo podatkov.
  • Nezapleten in hiter mehanizem usmerjanja.
  • Zmogljiv vsebnik za vbrizgavanje odvisnosti.
  • Zagotavlja enoten API za različne podporne vrste čakalnih vrst, vključno s Amazon SQS in Redis ter številnimi drugimi, za shranjevanje sej in predpomnilnika.
  • Podpira preprost mehanizem preverjanja pristnosti.
  • Podpira oddajanje dogodkov v realnem času.
  • Podpira tudi agnostične selitve zbirk podatkov in graditelja shem.
  • Podpira obdelavo opravil v ozadju in drugo.

Če želite zagnati najnovejšo različico programa Laravel, mora vaš sistem izpolnjevati naslednje zahteve:

  • PHP> = 7.1.3 z OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype in JSON PHP razširitvami.
  • Composer-upravitelj paketov na ravni aplikacije za PHP.

  1. CentOS 7 z nizom LEMP

V tem članku bomo razložili, kako namestiti najnovejšo različico Laravel 5.6 PHP Framework na sisteme CentOS, Red Hat, Fedora.

1. korak: Namestite skladišča Yum

1. Najprej morate omogočiti skladišča REMI in EPEL v distribuciji Linuxa, da bodo posodobljeni paketi (PHP, Nginx, MariaDB itd.) Z naslednjimi ukazi

------------- 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: Namestite Nginx, MySQL in PHP

2. Nato moramo v sistem namestiti delujoče okolje LEMP. Če že imate delujoč sklad LEMP, lahko ta korak preskočite, če ga ne namestite z naslednjimi ukazi.

# yum install nginx        [On CentOS/RHEL]

3. Ko je nginx nameščen, zaženite spletni strežnik in mu omogočite zagon ob zagonu sistema, nato pa preverite stanje z naslednjimi ukazi.

------------- 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. Za dostop do nginxa iz javnega omrežja morate odpreti vrata 80 na požarnem zidu sistema, da sprejmete zunanje zahteve, kot 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
# 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. Nato zaženite in omogočite storitev PHP-FPM ter preverite, ali deluje in deluje.

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

3. korak: Namestite Composer in Laravel PHP Framework

6. Zdaj namestite Composer (upravitelj odvisnosti za PHP) za namestitev zahtevanih odvisnosti Laravel z naslednjimi ukazi.

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

7. Ko namestite Composer, lahko namestite Laravel tako, da zaženete ukaz composer create-project, kot sledi.

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

8. Zdaj, ko na dolgem seznamu korenov svojega spletnega dokumenta, bi moral obstajati imenik testnega mesta, ki vsebuje vaše datoteke laravel.

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

4. korak: Konfigurirajte namestitev Laravel

9. Zdaj z naslednjimi ukazi nastavite ustrezna dovoljenja za imenik testnega mesta in datoteke laravel.

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

10. Če imate vklopljen SELinux, morate posodobiti varnostni kontekst imenikov za shranjevanje in zagonski/predpomnilnik z naslednjimi ukazi.

# 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. Nato ustvarite okoljsko datoteko za svojo aplikacijo z uporabo priložene vzorčne datoteke.

# cp .env.example .env

12. Nato Laravel uporablja aplikacijski ključ za zaščito uporabniških sej in drugih šifriranih podatkov. Zato morate z naslednjim ukazom ustvariti in nastaviti aplikacijski ključ na naključni niz.

# php artisan key:generate

5. korak: Konfigurirajte strežniški blok Nginx za Laravel

13. V tem koraku morate konfigurirati strežniški blok Nginx za testno mesto, da do njega dostopate iz spletnega brskalnika. Ustvarite datoteko .conf zanj v imeniku /etc/nginx/conf.d/, kot je prikazano.

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

In vanj dodajte naslednjo konfiguracijo (uporabite vrednosti, ki veljajo za vaše okolje, v tem primeru je naša lažna domena testinglaravel.com). Upoštevajte, da je datoteka indeksa laravel shranjena v/var/www/html/testsite/public, to bo koren vašega spletnega mesta/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;
	}
}

Shranite datoteko in zapustite. Nato znova zaženite spletni strežnik, da začnejo veljati nedavne spremembe.

# systemctl restart nginx

6. korak: dostopajte do spletnega mesta Laravel

14. Nato, če nimate popolnoma registriranega imena domene, morate z datoteko /etc /hosts ustvariti lokalni DNS za namene testiranja.

Dodajte naslednjo vrstico v datoteko /etc /hosts, kot je prikazano (uporabite sistemski naslov IP in domeno namesto 192.168.43.31 oziroma testinglaravel.com).

192.168.43.31  testinglaravel.com

15. Nazadnje dostopajte do svojega spletnega mesta Laravel iz brskalnika z naslednjim URL -jem.

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

Če se razvijate lokalno, lahko za uporabo svoje aplikacije ali spletnega mesta uporabite vgrajen razvojni strežnik PHP, kot sledi. Ta ukaz bo zagnal razvojni strežnik na naslovu http:// localhost: 8000 ali http://127.0.0.1:8000. V sistemu CentOS/REHL bi morala biti ta vrata odprta v požarnem zidu, da boste lahko tako služili svoji aplikaciji.

# php artisan serve

Od tega trenutka ste pripravljeni, lahko začnete razvijati svoje spletno mesto. Za dodatne konfiguracije, kot so predpomnilnik, zbirka podatkov in seje, pojdite na domačo stran Laravel.

Laravel je ogrodje PHP z izrazno in lepo sintakso za praktičen, sodoben spletni razvoj. Upamo, da se je med namestitvijo vse dobro izteklo. Če ne, uporabite spodnji obrazec za komentarje, če z nami delite svoja vprašanja.