Как установить сервер EteSync на Ubuntu 20.04 LTS

Как установить сервер EteSync на Ubuntu 20.04 LTS

Как установить сервер EteSync на Ubuntu 20.04 LTS

В этом руководстве мы покажем вам, как установить EteSync Server в Ubuntu 20.04 LTS. Для тех из вас, кто не знал, EteSync — это решение для сквозного шифрования с открытым исходным кодом для синхронизации ваших календарей, контактов, задач и заметок. Доступ к нему можно получить через клиенты для ПК, через Интернет, Android и iOS.

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo‘ к командам для получения привилегий root. Я покажу вам пошаговую установку сервера EteSync на Ubuntu 20.04 (Focal Fossa). Вы можете следовать тем же инструкциям для Ubuntu 18.04, 16.04 и любого другого дистрибутива на основе Debian, например Linux Mint.

Установите EteSync Server на Ubuntu 20.04 LTS Focal Fossa

Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие aptкоманды в терминале.

sudo apt update
sudo apt upgrade
sudo apt install python3-virtualenv python3-pip gcc build-essential libmysqlclient-dev

Шаг 2. Установка MariaDB.

Выполните следующую команду, чтобы добавить ключ GPG и репозиторий MariaDB, с помощью следующей команды:

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

Затем установите MariaDB в вашу систему:

sudo apt install mariadb-server

По умолчанию MariaDB не усилен. Вы можете защитить MariaDB с помощью mysql_secure_installationскрипта. вы должны внимательно прочитать и под каждым шагом, который установит пароль root, удалит анонимных пользователей, запретит удаленный вход root и удалит тестовую базу данных и доступ к безопасности MariaDB:

mysql_secure_installation

Настройте это так:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

Затем нам нужно будет войти в консоль MariaDB и создать базу данных для EteSync. Выполните следующую команду:

mysql -u root -p

Вам будет предложено ввести пароль, поэтому введите пароль root для MariaDB и нажмите Enter. После входа на сервер базы данных вам необходимо создать базу данных для установки EteSync:

MariaDB [(none)]> create database etesyncdb;
MariaDB [(none)]> create user etesync@localhost identified by 'your-stronge-passwd';
MariaDB [(none)]> grant all privileges on etesyncdb.* to etesync@localhost;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Шаг 3. Установка EteSync Server в Ubuntu 20.04.

Теперь скачиваем последнюю версию EteSync с GitHub:

git clone https://github.com/etesync/server.git etebase

Затем смените каталог и создайте виртуальный Python:

cd etebase
virtualenv -p python3 .venv
source .venv/bin/activate
pip install -r requirements.txt

После этого скопируйте образец файла конфигурации и отредактируйте конфигурацию:

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

Измените следующие строки:

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-password
host = 127.0.0.1
port = 3306

Сохраните и закройте файл, затем установите другие модули, используя следующую команду ниже:

pip3 install daphne mysqlclient aioredis

Затем сгенерируйте статические файлы и перенесите базу данных с помощью следующей команды:

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

Затем запустите сервер EteSync с помощью следующей команды:

daphne -b 0.0.0.0 -p 8001 etebase_server.asgi:application

Шаг 4. Создайте служебный файл Systemd для EteSync.

Теперь создайте systemdфайл служебной единицы для EteSync с помощью следующей команды:

nano /etc/systemd/system/etebase.service

Добавьте следующие строки:

[Unit]
Description=EteSync: End-to-End Encryption to Sync Calendar, Contacts, Tasks and Notes.

[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:application
User=root
Group=root
Restart=always
RestartSec=5s

[Install]
WantedBy=multi-user.target

Сохраните и закройте файл, затем перезагрузите systemdдемон с помощью следующей команды:

sudo systemctl daemon-reload
sudo systemctl start etebase
sudo systemctl enable etebase

Шаг 5. Настройте Nginx.

Теперь мы устанавливаем Nginx, используя следующую команду:

sudo apt install nginx

Затем создайте файл конфигурации виртуального хоста Nginx с помощью следующей команды:

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

Добавьте следующие строки:

upstream etebase {
    server unix:/tmp/etebase_server.sock;
}

server {
    listen 80;
    server_name etesync.your-domain.com;

    charset     utf-8;
    access_log /var/log/nginx/etebase.access;
    error_log /var/log/nginx/etebase.error;

    # max upload size
    client_max_body_size 64M;

    location /static/ {
        alias /root/etebase/static/;
    }

    location / {
        proxy_pass http://etebase;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_redirect of/f;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $server_name;
    }
}

Сохраните и закройте файл, затем перезапустите службу Nginx, чтобы применить изменения конфигурации:

sudo systemctl restart nginx

Шаг 6. Создайте учетные записи пользователей.

Сначала мы меняем каталог на etebase и активируем виртуальную среду, если она не активирована:

cd etebase
source .venv/bin/activate

Затем создайте суперпользователя с помощью следующей команды:

./manage.py createsuperuser

Укажите свое имя пользователя, пароль и адрес электронной почты, как показано ниже:

Username: admin
Email address: admin@your-domain.com
Password: 
Password (again): 
Superuser created successfully.

Шаг 7. Войдите в веб-интерфейс сервера EteSync.

После успешной установки откройте свой веб-браузер и войдите в веб-интерфейс EteSync, используя URL-адрес . Вы должны увидеть следующую страницу:http://etesync.your-domain.com/admin

Поздравляю! Вы успешно установили EteSync. Благодарим за использование этого руководства по установке EteSync Server в системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт EteSync .

Author: forgero

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *