Laravel és un framework PHP gratuït i de codi obert basat en el framework Symfony. Segueix el patró arquitectònic model-vista-controlador i s'utilitza per desenvolupar aplicacions web ràpidament. És altament escalable i té suport integrat per a sistemes de memòria cau distribuïts. Inclou una interfície de línia d'ordres que ajuda a dur a terme diverses operacions per a les teves aplicacions.
En aquesta guia, t'expliquem com instal·lar Laravel 8 amb Apache i Let's Encrypt SSL a Ubuntu 20.04.
Requisits previs
- Un servidor al núvol Ubuntu 20.04 instal·lat al teu sistema.
- Un nom de domini vàlid que apunti a la IP del teu servidor.
- Una contrasenya root o un usuari amb privilegis sudo.
Instal·la el servidor web Apache
Primer hauràs de instal·lar el paquet del servidor web per allotjar una aplicació Laravel. Pots fer servir el servidor web Nginx o Apache per a Laravel.
Per instal·lar el servidor web Apache, executa l'ordre següent:
# apt-get install apache2 -y Això instal·larà el paquet del servidor web Apache i iniciarà el servei web Apache automàticament.
Per provar el servidor web Apache, obre el navegador web i accedeix a l'URL http: // your-server-ip. Hauries de veure la pàgina de prova d'Apache a la pantalla següent:
Instal·la PHP
Laravel és una aplicació basada en PHP, per la qual cosa hauràs d'instal·lar PHP i altres extensions necessàries al teu servidor. Pots instal·lar-les totes amb l'ordre següent:
# apt-get install libapache2-mod-php php php-common php-xml php-gd php-opcache php-mbstring php-tokenizer php-json php-bcmath php-zip unzip -y Després d'instal·lar tots els paquets, edita el fitxer php.ini i habilita cgi.fix_pathinfo:
# nano /etc/php/7.4/apache2/php.iniCanvia la línia següent:
cgi.fix_pathinfo=0 Desa i tanca el fitxer i després reinicia el servei Apache perquè s'apliquin els canvis:
# systemctl restart apache2Instal·la Composer
Composer és un gestor de dependències per a PHP que s'utilitza per gestionar les dependències i biblioteques necessàries per a les aplicacions PHP.
Per instal·lar Composer, executa l'ordre següent:
# curl -sS https://getcomposer.org/installer | php Hauries d'obtenir el resultat següent:
All settings correct for using Composer
Downloading...
Composer (version 2.1.6) successfully installed to: /root/composer.phar
Use it: php composer.phar
A continuació, mou el binari descarregat a la ruta del sistema:
# mv composer.phar /usr/local/bin/composerPer continuar, verifica la versió de Composer amb l'ordre següent:
# composer --version Hauries de veure el resultat següent:
Composer version 2.1.6 2021-08-19 17:11:08Instal·la Laravel 8 utilitzant Composer
En aquest apartat, instal·laràs Laravel utilitzant Composer.
Primer, ves al directori arrel web d'Apache i descarrega Laravel amb l'ordre següent:
# cd /var/www/html
# composer create-project --prefer-dist laravel/laravel laravelHauries d'obtenir el resultat següent:
> @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.
A continuació, canvia el permís i la propietat del directori de Laravel:
# chown -R www-data:www-data /var/www/html/laravel
# chmod -R 775 /var/www/html/laravelConfigura Apache per allotjar Laravel 8
Ara hauràs de crear un fitxer de configuració d'amfitrió virtual d'Apache per allotjar una aplicació Laravel.
Pots fer-ho amb l'ordre següent:
# nano /etc/apache2/sites-available/laravel.confAfegeix les línies següents:
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName laravel.example.com
DocumentRoot /var/www/html/laravel/public
<Directory /var/www/html/laravel>
Options Indexes MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>Desa i tanca el fitxer i després habilita el mòdul de reescriptura d'Apache i activa l'amfitrió virtual Laravel amb l'ordre següent:
# a2enmod rewrite
# a2ensite laravel.confPer acabar, torna a carregar el servei Apache per aplicar els canvis:
# systemctl restart apache2Instal·la Let's Encrypt SSL al lloc de Laravel
Sempre és recomanable protegir el teu lloc web amb Let's Encrypt SSL. Per fer-ho, hauràs d'instal·lar el client Certbot al teu servidor.
Executa l'ordre següent per instal·lar el client Certbot:
# apt-get install python3-certbot-apache -yDesprés d'instal·lar Certbot, utilitza l'ordre següent per descarregar i instal·lar Let's Encrypt SSL al teu lloc web Laravel:
# certbot --apache -d laravel.example.comHauràs de proporcionar una adreça de correu electrònic vàlida i acceptar les condicions del servei com es mostra més avall:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): admin@example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for laravel.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/laravel-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/laravel-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/laravel-le-sslTria si vols redirigir el trànsit HTTP a HTTPS, eliminant l'accés HTTP.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS.You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2Escriu "2" i prem "Enter" per descarregar i instal·lar un certificat SSL gratuït per al teu domini, un cop la instal·lació s'hagi completat correctament. Hauries d'obtenir el resultat següent:
Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/laravel.conf to ssl vhost in /etc/apache2/sites-available/
laravel-le-ssl.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://laravel.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=laravel.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -En aquest punt, el teu lloc web de Laravel està protegit amb Let's Encrypt SSL. Ara hi pots accedir de manera segura amb l'URL https://laravel.example.com.
Accedeix al lloc web de Laravel
Ara, escriu l'URL https://laravel.example.com al teu navegador web. Se't redirigirà a la pàgina predeterminada de Laravel 8:
Conclusió
Amb aquest tutorial, has après a instal·lar Laravel 8 amb Apache i a protegir-lo amb Let's Encrypt SSL a Ubuntu 20.04.
Ja pots començar a desenvolupar una aplicació web integral PHP utilitzant el framework de Laravel!