Laravel è un framework Web PHP gratuito e open source basato sul framework Symfony. Viene utilizzato per lo sviluppo più rapido di applicazioni web. Laravel semplifica l'esecuzione di alcune attività comuni come l'autenticazione, il routing, le sessioni e la memorizzazione nella cache. Ha diverse funzioni utili tra cui Artisan, Mappatura relazionale a oggetti, Motore di modelli, Architettura MVC, Unit-Testing e Sistema di migrazione del database.
In questo tutorial, ti mostrerò come installare Laravel su Debian 11.
Prerequisiti
- Un server che esegue Debian 11.
- Un nome di dominio valido puntato all'IP del tuo server.
- Sul server è configurata una password di root.
Installa il server Web Apache
Innanzitutto, dovrai installare il pacchetto Apache sul tuo server. Puoi installarlo usando il seguente comando:
apt-get install apache2 -y
Una volta installato il pacchetto Apache, verifica la versione di Apache utilizzando il seguente comando:
apache2ctl -v
Dovresti vedere il seguente output:
Server version: Apache/2.4.48 (Debian) Server built: 2021-08-12T11:51:47
Installa PHP e altre estensioni richieste
Successivamente, dovrai installare PHP e altre estensioni richieste per l'applicazione Laravel. Innanzitutto, installa le dipendenze richieste utilizzando il comando seguente:
apt-get install apt-transport-https gnupg2 ca-certificates -y
Quindi, aggiungi la chiave GPG e il repository PHP con il seguente comando:
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
Quindi, aggiorna il repository e installa PHP con altre estensioni usando il seguente comando:
apt-get update -y
apt-get install libapache2-mod-php php php-common php-xml php-gd php8.0-opcache php-mbstring php-tokenizer php-json php-bcmath php-zip unzip curl -y
Una volta installato PHP, modifica il file php.ini e apporta alcune modifiche:
nano /etc/php/8.0/apache2/php.ini
Modifica le seguenti righe:
cgi.fix_pathinfo=0 date.timezone = Asia/Kolkata
Salva e chiudi il file, quindi verifica la versione PHP utilizzando il seguente comando:
php -v
Esempio di output:
PHP 8.0.10 (cli) (built: Aug 26 2021 16:06:19) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.10, Copyright (c) Zend Technologies with Zend OPcache v8.0.10, Copyright (c), by Zend Technologies
Installa Composer
Successivamente, dovrai installare Composer sul tuo sistema. Puoi installarlo usando il seguente comando:
curl -sS https://getcomposer.org/installer | php
Esempio di output:
All settings correct for using Composer Downloading... Composer (version 2.1.6) successfully installed to: /root/composer.phar Use it: php composer.phar
Quindi, sposta il binario Composer nel percorso di sistema usando il seguente comando:
mv composer.phar /usr/local/bin/composer
Successivamente, verifica la versione Compsoer con il seguente comando:
composer --version
Dovresti vedere il seguente output:
Composer version 2.1.6 2021-08-19 17:11:08
Installa Laravel
Quindi, cambia la directory in Apache webroot e scarica l'ultima versione di Laravel usando Composer:
cd /var/www/html
composer create-project --prefer-dist laravel/laravel laravel
Dovresti ottenere il seguente output:
> @php artisan package:discover --ansi Discovered Package: facade/ignition Discovered Package: fruitcake/laravel-cors Discovered Package: laravel/sail Discovered Package: laravel/sanctum Discovered Package: laravel/tinker Discovered Package: nesbot/carbon Discovered Package: nunomaduro/collision Package manifest generated successfully. 76 packages you are using are looking for funding. Use the `composer fund` command to find out more! > @php artisan vendor:publish --tag=laravel-assets --ansi No publishable resources for tag [laravel-assets]. Publishing complete. > @php artisan key:generate --ansi Application key set successfully.
Quindi, imposta le autorizzazioni e la proprietà appropriate per la directory di Laravel con il seguente comando:
chown -R www-data:www-data /var/www/html/laravel
chmod -R 775 /var/www/html/laravel
Una volta terminato, puoi procedere al passaggio successivo.
Configura Apache per Laravel
Successivamente, dovrai creare un file di configurazione dell'host virtuale Apache per Laravel. Puoi crearlo con il seguente comando:
nano /etc/apache2/sites-available/laravel.conf
Aggiungi le seguenti righe:
<VirtualHost *:80> ServerName laravel.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/laravel/public <Directory /var/www/html/laravel> Options Indexes MultiViews AllowOverride None Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Salva e chiudi il file, quindi abilita l'host virtuale Apache e riscrivi il modulo con il seguente comando:
a2enmod rewrite
a2ensite laravel.conf
Infine, riavvia il servizio Apache per applicare le modifiche:
systemctl restart apache2
Puoi anche controllare lo stato di Apache con il seguente comando:
systemctl status apache2
Dovresti ottenere il seguente output:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2021-08-27 06:00:25 UTC; 7s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 14020 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 14025 (apache2) Tasks: 6 (limit: 2341) Memory: 13.2M CPU: 97ms CGroup: /system.slice/apache2.service ??14025 /usr/sbin/apache2 -k start ??14026 /usr/sbin/apache2 -k start ??14027 /usr/sbin/apache2 -k start ??14028 /usr/sbin/apache2 -k start ??14029 /usr/sbin/apache2 -k start ??14030 /usr/sbin/apache2 -k start Aug 27 06:00:25 debian11 systemd[1]: Starting The Apache HTTP Server...
Accedi a Laravel
Ora apri il tuo browser web e accedi all'interfaccia utente web di Laravel utilizzando l'URL http://laravel.example.com . Dovresti vedere la pagina predefinita di Laravel nella schermata seguente:
Conclusione
Congratulazioni! hai installato con successo Laravel con Apache su Debian 11. Ora puoi iniziare a sviluppare la tua applicazione usando il framework Laravel. Sentiti libero di chiedermi se hai domande.