Skip to content

Commit eb95b08

Browse files
docs: align documentation with technical implementation (LAMP stack)
1 parent b52ce7a commit eb95b08

1 file changed

Lines changed: 11 additions & 14 deletions

File tree

README.md

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
## 🧠 Overview
1616

17-
Este proyecto es un **instalador automatizado de Nextcloud** para entornos Ubuntu, construido íntegramente en Bash. A partir del análisis de la estructura del repositorio y sus archivos clave, el script principal (`src/setup.sh`) orquesta el despliegue completo de un stack **LEMP** (Linux + Nginx + MySQL/MariaDB + PHP) y la configuración de Nextcloud sobre él, a través de un asistente interactivo por menú que guía al administrador en cada etapa del proceso.
17+
Este proyecto es un **instalador automatizado de Nextcloud** para entornos Ubuntu, construido íntegramente en Bash. A partir del análisis de la estructura del repositorio y sus archivos clave, el script principal (`src/setup.sh`) orquesta el despliegue completo de un stack **LAMP** (Linux + Apache + MySQL/MariaDB + PHP) y la configuración de Nextcloud sobre él, a través de un asistente interactivo por menú que guía al administrador en cada etapa del proceso.
1818

1919
El proyecto sigue una estrategia **DevSecOps** centrada en la automatización del despliegue y la seguridad de la infraestructura, garantizando que cada componente esté configurado siguiendo las mejores prácticas de la industria.
2020

@@ -23,10 +23,10 @@ El proyecto sigue una estrategia **DevSecOps** centrada en la automatización de
2323
## ⚙️ Features
2424

2525
- **Asistente interactivo por menú**`setup.sh` presenta un menú modular que permite ejecutar cada fase del despliegue de forma independiente o secuencial.
26-
- **Instalación del stack LEMP** — Automatiza la instalación y configuración de Nginx como servidor web, MySQL/MariaDB como base de datos y PHP con las extensiones requeridas por Nextcloud.
27-
- **Despliegue de Nextcloud** — Descarga, descomprime y enlaza Nextcloud al directorio web de Nginx, configurando la base de datos y los parámetros de red del servidor.
28-
- **Hardening de seguridad** — Aplica endurecimiento de permisos en directorios críticos de Nextcloud (`/var/www/nextcloud/`) para cumplir con las recomendaciones de seguridad oficiales.
29-
- **Diagnóstico del sistema** — Opción de verificación de estado que reporta el estado de los servicios activos (Nginx, MySQL, PHP-FPM) y recursos del sistema.
26+
- **Instalación del stack LAMP** — Automatiza la instalación y configuración de Apache2 como servidor web, MySQL/MariaDB como base de datos y PHP con las extensiones requeridas por Nextcloud.
27+
- **Despliegue de Nextcloud** — Descarga, descomprime y enlaza Nextcloud al directorio web de Apache, configurando la base de datos y los parámetros de red del servidor.
28+
- **Hardening de seguridad** — Aplica endurecimiento de permisos en directorios críticos de Nextcloud (`/var/www/html/nextcloud/`) para cumplir con las recomendaciones de seguridad oficiales.
29+
- **Diagnóstico del sistema** — Opción de verificación de estado que reporta el estado de los servicios activos (Apache2, MySQL, PHP) y recursos del sistema.
3030
- **Documentación técnica detallada** — Guías completas en la carpeta `docs/` que cubren desde la arquitectura hasta el mantenimiento del sistema.
3131
- **Documentación técnica separada** — Carpeta `docs/` con documentación detallada del proceso de despliegue, independiente del código fuente.
3232

@@ -38,7 +38,7 @@ El proyecto sigue una estrategia **DevSecOps** centrada en la automatización de
3838
|---|---|
3939
| Sistema Operativo | Ubuntu 20.04 LTS o superior |
4040
| Lenguaje de scripting | Bash / Shell |
41-
| Servidor web | Nginx |
41+
| Servidor web | Apache2 |
4242
| Base de datos | MySQL / MariaDB |
4343
| Lenguaje backend | PHP (con extensiones Nextcloud) |
4444
| Aplicación desplegada | Nextcloud (plataforma self-hosted) |
@@ -92,7 +92,7 @@ Al ejecutar `sudo ./src/setup.sh`, se presenta un menú interactivo con las sigu
9292
**Flujo recomendado de ejecución:**
9393

9494
```bash
95-
# Paso 1 — Instalar el stack LEMP (Nginx, MySQL, PHP)
95+
# Paso 1 — Instalar el stack LAMP (Apache, MySQL, PHP)
9696
Seleccionar opción [1]
9797

9898
# Paso 2 — Desplegar y vincular Nextcloud con la base de datos
@@ -108,17 +108,14 @@ Seleccionar opción [4]
108108
**Verificación manual post-instalación:**
109109

110110
```bash
111-
# Estado de Nginx
112-
sudo systemctl status nginx
111+
# Estado de Apache2
112+
sudo systemctl status apache2
113113

114114
# Estado de MySQL/MariaDB
115115
sudo systemctl status mysql
116116

117-
# Estado de PHP-FPM
118-
sudo systemctl status php*-fpm
119-
120117
# Acceder a Nextcloud desde el navegador
121-
http://<IP_DEL_SERVIDOR>/nextcloud
118+
http://<IP_DEL_SERVIDOR>/
122119
```
123120

124121
---
@@ -154,7 +151,7 @@ Este proyecto despliega una plataforma de colaboración privada. Se consideran l
154151

155152
- **Hardening de permisos** — El script aplica restricciones de propiedad y permisos sobre los directorios de Nextcloud (`www-data`, `750/640`) para limitar la exposición de archivos sensibles.
156153
- **Separación de credenciales** — Las configuraciones reales de base de datos y parámetros de red son filtradas por el pipeline de sanitización antes de la publicación pública; nunca deben commitearse credenciales reales.
157-
- **Nginx como proxy seguro** — Se recomienda configurar HTTPS con certificado SSL/TLS (Let's Encrypt o autofirmado) sobre Nginx antes de exponer Nextcloud a redes públicas.
154+
- **Apache como servidor seguro** — Se recomienda configurar HTTPS con certificado SSL/TLS (Let's Encrypt o autofirmado) sobre Apache antes de exponer Nextcloud a redes públicas.
158155
- **PHP hardening** — Verificar que `php.ini` tenga deshabilitadas directivas como `expose_php`, `display_errors` y configurados límites de subida adecuados (`upload_max_filesize`, `post_max_size`).
159156
- **MySQL/MariaDB** — Ejecutar `mysql_secure_installation` tras la instalación para eliminar usuarios anónimos, deshabilitar el acceso root remoto y eliminar bases de datos de prueba.
160157
- **Firewall** — Se recomienda configurar `ufw` para permitir únicamente los puertos necesarios (80, 443) y bloquear accesos directos al puerto de base de datos (3306).

0 commit comments

Comments
 (0)