3.9 KiB
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
-
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- 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 - Si no existe servicio ssh (suele ocurrir cuando es un contendor LXC, LXD o incus)
Es importante conectarse mediante SSH a la maquina con el usuario y no en modo super usuario (root).
nala install openssh-server
- Si en la maquina se esta trabajando como super usuario (root), se debe de generar un usuario no privilegiado con acceso limitado a root.
-
Instalar el stack LEPP (Linux, Nginx, PostgreSQL y PHP)
sudo nala install php-fpm nginx postgresql -
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} -
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; \qCambia el "username" y "password" por alguno de tu preferencia, también puedes cambiar el nombre de la base de datos.
-
Descargar, extraer y asignar permisos de los archivos base de Nextcloud
# Si no tienes unzip sudo nala install unzip- Se tiene que revisar el changelog para obtener la ultima versión Changelog Nextcloud
# Generalmente se utiliza wget sudo nala install wget wget https://download.nextcloud.com/server/releases/nextcloud-32.0.5.zip - Extraer los datos
unzip nextcloud-32.0.5.zip - Asignarle permisos correspondientes
sudo chown -R www-data:www-data nextcloud
- Se tiene que revisar el changelog para obtener la ultima versión Changelog Nextcloud
-
Mover el directorio a /var/www
sudo mv nextcloud /var/www
- Configurar Nginx
- La Documentación Oficial 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'
- Certificados autofirmados Seguir las instrucciones de Digital Ocean. Hasta Debian 13 (Trixie) funciona tal y como lo expresan las instrucciones.
- 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.
- Tradicional Se deben seguir las instrucciones de Cerbot.
- La Documentación Oficial 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'