Como Instalar Nextcloud Con Nginx Y Lets Encrypt Ssl En Debian11

Nextcloud es una de las mejores soluciones de almacenamiento en la nube privada y open source que puedes instalar en tu propio servidor. En esta guía paso a paso te enseñaré cómo instalar Nextcloud en Debian 11, configurarlo con el servidor web Nginx y asegurar la conexión con un certificado SSL gratuito de Let’s Encrypt.
Requisitos Previos
Antes de comenzar, asegúrate de contar con:
- Un servidor con Debian 11 instalado.
- Acceso root o usuario con privilegios sudo.
- Un dominio apuntando a la IP pública del servidor.
- Puertos 80 (HTTP) y 443 (HTTPS) abiertos en el firewall.
Paso 1: Actualizar el sistema
Ejecuta la actualización de paquetes para tener todo al día:
sudo apt update && sudo apt upgrade -y
Paso 2: Instalar Nginx, PHP y dependencias
Nextcloud requiere PHP y un servidor web. Instalamos Nginx junto con PHP 8.1 y las extensiones necesarias:
sudo apt install nginx php8.1-fpm php8.1-cli php8.1-mysql php8.1-zip php8.1-curl php8.1-gd php8.1-mbstring php8.1-intl php8.1-bcmath php8.1-imagick php8.1-xml php8.1-mysql unzip wget mariadb-server -y
Paso 3: Configurar la base de datos MariaDB para Nextcloud
Accede a MariaDB para crear la base de datos y el usuario:
sudo mysql -u root -p
Dentro del prompt de MariaDB ejecuta:
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'tu_password_segura';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Paso 4: Descargar y preparar Nextcloud
Descarga la última versión de Nextcloud y descomprímela en /var/www/nextcloud
:
cd /tmp
wget https://download.nextcloud.com/server/releases/nextcloud-26.0.1.zip
unzip nextcloud-26.0.1.zip
sudo mv nextcloud /var/www/
sudo chown -R www-data:www-data /var/www/nextcloud
sudo chmod -R 755 /var/www/nextcloud
Paso 5: Configurar Nginx para Nextcloud
Crea un archivo de configuración para Nextcloud en Nginx:
sudo nano /etc/nginx/sites-available/nextcloud.conf
Pega la siguiente configuración (ajusta el dominio):
server {
listen 80;
server_name tu_dominio.com;
root /var/www/nextcloud/;
index index.php index.html /index.php$request_uri;
client_max_body_size 512M;
fastcgi_buffers 64 4K;
location / {
rewrite ^ /index.php$request_uri;
}
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
location ~ \.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Activa la configuración y reinicia Nginx:
sudo ln -s /etc/nginx/sites-available/nextcloud.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Paso 6: Instalar Certificado SSL con Let’s Encrypt
Instala Certbot y el plugin para Nginx:
sudo apt install certbot python3-certbot-nginx -y
Obtén el certificado SSL:
sudo certbot --nginx -d tu_dominio.com
Sigue las instrucciones para configurar HTTPS automático.
Paso 7: Finalizar instalación desde el navegador
Abre tu navegador y visita:
https://tu_dominio.com
Configura tu cuenta de administrador, la conexión a la base de datos con el usuario creado, y ¡listo! Ya tienes Nextcloud funcionando con Nginx y certificado SSL.
En Vesko.es exploramos las curiosidades más increíbles del mundo: Como Instalar Nextcloud Con Nginx Y Lets Encrypt Ssl En Debian11. También ciencia, historia, tecnología, cultura, fenómenos inexplicables y datos que te dejarán con la boca abierta. Si te apasiona aprender cosas nuevas cada día, ¡este blog es para ti!