Cómo instalar el servidor EteSync en Ubuntu 20.04 LTS

En este tutorial, le mostraremos cómo instalar EteSync Server en Ubuntu 20.04 LTS. Para aquellos de ustedes que no lo sabían, EteSync es una solución de cifrado de código abierto de extremo a extremo para sincronizar sus calendarios, contactos, tareas y notas. Se puede acceder a él a través de clientes de escritorio, web, Android e iOS.

Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que está ejecutando en la cuenta de root, de lo contrario, es posible que deba agregar ‘sudo‘a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso del servidor EteSync en Ubuntu 20.04 (Focal Fossa). Puede seguir las mismas instrucciones para Ubuntu 18.04, 16.04 y cualquier otra distribución basada en Debian como Linux Mint.

Instale el servidor EteSync en Ubuntu 20.04 LTS Focal Fossa

Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando lo siguiente apt comandos en la terminal.

sudo actualización apta
sudo actualización apta
sudo apto instalar python3-virtualenv python3-pip gcc build-essential libmysqlclient-dev

Paso 2. Instalar MariaDB.

Ejecute el siguiente comando para agregar la clave GPG y el repositorio MariaDB con el siguiente comando:

apt-key adv –recv-keys –keyserver hkp: //keyserver.ubuntu.com: 80 0xF1656F24C74CD1D8 add-apt-repository ‘deb [arch=amd64,arm64,ppc64el] https://mirror.lstn.net/mariadb/repo/10.5/ubuntu focal main ‘

A continuación, instale MariaDB en su sistema:

sudo apto instalar mariadb-server

De forma predeterminada, MariaDB no está reforzado. Puede proteger MariaDB usando el mysql_secure_installation texto. debe leer y debajo de cada paso cuidadosamente, lo que establecerá una contraseña de root, eliminará usuarios anónimos, no permitirá el inicio de sesión de root remoto y eliminará la base de datos de prueba y el acceso a MariaDB segura:

mysql_secure_installation

Configúrelo así:

– ¿Establecer contraseña de root? [Y/n] y – ¿Eliminar usuarios anónimos? [Y/n] y – ¿Deshabilitar el inicio de sesión de root de forma remota? [Y/n] y – ¿Eliminar la base de datos de prueba y acceder a ella? [Y/n] y – ¿Recargar tablas de privilegios ahora? [Y/n] y

A continuación, necesitaremos iniciar sesión en la consola MariaDB y crear una base de datos para EteSync. Ejecute el siguiente comando:

mysql -u root -p

Esto le pedirá una contraseña, así que ingrese su contraseña de root MariaDB y presione Enter. Una vez que haya iniciado sesión en su servidor de base de datos, debe crear una base de datos para la instalación de EteSync:

MariaDB [(none)]> crear la base de datos etesyncdb; MariaDB [(none)]> crear usuario [email protected] identificado por ‘your-strong-passwd’; MariaDB [(none)]> conceda todos los privilegios en etesyncdb. * a [email protected]; MariaDB [(none)]> privilegios de descarga; MariaDB [(none)]> salir;

Paso 3. Instalar el servidor EteSync en Ubuntu 20.04.

Ahora descargamos la última versión de EteSync desde GitHub:

clon de git https://github.com/etesync/server.git etebase

A continuación, cambie el directorio y cree un Python virtual:

cd etebase virtualenv -p python3 .venv fuente .venv / bin / activar pip install -r requirements.txt

Después de eso, copie el archivo de configuración de muestra y edite la configuración:

cp etebase-server.ini.example etebase-server.ini nano etebase-server.ini

Cambie las siguientes líneas:

media_root = / mnt allowed_host1 = etesync.your-domain.com; engine = django.db.backends.sqlite3; name = db.sqlite3 engine = django.db.backends.mysql name = etebase user = etebase password = your-strong- contraseña host = 127.0.0.1 puerto = 3306

Save y close el archivo y luego instale otros módulos usando el siguiente comando a continuación:

pip3 instalar daphne mysqlclient aioredis

A continuación, genere los archivos estáticos y migre la base de datos con el siguiente comando:

./manage.py collectstatic ./manage.py migrate

Luego, inicie el servidor EteSync con el siguiente comando:

daphne -b 0.0.0.0 -p 8001 etebase_server.asgi: aplicación

Paso 4. Cree un archivo de servicio Systemd para EteSync.

Ahora crea un systemd archivo de unidad de servicio para EteSync con el siguiente comando:

nano /etc/systemd/system/etebase.service

Agrega las siguientes líneas:

[Unit]

Descripción = EteSync: cifrado de extremo a extremo para sincronizar calendario, contactos, tareas y notas.

[Service]
WorkingDirectory = / root / etebase / ExecStart = / root / etebase / .venv / bin / daphne -b 127.0.0.1 -p 8001 -u /tmp/etebase_server.sock etebase_server.asgi: usuario de la aplicación = root Group = root Reiniciar = siempre RestartSec = 5 s

[Install]
WantedBy = multi-user.target

Save y close el archivo, luego vuelva a cargar el systemd demonio con el siguiente comando:

sudo systemctl daemon-reload
sudo systemctl start etebase
sudo systemctl habilitar etebase

Paso 5. Configure Nginx.

Ahora instalamos Nginx usando el siguiente comando a continuación:

sudo apto instalar nginx

A continuación, cree un archivo de configuración de host virtual Nginx con el siguiente comando:

nano /etc/nginx/conf.d/etebase.conf

Agrega las siguientes líneas:

upstream etebase {servidor unix: /tmp/etebase_server.sock; } servidor {escuchar 80; nombre_servidor etesync.your-domain.com; juego de caracteres utf-8; access_log /var/log/nginx/etebase.access; error_log /var/log/nginx/etebase.error; # tamaño máximo de carga client_max_body_size 64M; ubicación / static / {alias / root / etebase / static /; } ubicación / {proxy_pass https: // etebase; proxy_http_version 1.1; proxy_set_header Actualización $ http_upgrade; proxy_set_header Conexión “actualización”; proxy_redirect of / f; proxy_set_header Host $ host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Fordered-For $ proxy_add_x_fordered_for; proxy_set_header X-Fordered-Host $ nombre_servidor; }}

Save y close el archivo, luego reinicie el servicio Nginx para aplicar los cambios de configuración:

sudo systemctl reiniciar nginx

Paso 6. Cree cuentas de usuario.

Primero, cambiamos el directorio a etebase y activamos el entorno virtual si no está activado:

cd fuente etebase .venv / bin / activar

Luego, crea un superusuario con el siguiente comando:

./manage.py crea superusuario

Proporcione su nombre de usuario, contraseña y correo electrónico como se muestra a continuación:

Nombre de usuario: admin
Dirección de correo electrónico: [email protected]
Contraseña: Contraseña (nuevamente): Superusuario creado correctamente.

Paso 7. Acceda a la interfaz web del servidor EteSync.

Una vez instalado correctamente, abra su navegador web y acceda a su interfaz web EteSync usando la URL https://etesync.your-domain.com/admin. Debería ver la siguiente página:

¡Felicidades! Ha instalado correctamente EteSync. Gracias por usar este tutorial para instalar EteSync Server en el sistema Ubuntu 20.04 LTS Focal Fossa. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de EteSync.