Esta guía te ayudará a instalar y configurar versaWYS-PHP en tu entorno de desarrollo de manera clara y ordenada.
- Requisitos Previos
- Flujo de Instalación Paso a Paso
- Configuración del Servidor Web (Opcional)
- Compilación de Assets para Producción
Asegúrate de tener los siguientes componentes instalados en tu sistema. Si tienes dudas sobre cómo instalar dependencias, consulta la Guía de Configuración y la Guía de Línea de Comandos (CLI).
- PHP 8.3 o superior (incluye la extensión
php-intl) - Composer (manejador de dependencias para PHP)
- MySQL 5.7 o superior (o MariaDB)
- Servidor web Apache 2.4+ (con
mod_rewritehabilitado) o NGINX - Node.js 20 o superior y npm (para la compilación de assets CSS/JS)
Abre una terminal en el directorio donde deseas instalar el proyecto y ejecuta uno de los siguientes comandos:
- Clonar con Git (recomendado):
git clone https://github.com/kriollo/versaWYS.git . - Descargar ZIP: Descarga desde https://github.com/kriollo/versaWYS/archive/refs/heads/main.zip y descomprímelo en tu directorio de proyecto.
Navega a la carpeta raíz del proyecto versaWYS y ejecuta:
composer installEsto instalará todas las dependencias necesarias para el backend.
Antes de continuar, debes crear el archivo de configuración principal del framework. Ejecuta:
php versaCLI config:initEsto generará el archivo versaWYS/kernel/config/config.json con una plantilla base. No continúes hasta que este archivo exista. Para más detalles, revisa la Guía de Configuración y la Guía de Línea de Comandos (CLI).
- Crea una base de datos en tu servidor MySQL/MariaDB.
- Abre el archivo
versaWYS/kernel/config/config.jsonen tu editor. - Actualiza la sección
"DB"con tus credenciales de base de datos:"DB": { "DB_HOST": "localhost", "DB_USER": "root", "DB_PASS": "tu_contraseña", "DB_NAME": "nombre_de_tu_bd" }
Desde la raíz del proyecto, ejecuta:
php versaCLI migrate:upEsto creará las tablas necesarias en tu base de datos. Consulta la sección de migraciones para más información.
Si vas a trabajar con el frontend (panel de administración, dashboard, etc.), revisa también la Estructura de Directorios para entender dónde se ubican los archivos fuente y compilados.
-
Instala las dependencias de Node.js:
npm install
-
Compila los archivos CSS y JS:
- Para compilar archivos JS:
npm run versaCompileJS
- Para compilar solo los estilos del dashboard:
npm run versaCompileCSS
- Consulta tu archivo
package.jsonpara ver todos los scripts disponibles y elige el que se ajuste a tu flujo de trabajo.
- Para compilar archivos JS:
Puedes usar el servidor incorporado de PHP a través de la CLI de versaWYS (ver detalles):
php versaCLI servePor defecto, tu aplicación estará disponible en http://localhost:3000.
- Credenciales por defecto:
- Usuario:
admin@wys.cl - Contraseña:
admin2023
- Usuario:
Si vas a desplegar en producción o usar Apache/NGINX, revisa la sección correspondiente para configurar correctamente las URLs amigables y el acceso a los assets.
Asegúrate de que mod_rewrite esté habilitado. Necesitarás un archivo .htaccess en el directorio raíz de tu proyecto (o en el directorio public/ si esa es tu raíz web) con reglas similares a las siguientes para redirigir todas las solicitudes al index.php principal:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Redirige todas las solicitudes a index.php si no es un archivo o directorio existente
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]
</IfModule>La configuración exacta puede variar dependiendo de si la raíz de tu sitio apunta al directorio principal del proyecto o a una subcarpeta como public/.
Para NGINX, la configuración del servidor podría verse así:
server {
listen 80;
server_name tu_dominio.com;
root /ruta/a/tu/proyecto/public; # O la raíz de tu proyecto si manejas las rutas de manera diferente
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; # Ajusta la versión de PHP y la ruta del socket FPM
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}Ajusta tu_dominio.com, la ruta al proyecto (root) y la configuración de fastcgi_pass según tu entorno.
Cuando estés listo para desplegar tu aplicación, compila y minifica tus archivos CSS y JS. Consulta la Guía de Línea de Comandos (CLI) para ver los scripts disponibles y la Estructura de Directorios para la ubicación de los assets.
- Para CSS:
npm run versaCompileCSS
- Para JS y otros assets:
npm run versaCompileJS
Nota Importante:
Los nombres exactos de los scripts (versaCompileCSS, watch, versaCompileJS, etc.) dependen exclusivamente de cómo estén definidos en la sección "scripts" de tu archivo package.json. Siempre consulta ese archivo como la fuente autoritativa para estos comandos.
Si estás utilizando tareas preconfiguradas de VSCode que ejecutan estos scripts, asegúrate de que apunten a los nombres correctos definidos en tu package.json.
¡Listo!
Tu entorno versaWYS-PHP debería estar funcionando. Si tienes dudas, revisa la documentación incluida en la carpeta documentacion/ o ejecuta php versaCLI help para ver todos los comandos disponibles. También puedes consultar la Guía de Línea de Comandos (CLI) y la Guía de Contribución.
NOTA
versaCompiler: El comando npm run watch o npx versacompiler compila y transpila los archivos JS/CSS de src/ hacia los directorios públicos, facilitando el flujo de trabajo frontend.
Para más información sobre versaCompiler, consulta su repositorio oficial