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