Hoe Laravel PHP Framework met Nginx op Ubuntu 20.04 te installeren
Laravel is het populairste, gratis en open-source PHP-framework ter wereld, bekend om zijn expressieve en elegante syntaxis. Laravel is toegankelijk, krachtig en biedt enkele van de beste webontwikkelingstools die nodig zijn voor grote, robuuste en moderne applicaties.
In dit artikel leert u hoe u het Laravel PHP Framework installeert op de Ubuntu 20.04-server die draait op de Nginx-webserver.
Vereisten
- Hoe LEMP Stack te installeren met PhpMyAdmin in Ubuntu 20.04
Stap 1: Vereiste PHP-modules installeren
Na het instellen van de LEMP-stack op uw Ubuntu 20.04-server, zoals beschreven in de handleiding in de bovenstaande link, moet u als volgt aanvullende PHP-extensies installeren die Laravel nodig heeft:
sudo apt update
sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer
Stap 2: Een database voor Laravel maken
Vervolgens moet u een MySQL database maken voor uw Laravel applicatie. Log dus in op uw mysql-shell en maak de database als volgt aan.
sudo mysql
MariaDB [(none)]> CREATE DATABASE laraveldb;
MariaDB [(none)]> GRANT ALL ON laraveldb.* to 'webmaster'@'localhost' IDENTIFIED BY 'tecmint';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit
Stap 3: Composer installeren in Ubuntu 20.04
Laravel gebruikt de composer (een afhankelijkheidsmanager voor PHP) om zijn afhankelijkheden te beheren. Voordat u Laravel gebruikt, moet u er daarom voor zorgen dat Composer op uw systeem is geïnstalleerd, zoals weergegeven.
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
Stap 4: Laravel installeren in Ubuntu 20.04
Nadat u de composer hebt geïnstalleerd, gebruikt u deze om de Laravel-bestanden te installeren. Ga naar de map /var/www/html
waar webbestanden zijn opgeslagen en installeer vervolgens Laravel met behulp van de componist, zoals weergegeven. Vergeet niet om example.com
te vervangen door de naam van de map waar de Laravel-bestanden zullen worden opgeslagen.
cd /var/www/html
composer create-project --prefer-dist laravel/laravel example.com
Stap 5: Laravel configureren in Ubuntu 20.04
Om de inhoud van de nieuwe Laravel-installatie weer te geven, voert u de volgende ls-opdracht uit. U zult merken dat er automatisch een .env
-bestand is aangemaakt, wat in het verleden handmatig moest worden aangemaakt.
ls -la /var/www/html/example.com/
Stel vervolgens als volgt de juiste machtigingen voor de map Laravel in.
sudo chown -R :www-data /var/www/html/example.com/storage/
sudo chown -R :www-data /var/www/html/example.com/bootstrap/cache/
sudo chmod -R 0777 /var/www/html/example.com/storage/
sudo chmod -R 0775 /var/www/html/example.com/bootstrap/cache/
Vervolgens gebruikt Laravel een applicatiesleutel om gebruikerssessies en andere gecodeerde gegevens te beveiligen. De standaard .env
bevat een standaard applicatiesleutel, maar u moet om veiligheidsredenen een nieuwe genereren voor uw laravel-implementatie.
sudo php artisan key:generate
De gegenereerde sleutel wordt toegevoegd aan het bestand .env
als de waarde van de APP_KEY
. U kunt de toegevoegde sleutel bekijken met behulp van de grep-opdracht.
grep -i APP_Key /var/www/html/example.com/.env
U moet ook de Laravel databaseverbindingsdetails configureren in .env
, zoals weergegeven in de volgende schermafbeelding.
sudo nano /var/www/html/example.com/.env
Stap 6: NGINX configureren om de Laravel-applicatie te bedienen
Om ervoor te zorgen dat NGINX uw nieuwe applicatie kan bedienen, moet u er een serverblok voor maken binnen de NGINX-configuratie, onder de map /etc/nginx/sites-available/
.
sudo nano /etc/nginx/sites-available/example.com.conf
Update in de onderstaande configuratie de root-richtlijn naar de openbare map van de Laravel-applicatie en zorg ervoor dat u www.example.com
vervangt door de domeinnaam van uw website, zoals weergegeven.
Stel ook in dat de fastcgi_pass
richtlijn moet verwijzen naar het medium PHP-FPM waar naar verzoeken luistert (bijvoorbeeld fastcgi_pass unix:/run/php/php7.4 -fpm.sock
):
server{
server_name www.example.com;
root /var/www/html/example.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/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Sla het bestand op en schakel vervolgens de Laravel-siteconfiguratie in door een link te maken van /etc/nginx/sites-available/example.com.conf
naar de /etc/nginx/sites-enabled/
map. Verwijder bovendien de standaard serverblokconfiguratie.
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
Controleer vervolgens of de configuratiesyntaxis van NGINX correct is door de volgende opdracht uit te voeren voordat u de service opnieuw start.
sudo nginx -t
sudo systemctl restart nginx
Stap 7: Toegang tot de Laravel-applicatie vanuit een webbrowser
In dit stadium moet u testen of uw Laravel-implementatie goed werkt en of deze toegankelijk is via een browser. Als u het dummydomein example.com
wilt gebruiken, gebruiken we het bestand /etc/hosts
op uw lokale computer om lokale DNS te maken.
Voer de volgende opdrachten uit om het IP-adres van de Laravel-server op te halen en voeg dit toe aan het bestand /etc/hosts
(vervang de waarde volgens uw instellingen).
$ip-advertentie
$echo “192.168.56.11 voorbeeld.com” | sudo tee -a /etc/hosts
Open nu een webbrowser op de lokale computer en gebruik het volgende adres om te navigeren.
http://www.example.com/
Nu u Laravel heeft geïnstalleerd, kunt u beginnen met het bouwen van uw webapplicatie of site. Zie de Laravel-documentatie voor meer informatie.