Este artículo es una guía de instalación para uno de mis sistemas open source: sistema de pagos con PHP.
Te mostraré una pequeña guía para instalarlo.
Requisitos
Necesitas PHP y MySQL, así como un servidor. El sistema funciona bien con Apache. Puedes instalar XAMPP en Windows o lo mismo en Ubuntu.
Descargar programa
Recuerda que todos los detalles del software puedes verlos aquí, incluyendo la descarga, que no es más que ir al repositorio de GitHub y descargar como zip.
Una vez que lo tengas, extrae el contenido de la carpeta en htdocs
si usas xampp, o en /var/www/html/
si usas Linux, todo depende de tu instalación.
Configuración del archivo env.php
Dentro de la carpeta app
encontrarás un archivo llamado env.ejemplo.php
, crea un archivo llamado env.php
a partir del mismo. El mío se ve así:
; <?php exit; ?>
; El comentario de arriba es para que, si el archivo es visto
; desde el navegador, se salga inmediatamente del script, ocultando
; la información que aquí existe
; En cambio, cuando es tratado como un archivo .ini, las
; líneas que comienzan con un ; son ignoradas
; Un archivo de configuración
; que guarda todas las credenciales
; para cada cosa
; Las líneas en blanco y aquellas que comienzan
; con un punto y coma (;) son ignoradas
; URL base del proyecto, algo como https://sitio.com
URL_RAIZ = "http://localhost/sistema-pagos"
USUARIO_MYSQL = "root"
PASS_MYSQL = ""
NOMBRE_BD_MYSQL = "pagos"
HOST_MYSQL = "localhost"
NOMBRE_IMPRESORA = "POS-58"
;El offset para las rutas. Simplemente hay que contar el número
; de barras (/) desde la raíz
; Por ejemplo, si el index.php está en localhost/app/index.php
; el offset sería 2
; si estuviera en localhost/app/otro_dir/index.php
; el offset sería 3
; si estuviera en https://parzibyte.me/apps/app/index.php
; el offset sería 3
OFFSET_RUTAS = 2
; Denegar la creación o eliminación de usuarios, útil para ambientes de prueba
DENEGAR_USUARIOS=true
Toda la configuración reside aquí, así que es importante prestar atención a cada campo.
La base de datos
Los datos de USUARIO_MYSQL
, PASS_MYSQL
y NOMBRE_BD_MYSQL
deben ser cambiados para que coincidan con los de tu servidor.
Una vez que hayas creado la base de datos debes importar el archivo esquema.sql incluido en la carpeta app.
La url raíz
Esta URL que tiene la clave URL_RAIZ
debe apuntar al host en donde estará montada la app. Si está en internet debes colocar la ruta del dominio junto con la carpeta en donde está el sistema, si está en localhost entonces debe apuntar igualmente a localhost.
En el ejemplo de arriba apunta a localhost dentro de la carpeta sistema-pagos. También puedes ponerla en una LAN, para ello colocarías la IP del servidor en donde está montado el sistema.
Es importante que esta variable no termine en /
.
Rutas
El offset de las rutas es una variable usada para el enrutador, es decir, tiene que ver con programación, pero se puede configurar de manera fácil.
Si te fijas, solo es contar el número de barras (/
) desde la raíz. Es decir, desde el nombre del dominio. De hecho en el archivo hay una explicación:
El offset para las rutas. Simplemente hay que contar el número de barras (/) desde la raíz.
Por ejemplo, si el
index.php
está enlocalhost/app/index.php
el offset sería 2, si estuviera enlocalhost/app/otro_dir/index.php
el offset sería 3, si estuviera enhttps://parzibyte.me/apps/app/index.php
el offset sería 3.
Así que solo es cuestión de contar las barras.
Impresora
Para imprimir los comprobantes de pago debes indicar el nombre de la impresora. Mira mi tutorial para instalar la impresora genérica y compartirla en Windows. Todo esto se basa en la librería de impresoras térmicas en PHP.
Iniciando el sistema
Antes de que visites la página del sistema asegúrate de:
- Haber configurado la ruta, con el offset
- Probar que la base de datos funciona, así como el acceso con el usuario que colocaste
- Importar el esquema
Si visitas la ruta, te dirá que ruta [ ] no encontrada:

Es normal, pues no hay ruta raíz por defecto. En su lugar, visita /login
, por ejemplo:

Después de eso aparecerá el menú y ya no tendrás que andar escribiendo las rutas.
Por cierto, recuerda que el sistema ya incluye un usuario con las credenciales admin@gmail.com
y 123
si no te gusta, puedes eliminarlo, pero funciona para acceder por primera vez.
Vídeo de YouTube
Si todavía te quedan dudas, puedes ver un vídeo de YouTube que he grabado:
Conclusión
El código fuente está en GitHub, eres libre de mejorarlo y hacer un pull request.
hola como estas? podrias darme una mano, tengo todo instalado en xamp/httdoc, me dice esto:
Error: Ruta [ index.php ] no encontrada
tengo configurado asi el env.php
URL_RAIZ = “https://localhost/cotizaciones”
mi carpeta se llama cotizaciones, la hice igual q tu video.gracias espero puedas ayudarme
Creo que debe configurar el offset de las rutas como se indica en el vídeo, en los comentarios o en mi blog
Gracias por tu respuestas, una consulta: que tipo de md5 hace el cifrado del password ?
El algoritmo utilizado es bcrypt
Hola amigo, me sale el sgte error, porfavor ayudame:
Warning: require(C:\xampp\htdocs\sistema_pagos_php/vendor/autoload.php): failed to open stream: No such file or directory in …
Fatal error: require(): Failed opening required ‘C:\xampp\htdocs\sistema_pagos_php/vendor/autoload.php’ (include_path=’C:\xampp\php\PEAR’) in …
Hola, encontrarás las instrucciones aquí: https://parzibyte.me/blog/2019/07/01/sistema-web-pagos-cooperaciones-open-source-php/#Codigo_fuente_demostracion_y_descargas
Debes hacer un composer install. Saludos.