Instalación Laravel 10x

Author
Por Darío Rivera
Publicado el en Laravel

Laravel es uno de los frameworks PHP con mayor acogida a nivel global hoy en día y ha mantenido su posicionamiento desde hace ya varios años. No solamente por su estilo elegante de código sino también por implementar una gran cantidad de patrones de diseño y herramientas avanzadas de programación que como sabes nos facilita la vida a los desarrolladores.

Requerimientos

Para instalar Laravel 10.x debes tener en cuenta los siguientes requerimientos.

- PHP >= 8.1
- Composer

Adicional debes tener las siguientes librerías de PHP habilitadas..

- BCMath
- Ctype
- Fileinfo
- JSON
- Mbstring
- OpenSSL
- PDO
- Tokenizer
- XML

Si quieres asegurarte de tener instaladas las librerías necesarias te recomendamos pasarte por los siguientes post dependiendo del sistema operativo que estés utilizando.

- Instalar extensiones de PHP para Laravel 8 en Ubuntu
- Instalar extensiones de PHP para Laravel 8 en Debian
- Instalar extensiones de PHP para Laravel 8 en Arch Linux

Además de esto debes tener los siguientes módulos de apache habilitados

- mod_rewrite

Opcionalmente puedes requierer de los siguientes paquetes de software.

- Apache 2
- MySQL >=5.7

Puedes ver también los artículos relacionados con la instalación de Apache, PHP y MySQL según el sitema operativo que utilices.

- Instalar Apache, PHP y MySQL en Ubuntu 20.04 (Focal Fossa)
- Instalar Apache, PHP y MySQL en Debian 10 (Buster)
- Instalar Apache, PHP y MySQL en Arch Linux

Instalación de un proyecto Laravel desde cero

Existen básicamente dos formas de crear un proyecto en Laravel. La primera consiste en utilizar composer con el argumento create-project. La segunda forma consiste en utilizar un paquete oficial de laravel llamado Laravel Installer

Creación de un nuevo proyecto con composer

Para crear un proyecto de Laravel solo con composer debes utilizar el siguiente comando.

composer create-project laravel/laravel my_new_project

Si tienes una versión de PHP anterior a la requerida por Laravel 10x el comando anterior instalará una versión anterior de Laravel adecuada para la versión de PHP en tu sistema.

Con este método también se creará el archivo .env y la key de cifrado.

Creating a "laravel/laravel" project at "./my_new_project"
Info from https://repo.packagist.org: #StandWithUkraine
Installing laravel/laravel (v10.1.1)
  - Downloading laravel/laravel (v10.1.1)
  - Installing laravel/laravel (v10.1.1): Extracting archive
Created project in /var/www/vhosts/pleets/my_new_project
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies
Lock file operations: 106 installs, 0 updates, 0 removals
  - Locking brick/math (0.11.0)
  - Locking dflydev/dot-access-data (v3.0.2)
...
80 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 --force

   INFO  No publishable resources for tag [laravel-assets].  

No security vulnerability advisories found
> @php artisan key:generate --ansi

   INFO  Application key set successfully. 

Creación de un nuevo proyecto con Laravel installer

Después de tener instalado composer debes asegurarte que esten debidamente configurados los binarios de composer para poder ejecutar estos comandos de manera global. Según el sistema operativo que tengas instalado debería agregarse la siguiente ruta a la variable PATH.

Win %USERPROFILE%\AppData\Roaming\Composer\vendor\bin
GNU/Linux $HOME/.config/composer/vendor/bin
MacOS $HOME/.composer/vendor/bin

Si no estás seguro cual es el directorio de binarios de composer puedes averiguarlo con el siguiente comando:

composer global config bin-dir --absolute

Una vez verificados los requerimientos en la máquina en donde instalaremos Laravel debes instalar globalmente Laravel Installer. Para esto basta con ejecutar el siguiente comando en consola:

composer global require laravel/installer

Una vez hecho esto tendrás a disposición el comando laravel en tu terminal. Para crear un nuevo proyecto en laravel puedes ejecutar el siguiente comando:

laravel new my_new_project

Si tienes una versión de PHP anterior a la requerida por Laravel 10x el comando anterior instalará una versión anterior de Laravel adecuada para la versión de PHP en tu sistema..

Si todo ha salido bien hasta aquí deberías ver un mensaje en la terminal similar al siguiente

   _                               _
  | |                             | |
  | |     __ _ _ __ __ ___   _____| |
  | |    / _` | '__/ _` \ \ / / _ \ |
  | |___| (_| | | | (_| |\ V /  __/ |
  |______\__,_|_|  \__,_| \_/ \___|_|

Creating a "laravel/laravel" project at "./my_new_project"
Installing laravel/laravel (v10.1.1)
  - Installing laravel/laravel (v10.1.1): Extracting archive
Created project in /var/www/vhosts/pleets/my_new_project
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies
Lock file operations: 106 installs, 0 updates, 0 removals
  - Locking brick/math (0.11.0)
  - Locking dflydev/dot-access-data (v3.0.2)
...
80 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 --force

   INFO  No publishable resources for tag [laravel-assets].  

No security vulnerability advisories found
> @php artisan key:generate --ansi

   INFO  Application key set successfully. 

Configuración

Debido a que Laravel utiliza algunas carpetas para generar cache, vistas y otras utilidades, es necesario asignar los permisos necesarios.

chmod -R a+w storage
chmod a+w bootstrap/cache

Instalación de un proyecto existente

Ten en cuenta que algunos pasos de la instalación de un proyecto en Laravel son automatizados cuando se crea un nuevo proyecto. Si ya tienes un proyecto en Laravel subido a GitHub, Bitbucket, GitLab u otros, y lo descargas para instalarlo deberás seguir estos pasos.

El primer paso consisten en instalar las dependencias.

composer install

El siguiente paso consiste en realizar una copia del archivo de configuración del entorno. A modo de ejemplo, en Laravel viene incorporado el archivo .env.example que contiene las configuraciones necesarias para que la aplicación funcione de manera correcta.

cp .env.example .env

Finalmente, debemos generar una llave única para la aplicación que servirá también para cifrar ciertos datos manejados por el framework.

php artisan key:generate

Al ejecutar este comando, laravel configurará de manera automática un valor similar al siguiente en el archivo de configuración .env.

APP_KEY=base64:8veiqlPhUQlfvofFGfARw7M4tHvqumRT223tXoq5JDz0=

Si el proyecto tiene migraciones y datos podrás ejecutar el siguiente comando para crear todas la estructura de la base de datos y la data necesaria.

php artisan migrate --seed

Finalmente debemos configurar los permisos necesarios.

chmod -R a+w storage
chmod a+w bootstrap/cache

Ejecutar la aplicación

Para ver nuestra aplicación en ejecución basta con utilizar el siguiente comando en la raíz del proyecto.

php artisan serve

Después de esto accederemos por lo general a la aplicación en la dirección http://127.0.0.1:8000 o en el puerto que el artisan encuentre libre.

Si deseas que laravel funcione en nuestro web server wamp, lamp o instalación personalizada de Apache y PHP necesitas una configuración adicional. Puedes revisar el siguiente post si deseas configurar un virtual host para Laravel en Apache.

- Configurar virtual host en Laravel con Apache

En este punto, sabremos que hemos realizado correctamente la instalación si vemos la pantalla principal de nuestra aplicación en la dirección de nuestro localhost. Hasta pronto!.


Acerca de Darío Rivera

Author

Application Architect at Elentra Corp . Quality developer and passionate learner with 10+ years of experience in web technologies. Creator of EasyHttp , an standard way to consume HTTP Clients.

LinkedIn Twitter Instagram

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.