Cómo crear su propio Office 365 autohospedado con Cryptpad

Cómo crear su propio Office 365 autohospedado con Cryptpad

Cryptpad es un programa de suite ofimática de código abierto que puede alojar en su servidor. Es similar a Office 365 que le permite acceder a una suite ofimática directamente desde el navegador. La principal diferencia es que Cryptpad se enfoca en la privacidad del usuario y le permite crear y compartir documentos sin el riesgo de filtrar información personal.

Este tutorial muestra cómo instalar Cryptpad en su servidor, cómo funciona Cryptpad y cómo puede crear su primera cuenta de usuario.

¿Qué es Cryptpad y por qué debería usarlo?

Cryptpad es una suite ofimática en línea que le brinda una alternativa orientada a la privacidad para la edición colaborativa de documentos. Similar a las suites en línea, como Office 365 y Google Docs, le permite crear y compartir documentos con otras personas a través de Internet.

Una sesión básica de Cryptpad Wordpad.

Una de las mayores ventajas de Cryptpad sobre Office 365 es que está totalmente encriptado de extremo a extremo. Solo usted y sus colaboradores pueden acceder al documento que está editando, lo que podría ser útil al compartir documentos que contienen información confidencial con otras personas.

Cryptpad también se destaca sobre Office 365 en el sentido de que puede alojarlo completamente en su propio hardware. Esto es especialmente útil si le preocupa almacenar su información en un proveedor externo.

¿Sabías que puedes compartir fácilmente un documento de Google Docs por correo electrónico?

Requisitos

Antes de poder instalar Cryptpad, debe asegurarse de tener listos los siguientes recursos:

  • Máquina a la que se puede acceder desde una red externa
  • Al menos 2 GB de RAM y 20 GB de almacenamiento
  • Nombre de dominio (y un nombre de subdominio) que apunta a la dirección IP de su servidor
Una ventana que muestra la información de la gota Digitalocean.

Instalación de Cryptopad

  • Instala las dependencias de Cryptpad:

sudo gpasswd -a www-data ramces
sudo apt install git nodejs npm nginx certbot python3-certbot-nginx

Una ventana de terminal que muestra las dependencias de Cryptpad.
  • Clona el código fuente del programa desde su repositorio:

git clone https://github.com/xwiki-labs/cryptpad.git cryptpad

Una ventana de terminal que muestra un clon de git.
  • Entra en el repositorio y cambia a la rama más reciente:

cd cryptpad
git checkout -b 5.2.1

Una ventana de terminal que muestra un interruptor de rama de git.
  • Úselo npmpara instalar Bower, un administrador de paquetes que ayuda a instalar algunas de las bibliotecas que necesita Cryptpad.

sudo npm install -g bower

Una ventana de terminal que muestra el proceso de instalación de Bower.
  • Instale el binario Cryptpad ejecutando ambos npmy bowerdentro del repositorio.

npm install
bower install

Una ventana de terminal que muestra el proceso de instalación de Cryptpad.

Configuración del certificado SSL

Una vez que Cryptpad esté en su máquina, puede ejecutar Certbot para crear el certificado para su instancia:

sudo certbot certonly --standalone

Aparecerá un mensaje que le pedirá su dirección de correo electrónico.

Una ventana de terminal que muestra a certbot solicitando una dirección de correo electrónico.

La utilidad Certbot le pedirá los dominios que desea vincular a su certificado. Introduzca tanto la raíz como el subdominio.

Una sección de una ventana de terminal que muestra a certbot solicitando los nombres de dominio.

Cree un archivo de parámetros Diffie-Hellman para su instancia. Esta es una medida de seguridad que los desarrolladores requieren para garantizar que su instancia sea segura.

sudo openssl dhparam -out /etc/nginx/dhparam.pem 4096

Configuración de Nginx

Para configurar Nginx para servir Cryptpad a su dominio, puede utilizar el archivo de configuración de ejemplo proporcionado por los desarrolladores.

sudo cp /home/$USER/cryptpad/docs/example.nginx.conf /etc/nginx/conf.d/cryptpad.conf

Una ventana de terminal que muestra el comando de copia de plantilla.

Modifique su nuevo archivo de configuración con un editor de texto.

sudo nano /etc/nginx/conf.d/cryptpad.conf

Cambie algunas variables para que este archivo funcione. Primero, comenta la include letsencrypt-webroot;línea.

Una sección de una ventana de terminal que muestra la línea webroot deshabilitada.

A continuación, modifique las variables $main_domainy . $sandbox_domainEl primero debe contener su dominio raíz, mientras que el segundo debe contener su subdominio.

Una sección de una ventana de terminal que muestra las variables de dominio.

También modifique $api_domainy $files_domain. A diferencia de los anteriores, solo necesita cambiarlos al dominio raíz de su máquina.

Una sección de una ventana de terminal que muestra otro conjunto de variables de dominio.

Cambie la server_namevariable a su raíz y subdominio.

Una sección de una ventana de terminal que muestra la variable de nombre del servidor.

Cambie ssl_certificatey ssl_certificate_keya la ubicación de su certificado SSL.

Una sección de una ventana de terminal que muestra las variables de ruta SSL.

Por último, reemplace el valor de la rootvariable con la ubicación de su repositorio Cryptpad.

Una sección de una ventana de terminal que muestra la variable raíz de la instancia.

Configuración de Cryptpad

Utilice el archivo de configuración de ejemplo proporcionado por los desarrolladores ejecutando:

cp /home/$USER/cryptpad/config/config.example.js /home/$USER/cryptpad/config/config.js

Ábralo con un editor de texto y cambie la httpUnsafeOrigin:variable a su dominio raíz.

Una sección de una ventana de terminal que muestra el dominio raíz.

Cambie la httpSafeOrigin:variable a su subdominio.

Una sección de una ventana de terminal que muestra el subdominio.

Agregue la siguiente línea de código inmediatamente después de la httpSafeOrigin:variable.

adminEmail: 'working_email@address.here',

Una sección de una ventana de terminal que muestra el correo electrónico del administrador.

Creación del servicio SystemD

También es posible vincular Cryptpad a un servicio SystemD para permitirle iniciarlo durante el inicio del sistema ejecutando lo siguiente:

nano /home/$USER/cryptpad/docs/cryptpad.service

El bloque de código a continuación es una versión que he modificado para que funcione con mi máquina.

[Unit]Description=Cryptpad Service

# Replace the username values with your own username.

[Service]ExecStart=/bin/node /home/ramces/cryptpad/server.js
WorkingDirectory=/home/ramces/cryptpad

Restart=always
RestartSec=2

StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=ramces
User=ramces
Group=ramces
Environment='PWD="/home/ramces/cryptpad"'LimitNOFILE=1000000

[Install]WantedBy=multi-user.target

Una ventana de terminal que muestra una plantilla de servicio systemd.

Guarde y salga de este archivo, luego cópielo en la carpeta de servicio de SystemD:

sudo cp /home/$USER/cryptpad/docs/cryptpad.service /etc/systemd/system/cryptpad.service

Vuelva a cargar SystemD para habilitar su archivo de servicio:

sudo systemctl daemon-reload
sudo systemctl enable cryptpad
sudo systemctl start cryptpad
sudo systemctl reload nginx

Ejecutando el criptógrafo

Si todo se hace correctamente, debería poder acceder a Cryptpad a través de su dominio raíz.

Una ventana que muestra una instalación de cryptpad en funcionamiento.

Crear su cuenta de administrador en Cryptpad

Si bien puede usar Cryptpad sin una cuenta, es una buena práctica crear un usuario administrador que le permita administrar su instancia a través de su interfaz web.

  • Presione «Registrarse» en la página de inicio de Cryptpad.
Instalar Cryptpad Linux 32 Botón de registro Enlace
  • Ingrese su nombre de usuario y contraseña para crear una nueva cuenta.
Una página que muestra el proceso básico de creación de usuarios.
  • Una vez que haya iniciado sesión, haga clic en el botón «Menú de usuario» en la esquina superior derecha de la página.
Una página que muestra la interfaz básica de Cryptpad.
  • Haz clic en «Configuración».
Una sección de una página que muestra el menú de usuario de Cryptpad.
  • Copie el contenido del cuadro de texto «Clave de firma pública».
Una sección de una página que muestra la clave pública de mi cuenta de usuario.
  • Vuelva a la carpeta de su repositorio y abra su archivo de configuración:

nano /home/$USER/cryptpad/config/config.js

Busque la adminKeys:variable y pegue su clave de firma entre los corchetes:

Instale la clave de administrador del archivo de configuración de Cryptpad Linux 37
  • Vuelva a cargar su instancia de Cryptpad a través de SystemD:

sudo systemctl restart cryptpad

Una página que muestra la pantalla de administración básica de Cryptpad.

Preguntas frecuentes

¿Por qué aparece una página en blanco cuando intento conectarme a Cryptpad?

Lo más probable es que este problema se deba a que el registro DNS de su máquina aún no se propaga a través de los principales servidores DNS. Puede solucionar esto reduciendo el valor TTL en la página de registro DNS de su dominio a 3600.

¿Cómo actualizo Cryptpad después de haberlo instalado?

Puede actualizar Cryptpad yendo a su repositorio y ejecutando git pull. Esto descargará todos los archivos fuente más recientes para Cryptpad. Después de eso, también debe ejecutar npm update && bower updatepara actualizar sus archivos binarios.

Crédito de la imagen: Unsplash . Todas las alteraciones y capturas de pantalla por Ramces Red.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *