En el següent article anem a fer una ullada a Laravel i la seva instal·lació en Ubuntu. Es tracta d'un framework per a PHP de codi obert molt popular. Està destinat a facilitar el desenvolupament d'aplicacions. Si estàs buscant un nou marc de PHP per desenvolupar els teus projectes, Has de provar Laravel.
Laravel és un framework d'aplicacions web amb una sintaxi expressiva i elegant que farà del de el desenvolupament una experiència agradable i creativa. Laravel intenta facilitar el desenvolupament de les tasques comunes utilitzades en la majoria dels projectes web, com l'autenticació, l'enrutament, les sessions i l'emmagatzematge en memòria cau.
Aquest framework té com a objectiu fer que el procés de desenvolupament sigui agradable per al desenvolupador sense sacrificar la funcionalitat de l'aplicació. Laravel accessible i proporciona potents eines necessàries per a aplicacions grans i robustes. Ens va proporcionar contenidors de control, un sistema de migració expressiu i un suport de prova d'unitats estretament integrat que ens brindaran les eines que qualsevol necessitarà per construir l'aplicació que se li hagi encomanat.
Abans de començar, sempre és una bona idea assegurar-se que les fonts i el programari existents al nostre equip estiguin actualitzats. A la terminal (Ctrl + Alt + T) escriurem:
sudo apt-get update && sudo apt-get upgrade
He de dir que amb el que aquí vaig a escriure, he instal·lat aquest framework en Ubuntu 16.04, 17.10 i 18.04. Abans de començar amb la instal·lació de Laravel, necessitarem instal·lar altres components que són essencials.
Instal·lar PHP 7.1
El següent pas és instal·lar PHP juntament amb diversos paquets addicionals que resulten útils si vas a treballar amb Laravel. A la terminal (Ctrl + Alt + T) escriurem:
sudo add-apt-repository ppa:ondrej/php sudo apt-get update && sudo apt-get install php7.1 php7.1-mcrypt php7.1-xml php7.1-gd php7.1-opcache php7.1-mbstring
Encara que el propi repositori d'Ubuntu té disponible PHP, Em sembla millor idea afegir un repositori de tercers aquí perquè s'actualitza amb més freqüència. Es pot ometre aquest pas i utilitzar la versió d'Ubuntu, si això és el que prefereixes.
instal·lar Apache
És hora de instal·lar el servidor Apache. També necessitaríem instal·lar el paquet libapache2-mod-php7.1 per connectar Apache amb PHP.
sudo apt-get install apache2 libapache2-mod-php7.1
instal·lar Laravel
Abans d'aprofundir en la instal·lació, caldrà que s'instal·li al control de versions de Git.
Per instal·lar Laravel, primer hem d'instal·lar Composer. Aquesta una eina per a l'administració de dependències en PHP que permetrà empaquetar totes les biblioteques requerides associades. Per instal·lar Laravel i totes les seves dependències, es requereix Composer. Per instal·lar aquesta eina, a la terminal (Ctrl + Alt + T) haurem d'escriure els següent comandaments (Ctrl + Alt + T):
cd /tmp curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer
La comanda curl descarrega el paquet composer.phar al nostre directori / tmp. Però com ens interessaria més que composer s'executés globalment, hem moure'l a directori / usr / local / bin. Acabat tot això, ara podem executar composer des de qualsevol lloc del nostre sistema operatiu.
Per instal·lar Laravel, ens dirigirem a directori públic html del teu sistema. Com estem en Ubuntu i utilitzant Apache, el instal·larem en el directori / Var / www / html.
cd /var/www/html sudo composer create-project laravel/laravel tu-proyecto - -prefer-dist
La comanda anterior crearà el directori «teu-projecte» amb la instal·lació de Laravel. Composer fa servir git per descarregar i instal·lar tots els paquets i mòduls que Laravel requereix per funcionar.
Configurant Apache
Ara que hem instal·lat Laravel, passem a configurar el servidor web Apache.
El següent pas és atorgar els permisos adequats a directori de el projecte. Per això, ens cal habilitar l'accés a el grup www-data i atorgar-li permisos d'escriptura a directori d'emmagatzematge. A la terminal (Ctrl + Alt + T) escriurem:
sudo chgrp -R www-data /var/www/html/tu-proyecto sudo chmod -R 775 /var/www/html/tu-proyecto/storage
Ara ens dirigirem a directori / etc / apache2 / sites-available i utilitzarem la següent comanda per crear un arxiu de configuració per a la nostra instal·lació de Laravel:
cd /etc/apache2/sites-available sudo nano laravel.conf
Quan s'obri nano afegirem el següent contingut a l'arxiu. caldrà reemplaçar tudominio.tld amb el nom de domini del vostre lloc web dins de l'arxiu. També caldrà canviar el nom de el projecte pel qual hem creat anteriorment. En cas d'usar-lo en local, escriu localhost.tld.
<VirtualHost *:80> ServerName tudominio.tld ServerAdmin webmaster@localhost DocumentRoot /var/www/html/tu-proyecto/public <Directory /var/www/html/tu-proyecto> AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Ara hem d'habilitar aquesta imatge .conf acabat de crear. També haurem de desactivar l'arxiu .conf predeterminat que s'instal·la amb la instal·lació d'Apache. A més, hem habilitar mod_rewrite perquè els enllaços permanents puguin funcionar.
sudo a2dissite 000-default.conf && sudo a2ensite laravel.conf && sudo a2enmod rewrite
I acabem reiniciant apatxe amb:
sudo service apache2 restart
Amb això, la instal·lació de Laravel ara està completa. visita la adreça IP o el nom de domini del teu servidor amb un navegador web (en el meu cas, http: // localhost). Si tot ha anat bé, veuràs la pàgina per defecte de Laravel, des d'on podràs accedir a la documentació d'aquest framework i altres opcions.
Molt bé fins aquí;
cd / tmp
curl -Ss https://getcomposer.org/installer | php
suo mv composer.phar / usr / local / bin / composer
On ja no va servir
Per què ja no va servir a partir d'aquí? Quin error et mostra?
Tot anava bé fins aquest punt
sudo composer create-project laravel / laravel teu-projecte - -prefer-dist
En el qual surt el següent error:
Do not run Composer es root / super user! see https://getcomposer.org/root per obtenir més detalls
[Symfony \ Component \ Console \ Exception \ RuntimeException]
El “-p” option does not exist.
Executa-ho sense suo.
El problema és que hi ha una falla en la comanda. Cal ajuntar als 2 «-» ja que si no ho agafa com un «-p». Espero que serveixi el comentari, així vaig aconseguir que funcionés.
Jo tinc un dubte, tot em va servir, sobretot, m'obre Laravel, però vull crear un altre projecte, l'únic que vaig fer va ser fer tot des de crear el projecte amb composer i el nom LARAVEL_2 (el primer projecte que creu ser LARAVEL), aquest projecte en la mateixa ruta / var / www / html que en el primer projecte creat, tot va bé fins que arribo a la part que crec és on em dóna problemes, que és a l'arxiu de configuració de el virtual host
Per al primer projecte el tinc així:
ServerName localhost.tld
ServerAdmin webmaster @ localhost
DocumentRoot / var / www / html / LARAVEL / public
AllowOverride tots
ErrorLog $ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log combinat
I tot va sortir perfectament, però quan faig per al segon projecte, ho tinc així:
ServerName homestead.test
ServerAdmin micorreo@hotmail.com
DocumentRoot / var / www / html / LARAVEL_2 / public
AllowOverride tots
ErrorLog $ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log combinat
Executo les següents comandes, sense tenir cap problema fins a finalitzar amb reiniciar apatxe, el problema aquesta és que ara no puc entrar a el primer projecte posant localhost en el meu portàtil, ni molt menys a homestead.test que és on segons amb aquest nom és com jo puc accedir al meu projecte, llavors com puc resoldre això?
Aquest article va ser de molta ajuda, només que vaig voler fer alguna cosa mes, i em va sortir una mica malament
Edita l'arxiu / etc / hosts i en una nova línia afegeix:
127.0.0.1 homestead.test
reinicia apatxe i escriu al navegador:
http://homestead.test
hola vull saber si funciona en Ubuntu 20.04lts doncs instal i em demana que falta algunes dependències com: Your requirements could not be resolved to an Installable set of packages.
laravel / framework v7.9.2 requires ext-mbstring * -> the requested PHP extensió mbstring is missing from your system.
si us plau ajuda
Tot i que aquest tutorial sembla ser de fa uns quants anys, m'ha funcionat en ple 2022 a Ubuntu Jammy Jellyfish.
Molt bona feina Damián 🙂