Как установить сервер 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 .