16 Rootfiles
Documentación Técnica: Archivos de Configuración Raíz
Este documento describe los archivos principales de configuración y control ubicados en la raíz del sistema Frameworkito: .env, .htaccess y composer.json. Estos archivos son fundamentales para la operación, despliegue y personalización del sistema.
1. .env
Propósito:
- Centraliza la configuración sensible y de entorno del sistema (no debe subirse a repositorios públicos).
- Permite ajustar el comportamiento del sistema sin modificar el código fuente.
Secciones principales:
- APP: Entorno (
APP_ENV), modo debug, nombre, URL, clave de aplicación, zona horaria, tipo de sistema. - Empresa: Email y datos de contacto de soporte, nombre y dirección de la empresa.
- Base de datos: Tipo, host, puerto, nombre, usuario, contraseña, prefijo, charset y collation.
- Correo: Driver, host, puerto, usuario, contraseña, cifrado, dirección y nombre remitente.
- Autenticación: Parámetros de sesión, duración de tokens, intentos máximos, bloqueo, verificación de email, 2FA.
- Logging: Nivel, rotación, días máximos, tamaño máximo, registro en base de datos y archivos.
- Seguridad: Protección CSRF.
Recomendaciones:
- No exponer ni subir a repositorios públicos.
- Actualizar según el entorno (desarrollo, producción, testing).
- Cambiar credenciales y claves por valores seguros antes de producción.
2. .htaccess (raíz del proyecto)
Propósito:
- Redirige todas las peticiones al directorio
/publicpara proteger el código fuente y archivos sensibles. - Bloquea acceso directo a archivos de configuración, logs, scripts, migraciones y carpetas del sistema.
- Añade headers de seguridad HTTP básicos.
Reglas principales:
- Redirección 301 a
/publicsalvo que ya esté en la URL. - Bloqueo de acceso a archivos
.env,.config,.log,.sql,.md, etc. - Bloqueo de acceso a carpetas sensibles (
/app,/database,/logs,/tests,/vendor). - Headers:
X-Content-Type-Options,X-Frame-Options,X-XSS-Protection.
Recomendaciones:
- No modificar salvo que se comprenda el impacto en seguridad y despliegue.
- Revisar reglas tras cambios de estructura o migraciones.
3. composer.json
Propósito:
- Archivo de gestión de dependencias PHP mediante Composer.
- Define los paquetes requeridos, autoload, scripts y metadatos del proyecto.
Secciones principales:
- require: Versiones mínimas de PHP y extensiones (
pdo,mbstring,openssl,json), librerías externas (delight-im/auth,phpmailer/phpmailer). - require-dev: Herramientas de testing (
phpunit), formateo de código (php-cs-fixer). - autoload: PSR-4 para
App\y carga de helpers globales. - scripts: Comandos post-instalación, test, cobertura, CS fixer, setup, generación de claves.
- archive.exclude: Exclusión de carpetas y archivos no necesarios para distribución.
Recomendaciones:
- Mantener actualizado y versionado.
- Usar
composer installtras clonar el proyecto para instalar dependencias. - Revisar y ajustar scripts según necesidades del equipo.
Resumen: Los archivos
.env,.htaccessycomposer.jsonson críticos para la seguridad, configuración y operación del sistema. Su correcta gestión es esencial para el despliegue seguro y eficiente de Frameworkito.