Skip to content

Commit d7f60e5

Browse files
committed
Articulos
1 parent 34a9d21 commit d7f60e5

4 files changed

Lines changed: 543 additions & 0 deletions

File tree

Lines changed: 279 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,279 @@
1+
---
2+
title: Nextcloud en Ubuntu Server
3+
description: "Aprende a asignar una IP privada fija en Linux de manera fácil y segura."
4+
date: 2025-12-14
5+
lang: es
6+
categories: [Linux, Servidores, Redes]
7+
tags: [ip-privada-fija]
8+
author: "Alejandro Alfaro Sánchez"
9+
---
10+
11+
Configurar una IP privada fija en Linux permite que tu servidor o equipo tenga siempre la misma dirección en la red local, facilitando el acceso remoto, la gestión de servicios y la asignación de reglas en routers o firewalls.
12+
13+
## 1. Instalar NGINX
14+
15+
En este caso usaremos el servidor web [NGINX](https://nginx.org/)
16+
17+
```bash
18+
sudo apt update && sudo apt upgrade -y
19+
```
20+
21+
```bash
22+
sudo apt install nginx -y
23+
```
24+
25+
## 2. Descargar Nextcloud y descomprimir
26+
27+
Primero, dirígete al directorio `/tmp` para descargar los archivos de instalación de Nextcloud:
28+
29+
```bash
30+
cd /tmp
31+
```
32+
33+
Una ven en el directorio descarga la [ultima versión](https://nextcloud.com/install/#custom-heading-download-server)
34+
35+
```bash
36+
curl --output nextcloud-latest.zip https://download.nextcloud.com/server/releases/latest.zip
37+
```
38+
39+
Extrae el archivo, mueve la carpeta a `/var/www/nombre_dominio` (que actúa como directorio raíz), elimina el `.zip` y establece los permisos de los archivos.
40+
41+
```bash
42+
unzip nextcloud-latest.zip && sudo mv nextcloud /var/www/nombre_dominio && sudo rm -rf nextcloud-latest.zip && sudo chown -R www-data:www-data /var/www/nombre_dominio
43+
```
44+
45+
> Buenas practicas:<br>
46+
Una buena práctica es nombrar el directorio raíz donde se alojará una página web o aplicación web con el mismo nombre que el dominio correspondiente.
47+
{: .prompt-info }
48+
49+
## 3. Instalar y Configurar MariaDB
50+
51+
En este caso usaremos la base de datos [MariaDB](https://mariadb.org/)
52+
53+
```bash
54+
sudo apt install -y mariadb-server mariadb-client
55+
```
56+
57+
### 3.1 Iniciar y habilitar el servicio
58+
59+
```bash
60+
sudo systemctl enable mariadb
61+
sudo systemctl start mariadb
62+
```
63+
64+
### 3.2 Asegurar la instalación
65+
66+
```bash
67+
sudo mysql_secure_installation
68+
```
69+
70+
Pasos importantes:
71+
72+
* Configurar contraseña de root
73+
* Activar Switch Unix Socket -> **`[Y]`**
74+
* Cambiar la contraseña de root -> **`[N]`**
75+
* Eliminar usuarios anónimos -> **`[Y]`**
76+
* Prohibir que root se conecte desde cualquier IP -> **`[Y]`**
77+
* Eliminar BD de prueba -> **`[Y]`**
78+
* Aplicar cambios -> **`[Y]`**
79+
80+
### 3.3 Crear la BD
81+
82+
Inicia sesión como usuario root en la base de datos:
83+
84+
```bash
85+
sudo mysql -u root -p
86+
```
87+
88+
Crea la BD de Nextcloud:
89+
90+
```sql
91+
CREATE DATABASE nombre_bd;
92+
```
93+
94+
Crea un usuario para que administre la BD:
95+
96+
```sql
97+
CREATE USER 'nombre_usuario'@'localhost' identified BY 'contrasena_usuario';
98+
```
99+
100+
Otorga todos los permisos de la base de datos al usuario:
101+
102+
```sql
103+
GRANT ALL PRIVILEGES ON nombre_bd.* TO 'nombre_usuario'@'localhost';
104+
```
105+
106+
Actualiza los permisos:
107+
108+
```sql
109+
FLUSH PRIVILEGES;
110+
```
111+
112+
Sal de la consola:
113+
114+
```sql
115+
EXIT;
116+
```
117+
118+
## 4. Instalar y Configurar PHP
119+
120+
Nextcloud requiere PHP con ciertas extensiones y ajustes específicos para funcionar correctamente:
121+
122+
Ubuntu no siempre incluye PHP 8.4 (Versión de PHP que usaremos) en sus repositorios por defecto, así que usamos el PPA mantenido por [Ondřej Surý](https://github.com/oerdnj).
123+
124+
```bash
125+
sudo apt install -y software-properties-common ca-certificates lsb-release && sudo add-apt-repository ppa:ondrej/php && sudo apt update && sudo apt upgrade -y
126+
```
127+
128+
```bash
129+
sudo apt install -y \
130+
php8.4 php8.4-fpm php8.4-cli \
131+
php8.4-mysql php8.4-curl php8.4-gd php8.4-mbstring \
132+
php8.4-intl php8.4-xml php8.4-zip php8.4-bcmath php8.4-gmp \
133+
php8.4-opcache php8.4-imagick
134+
```
135+
136+
Editar el `php.ini` de PHP‑FPM (ajusta la versión si es diferente):
137+
138+
```bash
139+
sudo nano /etc/php/8.4/fpm/php.ini
140+
```
141+
142+
Modifica o añade los siguientes valores:
143+
144+
```ini
145+
memory_limit = 512M
146+
upload_max_filesize = 512M
147+
post_max_size = 512M
148+
max_execution_time = 360
149+
max_input_vars = 5000
150+
date.timezone = Europe/Madrid
151+
```
152+
153+
Después de cambiar configuraciones, reinicia PHP y NGINX
154+
155+
```bash
156+
sudo systemctl restart php8.4-fpm && sudo systemctl restart nginx
157+
```
158+
159+
Ver la versión y extensiones activas:
160+
161+
```basg
162+
php -v
163+
php -m
164+
```
165+
166+
## 5. Configurar NGINX
167+
168+
Antes de nada hay que configurar el cortafuegos para permitir las conexiones HTTP y HTTPS, en el caso de que tengas configurado un cortafuegos.
169+
170+
```bash
171+
sudo ufw allow 'Nginx Full'
172+
```
173+
174+
Una vez configurado debemos asegurarnos de que no exista ningún archivo de configuración que pueda interferir con la instalación:
175+
176+
```bash
177+
sudo rm /etc/nginx/sites-enabled/default
178+
```
179+
180+
Creamos el nuevo archivo de configuración:
181+
182+
```bash
183+
sudo nano /etc/nginx/sites-available/nombre_dominio.conf
184+
```
185+
186+
```nginx
187+
server {
188+
listen 80;
189+
server_name nombre_dominio ip_privada_fija;
190+
191+
root /var/www/nombre_dominio;
192+
index index.php index.html /index.php$request_uri;
193+
194+
client_max_body_size 512M;
195+
fastcgi_buffers 64 4K;
196+
197+
# Seguridad básica
198+
add_header X-Content-Type-Options nosniff;
199+
add_header X-XSS-Protection "1; mode=block";
200+
add_header X-Robots-Tag none;
201+
add_header X-Frame-Options "SAMEORIGIN";
202+
203+
# Redirigir todas las rutas a index.php (URLs amigables)
204+
location / {
205+
try_files $uri $uri/ /index.php$request_uri;
206+
}
207+
208+
# PHP-FPM
209+
location ~ \.php(?:$|/) {
210+
include snippets/fastcgi-php.conf;
211+
fastcgi_split_path_info ^(.+\.php)(/.*)$;
212+
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
213+
fastcgi_param PATH_INFO $fastcgi_path_info;
214+
fastcgi_pass unix:/run/php/php8.4-fpm.sock;
215+
}
216+
217+
# Bloquear archivos ocultos y sensibles
218+
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console|config|lib|3rdparty|templates|data)/ {
219+
deny all;
220+
}
221+
222+
# robots.txt
223+
location = /robots.txt {
224+
allow all;
225+
log_not_found off;
226+
access_log off;
227+
}
228+
229+
# Archivos estáticos (CSS, JS, imágenes, fuentes)
230+
location ~ \.(?:css|js|woff|svg|gif|png|jpg|jpeg)$ {
231+
try_files $uri /index.php$request_uri;
232+
}
233+
}
234+
```
235+
{: file='/etc/nginx/sites-available/nombre_dominio.conf'}
236+
237+
238+
Activar el sitio:
239+
240+
```bash
241+
sudo ln -s /etc/nginx/sites-available/nombre_dominio.conf /etc/nginx/sites-enabled/
242+
```
243+
244+
Verificar configuración:
245+
246+
```bash
247+
sudo nginx -t
248+
```
249+
250+
Salida esperada:
251+
252+
```conf
253+
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
254+
nginx: configuration file /etc/nginx/nginx.conf test is successful
255+
```
256+
{: file='command output'}
257+
258+
Reiniciar NGINX
259+
260+
```
261+
sudo systemctl reload nginx
262+
```
263+
264+
## 6. Instalar Nextcloud
265+
266+
Si todo se ha configurado correctamente, ahora podrás acceder al panel de Nextcloud desde tu navegador:
267+
268+
* Usando tu dominio: `http://nombre_dominio`
269+
* O, si estás en la misma red local que el servidor, usando la IP privada: `http://ip_privada_fija`
270+
271+
Al abrirlo, verás la pantalla de instalación de Nextcloud. Solo tendrás que completar los campos solicitados (usuario administrador, base de datos, etc.) y seguir los pasos indicados.
272+
273+
Una vez finalizada la instalación, tu Nextcloud estará totalmente operativo y listo para usar.
274+
275+
## 7. Recomendaciones extra
276+
277+
[Optimizar Nextcloud](https://alejandroalsa.es/posts/optimizar-nextcloud/)
278+
279+
[Solucionar Avisos de Seguridad y Configuración en Nextcloud](https://alejandroalsa.es/posts/solucionar-avisos-seguridad-configuracion-nextcloud/)
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
title: Passbolt en Ubuntu Server
3+
description: "Aprende a asignar una IP privada fija en Linux de manera fácil y segura."
4+
date: 2025-12-14
5+
lang: es
6+
categories: [Linux, Servidores, Redes]
7+
tags: [ip-privada-fija]
8+
author: "Alejandro Alfaro Sánchez"
9+
---
10+
11+
Configurar una IP privada fija en Linux permite que tu servidor o equipo tenga siempre la misma dirección en la red local, facilitando el acceso remoto, la gestión de servicios y la asignación de reglas en routers o firewalls.
12+
13+
## 1. Dependencias básicas
14+
15+
Como primer paso tendremos que añadir ciertas dependencias que son necesarias:
16+
17+
```bash
18+
sudo apt install -y curl gnupg2 ca-certificates lsb-release apt-transport-https
19+
```
20+
21+
Script de instalación de dependencias:
22+
23+
```bash
24+
curl -LO https://download.passbolt.com/ce/installer/passbolt-repo-setup.ce.sh
25+
```
26+
27+
SHA512SUM para el script de instalación:
28+
29+
```bash
30+
curl -LO https://github.com/passbolt/passbolt-dep-scripts/releases/latest/download/passbolt-ce-SHA512SUM.txt
31+
```
32+
33+
Asegurar el script y ejecutar:
34+
35+
```bash
36+
sha512sum -c passbolt-ce-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.ce.sh || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.ce.sh
37+
```
38+
39+
## 2. Instalar el paquete oficial de Passbolt
40+
41+
Primero, dirígete al directorio `/tmp` para descargar los archivos de instalación de Nextcloud:
42+
43+
```bash
44+
sudo apt install passbolt-ce-server -y
45+
```
46+
47+
Pasos importantes:
48+
49+
* Crear una base de datos -> **`[Y]`**
50+
* Nombre de usuario del administrador de MySQL -> `root`
51+
* Contraseña del usuario administrador de MySQL -> `tu_contrasena`
52+
* Nombre de usuario de la base de datos de Passbolt -> `passboltadmin` (Es recomendable cambiarlo)
53+
* Contraseña del usuario de la base de datos de Passbolt -> `tu_contrasena`
54+
* Repetir contraseña del usuario de la base de datos de Passbolt -> `tu_contrasena`
55+
* Nombre de la base de datos -> `nombre_bd`
56+
* Configurar el servidor NGINX -> **`[N]`** (Más adelante lo configuraremos nosotros)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
title: IP Privada Fija en Linux
3+
description: "Aprende a asignar una IP privada fija en Linux de manera fácil y segura."
4+
date: 2025-12-07
5+
lang: es
6+
categories: [Linux, Servidores, Redes]
7+
tags: [ip-privada-fija]
8+
author: "Alejandro Alfaro Sánchez"
9+
---
10+

0 commit comments

Comments
 (0)