Files
Servidor-Manuales/Nextcloud/Instlacion.md
T
2026-01-25 19:01:58 -06:00

84 lines
3.9 KiB
Markdown

Esta guía esta pensada para usarse con un servidor (equipo) con Debian Stable, es importante tomar en cuenta temas de seguridad, gestión de certificados y respaldo.
> [!NOTE]
> Es impo
1. Instalar una interfaz de gestor de paquetes de apt (Nala)
> [!TIP]
> Se recomienda usar esta inferfaz por sus beneficios al llevar un registro de instlación de paquetes y descargar multihilo.
```
sudo apt install nala
```
1. Si en la maquina se esta trabajando como super usuario (root), se debe de generar un usuario no privilegiado con acceso limitado a root.
```
nala install sudo
useradd -m -s /bin/bash/ nombre_usuario
# Asignarle una contraseña (debe de ser segura)
passwd nombre_usuario
usermod -aG sudo nombre_usuario
```
2. Si no existe servicio ssh (suele ocurrir cuando es un contendor LXC, LXD o incus)
```
nala install openssh-server
```
Es importante conectarse mediante SSH a la maquina con el usuario y no en modo super usuario (root).
2. Instalar el stack LEPP (Linux, Nginx, PostgreSQL y PHP)
```
sudo nala install php-fpm nginx postgresql
```
3. Instalar los paquetes necesario de PHP (podra variar entre versiones y de los servicios que se instalaran)
```
# Generalemte podemos consultar las extensiones que tenemos
# instaladas con
php -m
# Para instalar alguna extension se hace con
# sudo nala install php-nombre_de_la_extensión
# Para esta instalación minima instalaremos las isguientes extensiones
sudo nala install php-{apcu,bz2,curl,gd,gmp,igbinary,imagick,intl,mbstring,pgsql,pgsql,redis,xml,zip}
```
4. Generar base de datos
```
sudo -i -u postgres
psql
CREATE USER username WITH PASSWORD 'password' CREATEDB;
CREATE DATABASE nextcloud TEMPLATE template0 ENCODING 'UTF8';
ALTER DATABASE nextcloud OWNER TO username;
GRANT ALL PRIVILEGES ON DATABASE nextcloud TO username;
GRANT ALL PRIVILEGES ON SCHEMA public TO username;
\q
```
Cambia el "username" y "password" por alguno de tu preferencia, también puedes cambiar el nombre de la base de datos.
5. Descargar, extraer y asignar permisos de los archivos base de Nextcloud
```
# Si no tienes unzip
sudo nala install unzip
```
1. Se tiene que revisar el changelog para obtener la ultima versión [Changelog Nextcloud](https://nextcloud.com/changelog/)
```
# Generalmente se utiliza wget
sudo nala install wget
wget https://download.nextcloud.com/server/releases/nextcloud-32.0.5.zip
```
2. Extraer los datos
```
unzip nextcloud-32.0.5.zip
```
3. Asignarle permisos correspondientes
```
sudo chown -R www-data:www-data nextcloud
```
6. Mover el directorio a /var/www
```
sudo mv nextcloud /var/www
```
7. Configurar Nginx
1. La [Documentación Oficial](https://docs.nextcloud.com/server/stable/admin_manual/installation/nginx.html) nos indica la configuración oficial que debe de incluir certificados SSL para usar HTTPS, por ello, mostraremos la forma de generar certificados autofrimados, Let's Encrypt de modo tradicional o por 'Challenge DNS01'
1. Certificados autofirmados
Seguir las instrucciones de [Digital Ocean](https://docs.nextcloud.com/server/stable/admin_manual/installation/nginx.html). Hasta Debian 13 (Trixie) funciona tal y como lo expresan las instrucciones.
2. Let's Encrypt
Generalmente se utiliza si se va exponer los servicios a internet y requiere que se los puertos 80 y 443 esten abierto para que el servicio externo verifique que exista maquina que utilizara el dominio. En caso contrario, de no abrir puertos por estar detras de un CGNAT o sin poder abrir puertos por parte del ISP, se pueden obtener dichos certificados solo si se tiene un dominio a su nombre y administrado por Cloudflare.
1. Tradicional
Se deben seguir las instrucciones de [Cerbot](https://certbot.eff.org/instructions?ws=nginx&os=pip).