▷ Installeer Laravel PHP Framework CentOS 8 met NGINX

Het gebruik van webapplicaties wint elke dag aan kracht in een wereld waar online connectiviteit elke dag meer dan essentieel is geworden. Hiervoor biedt de webwereld eindeloze mogelijkheden, variërend van applicaties tot complete structuren en als beheerders of gebruikers van deze media hebben we applicaties zoals PHP Framework die bedoeld zijn om deze taken te vergemakkelijken en vandaag zullen we het hebben over een in het bijzonder genaamd Laravel en we zal hiervoor CentOS 8 gebruiken en dus Laravel PHP Framework CentOs 8 met NGINX installeren.

Wat is LaravelLaravel is ontwikkeld als een raamwerk dat is gebaseerd op PHP en een open source integreert met meerdere tools voor het maken van webapplicaties van allerlei grootte en complexiteit.

Laravel-componentenLaravel integreert technische componenten met de naam als volgt:

  • Routering
  • Verzoeken
  • Antwoord
  • Middleware
  • CSRF-bescherming
  • Geldigmaking
  • authenticatie
  • autorisatie
  • Welsprekende ORM
  • Reacties
  • Laravel Schemering
  • Bestandsopslag
  • ambachtelijk

Elk van hen speelt een fundamentele rol in het gedrag van de applicatie en de opties die we hebben om websites en objecten in te stellen voor lokale of externe toegang.

Laravel-componentenEnkele van de meest opvallende kenmerken van Laravel zijn:

  • Meerdere routeringssjablonen
  • Ondersteuning voor MVC-architectuur
  • Beveiligingsverbeteringen door implementatie van het Bcrypt Hashing-algoritme en maakt gebruik van SQL-statements die SQL-injectieaanvallen voorkomen
  • ORM (Object Relational Mapping) ondersteuning
  • Gebruik van Artisan, een opdrachtregelprogramma waarmee programmeertaken worden geautomatiseerd
  • Meerdere bibliotheken en gebruiksmodules
  • Databasemigratiesystemen en meer

Laravel-vereistenVervolgens zal Solvetic de verschillende componenten uitleggen die uw server moet hebben voor de juiste installatie van Laravel:

  • PHP> = 7.2.5
  • BCMath PHP-extensie
  • Ctype PHP-extensie
  • Bestandsinfo PHP-extensie
  • JSON PHP-extensie
  • Mbstring PHP-extensie
  • OpenSSL PHP-extensie
  • PDO PHP-extensie
  • Tokenizer PHP-extensie
  • XML PHP-extensie

Maak je geen zorgen dat Solvetic je stap voor stap zal geven om Laravel PHP Framework CentOs 8 met NGINX te installeren.

1. Update CentOS 8

De eerste stap die moet worden genomen, is het updaten van de componenten en het systeem in CentOS 8, hiervoor gaan we naar de terminal en voeren het volgende uit. Daar wachten we tot het systeem is bijgewerkt.

 dnf-update 

2. Installeer LEMP CentOS 8

Stap 1
LEMP is een reeks functionaliteiten die is gemaakt om het CentOS 8-besturingssysteem te optimaliseren, LEMP (Linux, Nginx, MariaDB / MySQL en PHP) zorgt ervoor dat Laravel maximaal kan worden benut, voor de installatie voeren we het volgende uit.

We voeren de letter "s" in om de download en installatie van LEMP in CentOS 8 te bevestigen.

 dnf installeer nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd 

Stap 2
Hierna gaan we de volgende commando's uitvoeren:

 systemctl start php-fpm nginx mariadb (start de MariaDB-service) systemctl activeer php-fpm nginx mariadb (schakelt de MariaDB-service in) systemctl status php-fpm nginx mariadb (toont de status van de MariaDB-service)

Stap 3
De volgende stap zal zijn om de installatie van MySQL te verzekeren (het is standaard onveilig), hiervoor gaan we het volgende commando uitvoeren. Daar moeten we elk van de weergegeven vragen invullen, zoals het wijzigen van het root-wachtwoord, het verwijderen van tijdelijke databases en meer.

 mysql_secure_installation 

Stap 4
Vervolgens gaan we de HTTP- en HTTPS-protocollen inschakelen voor externe toegang via de firewall, we voeren het volgende uit:

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

Stap 5
Zodra dit is gebeurd, openen we vanuit een browser en voeren we het IP-adres van de server in om toegang te krijgen tot de Apache-configuratie:

VERGROTEN

3. Configureer PHP-FPM en Nginx Centos 8


Om verzoeken van de Nginx-webserver te verwerken, kan PHP-FPM luisteren via een Unix-socket of een TCP-socket.

Stap 1
Dit wordt gevalideerd met de parameter listen in het configuratiebestand /etc/php-fpm.d/www.conf, we openen het door het volgende uit te voeren:

 nano /etc/php-fpm.d/www.conf 

Stap 2
Daar gaan we zoeken naar de regel "luisteren" die het volgende aangeeft:

Stap 3
We kunnen zien dat het via de socket luistert, nu gaan we enkele parameters verwijderen en de waarden toewijzen voor de Nginx-gebruiker en -groep, deze regels zijn iets lager:

 listen.owner = nginx listen.group = nginx listen.mode = 066
Stap 4
Daar vervangen we "niemand" door "nginx":

Stap 5
We slaan de wijzigingen op met de volgende toetsencombinatie:

Ctrl + O

We verlaten de editor met:

Ctrl + X

Stap 6
We hebben nu toegang tot het PHP-configuratiebestand:

 nano /etc/php.ini 
Stap 7
Daar gaan we naar de regel "; date.timezone" en stellen de huidige tijdzone in. We slaan de wijzigingen op en verlaten de editor.

4. Installeer Composer op Centos 8


Composer is een tool waarmee we afhankelijkheden in PHP beheren, het stelt ons in staat om de bibliotheken te declareren en het zal ze beheren (installeren / bijwerken) zonder veel tussenkomst van onze kant.

Stap 1
Dit vereenvoudigt deze taken, om Composer te installeren zullen we eerst enkele PHP-afhankelijkheden installeren:

 dnf installeer php libapache2-mod-php php-mbstring php-xmlrpc php-soap php-gd php-xml php-cli php-zip 

Stap 2
We voeren de letter "s" in om het downloaden en installeren van deze afhankelijkheden te accepteren:

Stap 3
Hierna controleren we de versie van PHP door het volgende uit te voeren:

 php -v 

Stap 4
Hierna zullen we Curl installeren, een downloadmanager:

 dnf installeer curl 

Stap 5
We gaan verder met het downloaden van de nieuwste versie van Composer voor CentOS 8:

 curl -sS https://getcomposer.org/installer | php 

Stap 6
Als we willen dat Composer globaal wordt geïnstalleerd voor alle gebruikers van het systeem, gaan we het volgende uitvoeren:

 sudo mv componist.phar / usr / local / bin / componist sudo chmod + x / usr / local / bin / componist source ~ / .bashrc 

Stap 7
We controleren de versie van Composer met het volgende commando:

 componist -v 

5. Installeer Laravel voor lokale toegang op Centos 8


Laravel kan zowel lokaal als extern worden gebruikt, Solvetic zal beide manieren uitleggen.

Stap 1
Voor lokale toegang gaan we het volgende uitvoeren:

 componist create-project --prefer-dist laravel / laravel test 
Opmerkingtest kan worden vervangen door de gewenste naam.

Stap 2
Hierdoor wordt het downloaden van alle benodigde plug-ins voor een juiste toegang gestart:

Stap 3
Als we klaar zijn, zien we het volgende:

Stap 4
Nu gaan we naar de map van het gemaakte project en voeren het volgende uit:

 cd test php artisan serveren

Stap 5
Zoals we daar kunnen zien, wordt het lokale toegangs-IP-adres aangegeven met de respectieve toegewezen poort. We wijzen de respectieve machtigingen toe in de CentOS 8 Firewall:

 firewall-cmd --add-port = 8000 / tcp --permanent --zone = openbare firewall-cmd --reload

Stap 6
Vervolgens gebruiken we de opdracht ip add om het IP-adres van de server te detecteren en deze aan Laravel te koppelen met de volgende opdracht:

 php artisan dienen --host = 192.168.0.34 --port = 8000 
OpmerkingHet IP-adres dat moet worden ingevoerd, is dat van de server die wordt gebruikt.

Stap 7
Hiermee hebben we toegang vanuit een browser en voeren we de volgende syntaxis in. Daar hebben we lokaal toegang tot Laravel.

 http: // IP_CentOS8: 8000 

VERGROTEN

6. Open Laravel PHP extern in Centos 8

Stap 1
In dit geval is het proces iets anders, allereerst openen we de html-directory:

 cd / var / www / html / 
Stap 2
Daar creëren we het betreffende project:
 componist create-project --prefer-dist laravel / laravel solvetic 

Stap 3
Wanneer het project is gemaakt, zien we het volgende:

Stap 4
Tijdens dit installatieproces is het omgevingsbestand .env aangemaakt en de vereiste applicatie gegenereerd, om dit te valideren zullen we het volgende uitvoeren. Daar zien we elk van de toegewezen machtigingen.

 ls -la oplossen / 

Stap 5
Nu gaan we alle benodigde machtigingen aan het project verlenen:

 chown -R: nginx / var / www / html / solvetic / storage / chown -R: nginx / var / www / html / solvetic / bootstrap / cache / chmod -R 0777 / var / www / html / solvetic / storage / chmod -R 0775 / var / www / html / solvetic / bootstrap / cache /

Stap 6
In het geval dat SELinux is ingeschakeld in CentOS 8, zal het nodig zijn om de beveiligingscontext van de opslag- en bootstrap / cache-directory's bij te werken, we kunnen dit bereiken met de volgende opdrachten:

 Semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/solvetic/storage(/.*)?' Semanage fcontext -a -t httpd_sys_rw_content_t '/ var / www / html / solvetic /bootstrap/cache(/.*)?' restorecon -Rv '/ var / www / html / solvetic'

7. Configureer Nginx voor Laravel op Centos 8

Stap 1
Om Nginx correct te laten werken op de server, moeten we een serverblok maken met een .conf-bestand in de map /etc/nginx/conf.d/:

 nano /etc/nginx/conf.d/solvetic.conf 
Stap 2
In dit bestand vullen we de volgende gegevens in:
 server {luister 80; servernaam oplossend; root / var / www / html / solvetic / public; indexindex.php; tekenset utf-8; gzip aan; gzip_types tekst / css-toepassing / javascript-tekst / javascript-toepassing / x-javascript-afbeelding / svg + xml-tekst / platte tekst / xsd-tekst / xsl-tekst / xml-afbeelding / x-icon; locatie / {try_files $ uri $ uri / /index.php?$query_string; } locatie ~ \ .php {inclusief fastcgi.conf; fastcgi_split_path_info (. + \. php) (/.+) $; fastcgi_pass unix: /run/php-fpm/www.sock; } locatie ~ /\.ht {alles ontkennen; }} 

Stap 3
We slaan de wijzigingen op met de volgende toetsencombinatie:

Ctrl + O

We verlaten de editor met:

Ctrl + X

Stap 4
Nu controleren we of alles werkt met het volgende commando:

 nginx -t 

Stap 5
Hierna herstarten we de services:

 systemctl herstart php-fpm systemctl herstart Nginx 

8. Ik heb Laravel extern geopend in Centos 8

Stap 1
We moeten de machtigingen in het hosts-bestand verlenen aan zowel het IP-adres als het project, dit is mogelijk door het volgende uit te voeren:

 echo "192.168.0.34 oplossend" | sudo tee -a / etc / hosts 

Stap 2
Hiermee hebben we nu op afstand toegang tot het project door het server-IP in elke browser in te voeren:

VERGROTEN

Met deze stappen die Solvetic je heeft uitgelegd, ben je klaar om je webserver te configureren met Laravel.

wave wave wave wave wave