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 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
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
- Clona el código fuente del programa desde su repositorio:
git clone https://github.com/xwiki-labs/cryptpad.git cryptpad
- Entra en el repositorio y cambia a la rama más reciente:
cd cryptpad
git checkout -b 5.2.1
- Úselo
npm
para instalar Bower, un administrador de paquetes que ayuda a instalar algunas de las bibliotecas que necesita Cryptpad.
sudo npm install -g bower
- Instale el binario Cryptpad ejecutando ambos
npm
ybower
dentro del repositorio.
npm install
bower install
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.
La utilidad Certbot le pedirá los dominios que desea vincular a su certificado. Introduzca tanto la raíz como el subdominio.
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
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.
A continuación, modifique las variables $main_domain
y . $sandbox_domain
El primero debe contener su dominio raíz, mientras que el segundo debe contener su subdominio.
También modifique $api_domain
y $files_domain
. A diferencia de los anteriores, solo necesita cambiarlos al dominio raíz de su máquina.
Cambie la server_name
variable a su raíz y subdominio.
Cambie ssl_certificate
y ssl_certificate_key
a la ubicación de su certificado SSL.
Por último, reemplace el valor de la root
variable con la ubicación de su repositorio Cryptpad.
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.
Cambie la httpSafeOrigin:
variable a su subdominio.
Agregue la siguiente línea de código inmediatamente después de la httpSafeOrigin:
variable.
adminEmail: 'working_email@address.here',
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
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.
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.
- Ingrese su nombre de usuario y contraseña para crear una nueva cuenta.
- 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.
- Haz clic en «Configuración».
- Copie el contenido del cuadro de texto «Clave de firma pública».
- 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:
- Vuelva a cargar su instancia de Cryptpad a través de SystemD:
sudo systemctl restart 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 update
para actualizar sus archivos binarios.
Crédito de la imagen: Unsplash . Todas las alteraciones y capturas de pantalla por Ramces Red.
Deja una respuesta