Zoeken op website

Hoe Laravel PHP Web Framework in CentOS te installeren


Laravel is een gratis open source, krachtig PHP-framework met een expressieve en aantrekkelijke syntaxis. Het heeft een verfijnde, eenvoudige en leesbare syntaxis voor het vanaf de basis ontwikkelen van moderne, robuuste en krachtige applicaties. Daarnaast biedt Laravel verschillende tools die je nodig hebt voor het schrijven van schone, moderne en onderhoudbare PHP-code.

Lees ook: Laravel PHP Framework op Ubuntu installeren

Belangrijkste Laravel-functies:

  • Krachtige ORM (Object-Relational Mapping) voor het werken met uw database.
  • Ongecompliceerd en snel routeringsmechanisme.
  • Krachtige injectiecontainer voor afhankelijkheid.
  • Biedt een uniforme API voor meerdere wachtrij-backends, waaronder Amazon SQS en Redis en nog veel meer, voor sessie- en cache-opslag.
  • Ondersteunt een eenvoudig authenticatiemechanisme.
  • Ondersteunt realtime uitzending van evenementen.
  • Ondersteunt ook database-agnostische migraties en schemabouwer.
  • Ondersteunt taakverwerking op de achtergrond en meer.

systeem vereisten

Uw systeem moet aan de volgende vereisten voldoen om de nieuwste versie van Laravel te kunnen gebruiken:

  • PHP >= 7.1.3 met OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype en JSON PHP-extensies.
  • Composer – een pakketbeheerder op applicatieniveau voor PHP.

Test omgeving:

  1. CentOS 7 met LEMP-stack

In dit artikel leggen we uit hoe je de nieuwste versie van Laravel 5.6 PHP Framework op CentOS-, Red Hat- en Fedora-systemen installeert.

Stap 1: Yum-repository's instellen

1. Allereerst moet u REMI en EPEL opslagplaatsen in uw Linux-distributie inschakelen om over de bijgewerkte pakketten (PHP<) te beschikken, Nginx, MariaDB, enz.) met behulp van de volgende opdrachten

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

Stap 2: Installeer Nginx, MySQL en PHP

2. Vervolgens moeten we een werkende LEMP-omgeving op uw systeem installeren. Als u al een werkende LEMP-stack heeft, kunt u deze stap overslaan als u deze niet installeert met behulp van de volgende opdrachten.

Installeer Nginx

yum install nginx        [On CentOS/RHEL]

3. Zodra nginx is geïnstalleerd, start u de webserver en schakelt u deze in om te starten bij het opstarten van het systeem. Vervolgens verifieert u de status met de volgende opdrachten.

------------- 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. Om toegang te krijgen tot nginx vanaf een openbaar netwerk, moet u poort 80 op uw systeemfirewall openen om externe verzoeken te ontvangen, zoals weergegeven.

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

Installeer MySQL

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

Installeer 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. Start en schakel vervolgens de PHP-FPM-service in en controleer of deze actief is.

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

Stap 3: Installeer Composer en Laravel PHP Framework

6. Installeer nu Composer (dependency manager voor PHP) voor het installeren van de vereiste Laravel afhankelijkheden met behulp van de volgende opdrachten.

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

7. Nadat u Composer heeft geïnstalleerd, kunt u Laravel installeren door de opdracht composer create-project uit te voeren, zoals volgt.

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

8. Als u nu een lange lijst maakt van de hoofdmap van uw webdocument, zou de map testsite daarin moeten bestaan, met daarin uw laravel-bestanden.

ls -l /var/www/html/testsite

Stap 4: Configureer de Laravel-installatie

9. Stel nu de juiste rechten in voor de testsite map en laravel bestanden met behulp van de volgende opdrachten.

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

10. Als je SELinux hebt ingeschakeld, moet je bovendien de beveiligingscontext van de opslag- en bootstrap/cache-mappen bijwerken met behulp van de volgende commando's.

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. Maak vervolgens een omgevingsbestand voor uw toepassing, met behulp van het meegeleverde voorbeeldbestand.

cp .env.example .env

12. Vervolgens gebruikt Laravel een applicatiesleutel om gebruikerssessies en andere gecodeerde gegevens te beveiligen. U moet dus uw applicatiesleutel genereren en instellen op een willekeurige reeks met behulp van de volgende opdracht.

php artisan key:generate

Stap 5: Configureer Nginx-serverblok voor Laravel

13. In deze stap moet u een Nginx-serverblok configureren voor testsite, zodat u er vanuit een webbrowser toegang toe kunt krijgen. Maak er een .conf-bestand voor in de map /etc/nginx/conf.d/, zoals weergegeven.

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

En voeg de volgende configuratie eraan toe (gebruik waarden die van toepassing zijn op uw omgeving, in dit voorbeeld is ons dummydomein testinglaravel.com). Houd er rekening mee dat het laravel-indexbestand is opgeslagen in /var/www/html/testsite/public, dit zal de root van uw site/applicatie zijn.

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

Sla het bestand op en sluit af. Start vervolgens uw webserver opnieuw op zodat de recente wijzigingen van kracht worden.

systemctl restart nginx

Stap 6: Ga naar de Laravel-website

14. Als u vervolgens geen volledig geregistreerde domeinnaam heeft, moet u het bestand /etc/hosts gebruiken om een lokale DNS te maken voor testdoeleinden.

Voeg de volgende regel toe aan uw /etc/hosts bestand, zoals weergegeven (gebruik uw systeem-IP-adres en domein in plaats van 192.168.43.31 en testinglaravel.com sterk> respectievelijk).

192.168.43.31  testinglaravel.com

15. Ga ten slotte naar uw Laravel-site vanuit een browser, met behulp van de volgende URL.

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

Als u lokaal ontwikkelt, kunt u als volgt de ingebouwde ontwikkelserver van PHP gebruiken om uw applicatie of site te bedienen. Met deze opdracht wordt een ontwikkelingsserver gestart op http://localhost:8000 of http://127.0.0.1:8000. Op CentOS/REHL moet deze poort in de firewall worden geopend, zodat u uw applicatie op deze manier kunt bedienen.

php artisan serve

Vanaf dit punt bent u klaar om te beginnen en kunt u beginnen met het ontwikkelen van uw site. Voor aanvullende configuraties zoals cache, database en sessies kun je naar de Laravel-startpagina gaan.

Laravel is een PHP-framework met een expressieve en mooie syntaxis voor praktische, moderne webontwikkeling. We hopen dat alles goed is gegaan tijdens de installatie. Zo niet, gebruik dan het onderstaande opmerkingenformulier om uw vragen met ons te delen.