You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+11-14Lines changed: 11 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@
14
14
15
15
## 🧠 Overview
16
16
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.
18
18
19
19
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.
20
20
@@ -23,10 +23,10 @@ El proyecto sigue una estrategia **DevSecOps** centrada en la automatización de
23
23
## ⚙️ Features
24
24
25
25
-**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.
30
30
-**Documentación técnica detallada** — Guías completas en la carpeta `docs/` que cubren desde la arquitectura hasta el mantenimiento del sistema.
31
31
-**Documentación técnica separada** — Carpeta `docs/` con documentación detallada del proceso de despliegue, independiente del código fuente.
32
32
@@ -38,7 +38,7 @@ El proyecto sigue una estrategia **DevSecOps** centrada en la automatización de
38
38
|---|---|
39
39
| Sistema Operativo | Ubuntu 20.04 LTS o superior |
# Paso 2 — Desplegar y vincular Nextcloud con la base de datos
@@ -108,17 +108,14 @@ Seleccionar opción [4]
108
108
**Verificación manual post-instalación:**
109
109
110
110
```bash
111
-
# Estado de Nginx
112
-
sudo systemctl status nginx
111
+
# Estado de Apache2
112
+
sudo systemctl status apache2
113
113
114
114
# Estado de MySQL/MariaDB
115
115
sudo systemctl status mysql
116
116
117
-
# Estado de PHP-FPM
118
-
sudo systemctl status php*-fpm
119
-
120
117
# Acceder a Nextcloud desde el navegador
121
-
http://<IP_DEL_SERVIDOR>/nextcloud
118
+
http://<IP_DEL_SERVIDOR>/
122
119
```
123
120
124
121
---
@@ -154,7 +151,7 @@ Este proyecto despliega una plataforma de colaboración privada. Se consideran l
154
151
155
152
-**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.
156
153
-**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.
158
155
-**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`).
159
156
-**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.
160
157
-**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