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