Kuidas installida Laraveli PHP-raamistik koos Nginxiga CentOS 8-le


Laravel on avatud lähtekoodiga, tuntud ja kaasaegne PHP-põhine veebiraamistik, millel on ekspressiivne, elegantne ja hõlpsasti mõistetav süntaks, mis hõlbustab suurte ja jõuliste veebirakenduste loomist.

Selle põhiomaduste hulka kuuluvad lihtne, kiire marsruutimismootor, võimas sõltuvuse süstimiskonteiner, mitu seansside ja vahemälu salvestamise tausta, ekspressiivne ja intuitiivne andmebaas ORM (Object-relational Mapping), töökindel tausttöötlus ja reaalajas sündmuste edastamine.

Samuti kasutab see selliseid tööriistu nagu Composer - PHP paketihaldur sõltuvuste haldamiseks ja Artisan - käsurea liidest veebirakenduste loomiseks ja haldamiseks.

Sellest artiklist saate teada, kuidas installida Laraveli PHP veebiraamistiku uusim versioon CentOS 8 Linuxi jaotusse.

Laraveli raamistikul on järgmised nõuded:

  • PHP> = 7.2.5 nende PHP laiendustega OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype ja JSON.
  • helilooja - sõltuvuste installimiseks ja haldamiseks.

1. samm: LEMP-i pinu installimine CentOS 8-sse

1. Alustamiseks värskendage süsteemi tarkvarapakette ja installige LEMP-i pinu (Linux, Nginx, MariaDB/MySQL ja PHP), kasutades järgmisi dnf-käske.

# dnf update
# dnf install nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd

2. Kui LEMP-i installimine on lõpule jõudnud, peate käivitama teenused PHP-PFM, Nginx ja MariaDB, kasutades järgmisi käske systemctl.

# systemctl start php-fpm nginx mariadb
# systemctl enable php-fpm nginx mariadb
# systemctl status php-fpm nginx mariadb

3. Järgmisena peate turvama ja kõvendama MariaDB andmebaasimootorit, kasutades turvakripti, nagu näidatud.

# mysql_secure_installation

Serveri installi kindlustamiseks vastake järgmistele küsimustele.

Enter current password for root (enter for none): Enter Set root password? [Y/n] y #set new root password Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y

4. Kui teil töötab tulemüüriteenus, peate Nginxi veebiserverisse klienditaotluste lubamiseks avama tulemüüris HTTP- ja HTTPS-teenuse.

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --zone=public --permanent --add-service=https
# firewall-cmd --reload

5. Lõpuks saate oma süsteemi IP-aadressil oleva brauseri abil kinnitada, et teie LEMP-pinu töötab.

http://server-IP

2. samm: PHP-FPM-i ja Nginxi konfigureerimine ja turvamine

6. Nginxi veebiserverist päringute töötlemiseks saab PHP-FPM kuulata Unixi või TCP-soklis ja see on määratletud konfiguratsioonifailis /etc/php-fpm.d/www.conf kuulamise parameetriga.

# vi /etc/php-fpm.d/www.conf

Vaikimisi on see konfigureeritud kuulama Unixi pesas, nagu on näidatud järgmisel ekraanipildil. Siinne väärtus täpsustatakse Nginxi serveriploki failis hiljem.

7. Kui kasutate Unixi soklit, peaksite sellele määrama ka õige omandiõigused ja õigused, nagu ekraanipildil näidatud. Tühjendage järgmised parameetrid ja määrake nende väärtuseks kasutaja ja rühm, et need vastaksid kasutajale ja rühmale.

listen.owner = nginx
listen.group = nginx
listen.mode = 066

8. Järgmisena määrake konfiguratsioonifailis /etc/php.ini ka kogu süsteemi ajavöönd.

# vi /etc/php.ini

Otsige rida “; date.timezone” ja tühjendage see, seejärel määrake selle väärtus, nagu ekraanipildil näidatud (kasutage oma regiooni/mandri ja riigi väärtusi).

 
date.timezone = Africa/Kampala

9. Selleks, et vähendada Nginxi ohtu, et PHP-koodi PHP-FPM-i täitmiseks muid laiendusi kasutavate pahatahtlike kasutajate päringud edastatakse pahatahtlikelt kasutajatelt, tühjendage järgmine parameeter ja määrake selle väärtuseks 0 .

cgi.fix_pathinfo=1

10. Eelmise punkti suhtes tühjendage ka järgmine parameeter failis /etc/php-fpm.d/www.conf. Lisateabe saamiseks lugege kommentaari.

security.limit_extensions = .php .php3 .php4 .php5 .php7

3. samm: Composeri ja Laraveli PHP raamistiku installimine

11. Seejärel installige Composeri pakett, käivitades järgmised käsud. Esimene käsk laadib installija alla ja käivitab selle siis PHP abil.

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

12. Nüüd, kui Composer on installitud, installige see Laraveli failide ja sõltuvuste installimiseks järgmiselt. Asendage mysite.com kataloogi nimega, kuhu Laraveli failid salvestatakse, absoluutne tee (või Nginxi konfiguratsioonifaili juurtee) on /var/www/html/mysite.com.

# cd /var/www/html/
# composer create-project --prefer-dist laravel/laravel mysite.com

Kui protsessi käigus läheb kõik hästi, tuleks rakendus edukalt installida ja luua võti, nagu on näidatud järgmisel ekraanipildil.

13. Installiprotsessi käigus loodi keskkonnafail .env ja genereeriti ka vajalik rakendus, nii et te ei pea neid käsitsi nagu varem looma. Selle kinnitamiseks käivitage laraveli juurkataloogi pikk loend käsu ls abil.

# ls -la mysite.com/

14. Järgmisena peate konfigureerima salvestusruumi ja alglaadimis-/vahemälukataloogide õigused ja õigused, et Nginxi veebiserver neid kirjutaks.

# chown -R :nginx /var/www/html/mysite.com/storage/
# chown -R :nginx /var/www/html/mysite.com/bootstrap/cache/
# chmod -R 0777 /var/www/html/mysite.com/storage/
# chmod -R 0775 /var/www/html/mysite.com/bootstrap/cache/

15. Kui SELinux on teie serveris lubatud, peaksite värskendama ka salvestusruumi ja alglaadimis-/vahemälukataloogide turvakonteksti.

# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/storage(/.*)?'
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/bootstrap/cache(/.*)?'
# restorecon -Rv '/var/www/html/mysite.com'

4. samm: konfigureerige Nginxi serveriplokk Laraveli jaoks

16. Selleks, et Nginx saaks teie veebisaiti või rakendust teenindama hakata, peate selle jaoks looma kataloogi /etc/nginx/conf.d/ alla .conf faili jaoks serveriploki.

# vi /etc/nginx/conf.d/mysite.com.conf

Kopeerige ja kleepige faili järgmine konfiguratsioon. Võtke teadmiseks parameetrid root ja fastcgi_pass.

server {
	listen      80;
       server_name mysite.com;
       root        /var/www/html/mysite.com/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:/run/php-fpm/www.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

17. Salvestage fail ja kontrollige, kas Nginxi konfiguratsioonisüntaks on õige.

# nginx -t

18. Seejärel taaskäivitage PHP-FPM ja Nginx teenused, et hiljutised muudatused jõustuksid.

# systemctl restart php-fpm
# systemctl restart Nginx

5. samm: Laraveli veebisaidile pääsemine veebibrauserist

19. Juurdepääsuks Laraveli veebisaidile aadressil mysite.com, mis ei ole täielikult kvalifitseeritud domeeninimi (FQDN) ja see pole registreeritud (seda kasutatakse ainult testimise eesmärgil), kasutame teie kohalikus masinas faili/etc/hosts kohaliku DNS-i loomiseks.

Serveri IP-aadressi ja domeeni lisamiseks vajalikus failis käivitage järgmine käsk (asendage väärtus vastavalt teie seadetele).

# ip add		#get remote server IP
$ echo "10.42.0.21  mysite.com" | sudo tee -a /etc/hosts

20. Seejärel avage kohalikus masinas veebibrauser ja kasutage navigeerimiseks järgmist aadressi.

http://mysite.com

Olete Laraveli CentOS 8-s edukalt juurutanud. Nüüd saate hakata oma veebisaiti või veebirakendust arendama Laraveli abil. Lisateavet leiate juhendist Laraveli alustamine.