Guía de instalación
Tres formas de arrancar la herramienta según el entorno disponible. Elige la que mejor encaje con tu situación.
Docker Recomendado
Un único comando levanta PHP 8.3 + Apache preconfigurado. No requiere instalar nada más allá de Docker.
Prerequisitos
-
✓
Docker Desktop — Mac / Windows: docker.com/products/docker-desktop — Linux:
apt install docker.io docker-compose-plugin -
✓
Make — Mac: ya incluido con Xcode Command Line Tools (
xcode-select --install) — Linux:apt install make— Windows: disponible en Git for Windows o WSL2
Pasos
-
Descarga o clona el proyecto y accede a la carpeta:
Terminalcd project-onetoone -
Lanza la instalación completa:
Terminalmake installEste comando construye la imagen Docker con PHP 8.3 + Apache, configura el VirtualHost apuntando a
public/y arranca el contenedor en segundo plano. -
Abre el navegador:
Accesohttp://localhost:8080
Otros comandos disponibles
| Comando | Acción |
|---|---|
make stop | Detiene el contenedor (conserva los datos) |
make restart | Detiene y vuelve a arrancar |
make logs | Muestra los logs en tiempo real |
make bash | Abre una shell dentro del contenedor |
make test | Ejecuta los tests unitarios con PHPUnit |
PHP servidor integrado
PHP incluye un servidor web de desarrollo. Sin Apache, sin Docker, sin base de datos. Ideal para revisión rápida en local.
Prerequisitos
-
✓
PHP 8.3 o superior — Mac:
brew install php— Linux:apt install php8.3— Windows: windows.php.net/download
Pasos — con ZIP (sin Composer)
-
Descomprime el ZIP y accede a la carpeta:
Terminalunzip project-onetoone.zip cd project-onetoone -
Arranca el servidor integrado de PHP apuntando a
public/:Terminalphp -S localhost:8080 -t public/ -
Abre el navegador:
Accesohttp://localhost:8080
Pasos — desde repositorio (con Composer)
-
Instala Composer si no lo tienes: getcomposer.org/download
-
Instala las dependencias PHP (solo PHPUnit para tests, sin nada en producción):
Terminalcomposer install -
Arranca el servidor:
Terminalphp -S localhost:8080 -t public/ -
Acceso
http://localhost:8080
Apache en servidor (sin puerto especial)
Para desplegar en un servidor Debian/Ubuntu con Apache ya instalado. El acceso es por dominio o IP directamente, sin especificar puerto.
Prerequisitos
-
✓
Servidor Debian / Ubuntu (o compatible)
-
✓
Apache2 + PHP 8.3 Se instala en el paso 1.
-
✓
Composer Se instala en el paso 3.
Pasos
-
Instala Apache y PHP:
Terminal — como root o con sudoapt update apt install php8.3 php8.3-cli libapache2-mod-php8.3 apache2 a2enmod rewrite systemctl restart apache2 -
Copia el proyecto al servidor:
Terminalcp -r project-onetoone /var/www/onetoone -
Instala Composer y las dependencias del proyecto:
Terminalcd /var/www/onetoone curl -sS https://getcomposer.org/installer | php php composer.phar install --no-dev--no-devexcluye PHPUnit y otras herramientas de desarrollo. Solo se instala lo necesario para producción. -
Crea el VirtualHost de Apache:
/etc/apache2/sites-available/onetoone.conf<VirtualHost *:80> ServerName tudominio.com DocumentRoot /var/www/onetoone/public <Directory /var/www/onetoone/public> AllowOverride All Require all granted </Directory> </VirtualHost>El
DocumentRootapunta apublic/, no a la raíz del proyecto. Esto mantienesrc/,data/yvendor/fuera del alcance del servidor web. -
Activa el sitio y aplica permisos:
Terminala2ensite onetoone.conf systemctl reload apache2 chown -R www-data:www-data /var/www/onetoone -
Accede desde el navegador sin especificar puerto:
Accesohttp://tudominio.como bienhttp://IP-del-servidor
Comandos Make — referencia completa
| Comando | Descripción | Requiere Docker |
|---|---|---|
make install |
Construye la imagen y arranca el contenedor. Primera instalación. | sí |
make start |
Arranca el contenedor si ya estaba construido previamente. | sí |
make stop |
Detiene el contenedor sin eliminarlo. | sí |
make down |
Detiene y elimina el contenedor. | sí |
make restart |
Equivale a make down && make start. | sí |
make logs |
Muestra el log de Apache en tiempo real (Ctrl+C para salir). | sí |
make bash |
Abre una shell interactiva dentro del contenedor. | sí |
make ps |
Muestra el estado de los contenedores. | sí |
make test |
Ejecuta los 26 tests unitarios con PHPUnit (requiere PHP local). | no |
Estructura del proyecto
Solo public/ es accesible desde el navegador. El resto del código
está fuera del webroot por diseño.
project-onetoone/
├── public/ ← webroot (único directorio expuesto)
│ ├── index.php ← landing / página de inicio
│ ├── view.php ← vista de compañías
│ ├── users.php ← vista de asesores
│ ├── api.php ← API REST JSON
│ ├── api-docs.php ← documentación de la API
│ ├── docs/
│ │ └── instalacion.php ← esta página
│ ├── css/ ← hojas de estilo
│ └── js/ ← scripts de cliente
│
├── src/ ← código PHP (no expuesto)
│ ├── Controllers/
│ ├── Services/
│ ├── Repositories/
│ ├── Helpers/
│ └── Views/partials/
│
├── data/ ← datos estáticos (simulan la BD)
├── tests/ ← tests unitarios PHPUnit
├── vendor/ ← dependencias Composer
├── docker/ ← configuración de Apache para Docker
├── docker-compose.yml
├── Makefile
└── composer.json