# Instalación

Requisitos del servidor

El marco de Laravel tiene algunos requisitos de sistema. Todos estos requisitos son satisfechos por la máquina virtual de Laravel Homestead, por lo que se recomienda encarecidamente que utilice Homestead como su entorno de desarrollo local de Laravel.

Sin embargo, si no está utilizando Homestead, tendrá que asegurarse de que su servidor cumple con los siguientes requisitos:

  • PHP >= 7.3
  • BCMath PHP Extension
  • Ctype PHP Extension
  • Fileinfo PHP Extension
  • JSON PHP Extension
  • Mbstring PHP Extension
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

Instalación de Laravel

Laravel utiliza Composer para gestionar sus dependencias. Así que, antes de usar Laravel, asegúrate de tener instalado Composer en tu máquina.

Via el instalador de Laravel

Primero, descarga el instalador de Laravel usando Composer:

composer global require laravel/installer

Asegúrate de colocar el directorio de proveedores de Composer en tu $PATH para que el ejecutable de laravel pueda ser localizado por tu sistema. Este directorio existe en diferentes ubicaciones según tu sistema operativo; sin embargo, algunas ubicaciones comunes incluyen:

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

También podrías encontrar la ruta de instalación global del compositor corriendo composer global about y mirando hacia arriba desde 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 llamado blog que contiene una instalación fresca de Laravel con todas las dependencias de Laravel ya instaladas:

laravel new blog

¿Quieres crear un proyecto Laravel con inicio de sesión, registro y más características ya construidas para ti? Echa un vistazo a Laravel Jetstream.

Via Composer Create-Project

Alternativamente, también puede instalar Laravel emitiendo el comando de Composer create-project en su terminal:

composer create-project --prefer-dist laravel/laravel blog

Servidor de desarrollo local

Si tienes PHP instalado localmente y quieres usar el servidor de desarrollo incorporado de PHP para servir tu aplicación, puedes usar comando Artisan serve. Este comando iniciará un servidor de desarrollo en http://localhost:8000:

php artisan serve

Se dispone de opciones de desarrollo local más sólidas a través de HomesteadValet.

Configuración

Directorio público

Después de instalar Laravel, debe configurar el documento de su servidor web / raíz web para que sea el directorio público. El index.php ien este directorio sirve como controlador frontal para todas las peticiones HTTP que entren en su aplicación.

Archivos de configuración

Todos los archivos de configuración de la estructura de Laravel están almacenados en el directorio config. Cada opción está documentada, así que siéntase libre de revisar los archivos y familiarizarse con las opciones disponibles.

Permisos del directorio

Después de instalar Laravel, puede que necesites configurar algunos permisos. Los directorios dentro del storage y los directorios de bootstrap/cache deben ser escribibles por tu servidor web o Laravel no se ejecutará. Si está usando la máquina virtual Homestead, estos permisos ya deberían estar configurados.

Clave de aplicación

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

Típicamente, esta cadena debería tener 32 caracteres de longitud. La clave se puede establecer en el .env archivo de ambiente. Si no has copiado el .env.example a un nuevo archivo llamado .env, deberías hacerlo ahora. Si la clave de la aplicación no está configurada, sus sesiones de usuario y otros datos encriptados no serán seguros.

Configuraciones adicionales

Laravel no necesita casi ninguna otra configuración fuera de la caja. ¡Es libre de empezar a desarrollar! Sin embargo, puede que quieras revisar la config/app.php y su documentación. Contiene varias opciones como la zona horaria y locale que puede desear cambiar de acuerdo con su solicitud.

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

# Configuración del servidor web

Configuración del directorio

Laravel siempre debe ser servido desde la raíz del "directorio web" configurado para su servidor web. No debe intentar servir una aplicación Laravel desde un subdirectorio del "directorio web". Intentar hacerlo podría exponer archivos sensibles presentes en su aplicación.

URL's amigables

Apache

Laravel incluye un archivo  public/.htaccess que se utiliza para proporcionar URLs sin el controlador frontal index.php en la ruta. Antes de servir a Laravel con Apache, asegúrate de habilitar el módulo mod_rewrite para que el archivo.htaccess sea respetado por el servidor.

Si el archivo .htaccess que se envía 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á usando Nginx, la siguiente directiva en la configuración de su sitio dirigirá todas las solicitudes al controlador frontal index.php:

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

Cuando se utiliza Homestead or Valet, se configuran automáticamente URLs amigables