84 lines
3.9 KiB
Markdown
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).
|
|
|