Kaip įdiegti „Laravel PHP Web Framework“ „CentOS“.


Laravel yra nemokama atvirojo kodo, galinga PHP sistema su išraiškinga ir patrauklia sintaksė. Jame yra patobulinta, paprasta ir skaitoma sintaksė, skirta kurti modernias, patikimas ir galingas programas nuo pat pradžių. Be to, Laravel suteikia keletą įrankių, kurių reikia norint rašyti švarų, šiuolaikišką ir prižiūrimą PHP kodą.

Taip pat skaitykite: kaip įdiegti „Laravel PHP Framework“ Ubuntu

Pagrindinės Laravel savybės:

  • Galingas ORM (Object-Relational Mapping) darbui su duomenų baze.
  • Nesudėtingas ir greitas maršruto parinkimo mechanizmas.
  • Galingas priklausomybės įpurškimo konteineris.
  • Suteikia vieningą API keliose eilės foninėse programose, įskaitant „Amazon SQS“, „Redis“ ir daugelį kitų, skirtą seanso ir talpyklos saugojimui.
  • Palaiko paprastą autentifikavimo mechanizmą.
  • Palaiko įvykių transliaciją realiuoju laiku.
  • Taip pat palaiko duomenų bazių agnostinį perkėlimą ir schemų kūrimo priemonę.
  • Palaiko foninį užduočių apdorojimą ir kt.

Sistemos reikalavimai

Jūsų sistema turi atitikti šiuos reikalavimus, kad galėtumėte paleisti naujausią Laravel versiją:

  • PHP >= 7.1.3 su OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype ir JSON PHP plėtiniais.
  • Composer – programos lygio paketų tvarkyklė, skirta PHP.

Bandymo aplinka:

  1. CentOS 7 su LEMP Stack

Šiame straipsnyje paaiškinsime, kaip įdiegti naujausią Laravel 5.6 PHP Framework versiją CentOS, Red Hat, Fedora sistemose.

1 veiksmas: nustatykite „Yum“ saugyklas

1. Pirmiausia turite įgalinti REMI ir EPEL saugyklas „Linux“ paskirstyme, kad būtų atnaujinti paketai (PHP<, Nginx, MariaDB ir kt.) naudodami šias komandas

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

2 veiksmas: įdiekite Nginx, MySQL ir PHP

2. Tada jūsų sistemoje turime įdiegti veikiančią LEMP aplinką. Jei jau turite veikiančią LEMP krūvą, galite praleisti šį veiksmą, jei neįdiekite naudodami šias komandas.

Įdiekite „Nginx“.

yum install nginx        [On CentOS/RHEL]

3. Įdiegę „nginx“, paleiskite žiniatinklio serverį ir įgalinkite jį paleisti sistemos įkrovos metu, tada patikrinkite būseną naudodami šias komandas.

------------- 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. Norėdami pasiekti „nginx“ iš viešojo tinklo, sistemos užkardoje turite atidaryti prievadą 80, kad gautumėte išorines užklausas, kaip parodyta.

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

Įdiekite MySQL

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

Įdiegti 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. Tada paleiskite ir įgalinkite PHP-FPM paslaugą ir patikrinkite, ar ji veikia.

------------- 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 veiksmas: įdiekite „Composer“ ir „Laravel PHP Framework“.

6. Dabar įdiekite Composer (priklausomybių tvarkyklę, skirtą PHP), kad įdiegtumėte reikiamas Laravel priklausomybes naudodami šias komandas.

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

7. Įdiegę Composer, galite įdiegti Laravel vykdydami komandą composer create-project, kaip seka.

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

8. Dabar, kai sudarote ilgą žiniatinklio dokumento šaknies sąrašą, jame turėtų būti katalogas testsite, kuriame yra jūsų laravel failai.

ls -l /var/www/html/testsite

4 veiksmas: sukonfigūruokite „Laravel“ diegimą

9. Dabar nustatykite atitinkamus leidimus bandymo svetainės kataloge ir laravel failuose naudodami šias komandas.

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

10. Be to, jei įgalinote SELinux, turite atnaujinti saugyklos ir įkrovos/talpyklos katalogų saugos kontekstą naudodami šias komandas.

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. Tada sukurkite programos aplinkos failą naudodami pateiktą failo pavyzdį.

cp .env.example .env

12. Tada Laravel naudoja programos raktą, kad apsaugotų naudotojo sesijas ir kitus užšifruotus duomenis. Taigi, naudodami šią komandą, turite sugeneruoti ir nustatyti programos raktą į atsitiktinę eilutę.

php artisan key:generate

5 veiksmas: sukonfigūruokite „Nginx“ serverio bloką „Laravel“.

13. Šiame veiksme turite sukonfigūruoti „Nginx“ serverio bloką bandymo svetainei, kad galėtumėte jį pasiekti iš žiniatinklio naršyklės. Sukurkite .conf failą /etc/nginx/conf.d/ kataloge, kaip parodyta.

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

Ir pridėkite toliau nurodytą konfigūraciją (naudokite jūsų aplinkai taikomas vertes, šiame pavyzdyje mūsų netikras domenas yra testinglaravel.com). Atminkite, kad „Laravel“ indekso failas yra saugomas /var/www/html/testsite/public, tai bus jūsų svetainės/programos šaknis.

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šsaugokite failą ir išeikite. Tada iš naujo paleiskite žiniatinklio serverį, kad įsigaliotų naujausi pakeitimai.

systemctl restart nginx

6 veiksmas: pasiekite „Laravel“ svetainę

14. Tada, jei neturite visiškai užregistruoto domeno pavadinimo, turite naudoti failą /etc/hosts, kad sukurtumėte vietinį DNS testavimo tikslais.

Pridėkite šią eilutę į failą /etc/hosts, kaip parodyta (naudokite sistemos IP adresą ir domeną, o ne 192.168.43.31 ir testinglaravel.com atitinkamai).

192.168.43.31  testinglaravel.com

15. Galiausiai pasiekite savo Laravel svetainę naudodami naršyklę, naudodami šį URL.

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

Jei kuriate vietoje, galite naudoti PHP įtaisytąjį kūrimo serverį, kad aptarnautumėte savo programą arba svetainę, kaip nurodyta toliau. Ši komanda paleis kūrimo serverį adresu http://localhost:8000 arba http://127.0.0.1:8000. Jei naudojate CentOS/REHL, šis prievadas turi būti atidarytas ugniasienėje, kad galėtumėte tokiu būdu aptarnauti programą.

php artisan serve

Nuo šio momento esate pasiruošę eiti, galite pradėti kurti savo svetainę. Norėdami gauti papildomų konfigūracijų, pvz., talpyklos, duomenų bazės ir seansų, galite apsilankyti Laravel pagrindiniame puslapyje.

Laravel yra PHP sistema su išraiškinga ir gražia sintaksė, skirta praktiškam, šiuolaikiškam žiniatinklio kūrimui. Tikimės, kad diegimo metu viskas klostėsi gerai, jei ne, naudokite toliau pateiktą komentarų formą ir pasidalykite su mumis savo užklausomis.