Instalación

Si estás comenzando con Laravel, te recomendamos empezar con nuestro curso Primeros pasos con Laravel 6 y luego regresar a la documentación.

Requisitos del servidor

El framework Laravel tiene algunos requisitos del sistema. Todos estos requisitos son cubiertos por la máquina virtual Laravel Homestead, así que es altamente recomendable que uses Homestead como tu entorno local de desarrollo de Laravel.

Sin embargo, si no estás utilizando Homestead, deberás asegurarte de que tu servidor cumpla con los siguientes requisitos:

  • PHP >= 7.2.0
  • Extensión BCMath para PHP
  • Extensión Ctype para PHP
  • Extensión Fileinfo para PHP
  • Extensión JSON para PHP
  • Extensión Mbstring para PHP
  • Extensión OpenSSL para PHP
  • Extensión PDO para PHP
  • Extensión Tokenizer para PHP
  • Extensión XML para PHP

La instalación de Laravel en un subdirectorio no está soportada.

Instalar Laravel

Laravel utiliza Composer para administrar sus dependencias. Por lo que, antes de utilizar Laravel, deberás asegurarte de tener Composer instalado en tu sistema.

En la lección Instalación de Composer así como en Instalación de Laravel 6 del curso Primeros pasos con Laravel 6 puedes ver el proceso de instalación paso a paso.

Mediante el instalador de Laravel

Primero, descarga el instalador de Laravel usando Composer:

composer global require laravel/installer    

Asegúrate de colocar el directorio vendor/bin en tu $PATH para que el ejecutable de Laravel pueda ser localizado en tu sistema. Este directorio existe en diferentes ubicaciones según el sistema operativo que estés utilizando; sin embargo, algunas de las ubicaciones más comunes son las siguientes:

  • macOS: $HOME/.composer/vendor/bin
  • Distribuciones GNU / Linux: $HOME/.config/composer/vendor/bin o $HOME/.composer/vendor/bin
  • Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin

También puedes encontrar la ruta global de instalación de Composer ejecutando composer global about y observando la primera línea.

Una vez instalado, el comando laravel new creará una nueva instalación de Laravel en el directorio que especifiques. Por ejemplo, laravel new blog creará un directorio blog que contendrá una nueva instalación de Laravel con todas las dependencias de Laravel ya instaladas:

laravel new blog

Mediante composer create-project

Alternativamente, también puedes instalar Laravel ejecutando el comando de Composer create-project en tu terminal:

composer create-project --prefer-dist laravel/laravel blog "6.*"

Servidor de desarrollo local

Si tienes instalado PHP de manera local y te gustaría utilizar el servidor de desarrollo incorporado en PHP para servir tu aplicación, puedes usar el comando de Artisan serve. Este comando iniciará un servidor de desarrollo en http://localhost:8000:

php artisan serve    

Otras opciones de desarrollo local más robustas están disponibles mediante Homestead y Valet.

Configuración

Directorio público

Después de haber instalado Laravel, deberás configurar el documento raíz de tu servidor web para que sea el directorio public. El archivo index.php en este directorio funciona como controlador frontal (front controller) para todas las peticiones HTTP que entran a tu aplicación.

Archivos de configuración

Todos los archivos de configuración para el framework Laravel están almacenados en el directorio config. Cada opción está documentada, así que siéntete libre de revisar estos archivos y familiarizarte con las opciones disponibles para ti.

Permisos para directorios

Después de haber instalado Laravel, necesitarás configurar algunos permisos. Los directorios dentro de storage y bootstrap/cache deberán tener permiso de escritura para tu servidor web o Laravel no va a funcionar. Si estás utilizando la máquina virtual Homestead, estos permisos ya están establecidos.

Clave de la aplicación

Lo siguiente que debes hacer después de instalar Laravel es establecer la clave de tu aplicación a una cadena aleatoria. Si instalaste Laravel mediante Composer o el instalador de Laravel, esta clave ya ha sido establecida por el comando php artisan key:generate.

Típicamente, esta cadena debe tener una longitud de 32 caracteres. La clave puede ser establecida en el archivo de entorno .env. Si no has copiado el archivo .env.example a un nuevo archivo llamado .env, deberás hacerlo ahora. Si la clave de la aplicación no está establecida, ¡las sesiones de usuario y otros datos encriptados no serán seguros!

Configuración adicional

Laravel casi no necesita de configuración adicional ¡Eres libre de empezar a desarrollar! Sin embargo, puede que quieras revisar el archivo config/app.php y su documentación. Contiene varias opciones como timezone y locale que es posible que desees ajustar en tu aplicación.

También puede que quieras configurar algunos componentes adicionales de Laravel, como:

Configuración del servidor web

Configuración del directorio

Laravel debe ser siempre servido desde la raíz del «directorio web» configurado en tu servidor web. No debes intentar servir una aplicación de Laravel desde un subdirectorio del «directorio web». Intentar hacer eso podría exponer archivos sensibles que se encuentran dentro de tu aplicación.

URLs amigables

Apache

Laravel incluye un archivo public/.htaccess que es utilizado para proporcionar URLs sin el controlador frontal index.php en la ruta. Antes de servir tu aplicación de Laravel con Apache, asegúrate de habilitar el módulo mod_rewrite para que tu archivo .htaccess funcione correctamente.

Si el archivo .htaccess que viene con Laravel no funciona con tu instalación de Apache, prueba esta alternativa:

Options +FollowSymLinks -Indexes
RewriteEngine On

RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Nginx

Si estás utilizando Nginx, la siguiente directiva en la configuración de tu sitio va a dirigir todas las peticiones al controlador frontal index.php:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

Cuando uses Homestead o Valet, las URLs amigables serán configuradas automáticamente.

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

Lección siguiente Configuración - Documentación de Laravel 6