如何在 Ubuntu 20.04 LTS 上安装 EteSync 服务器

EteSync 是一种开源的端到端加密解决方案,用于同步您的日历、联系人、任务和笔记。可以通过桌面、Web、Android 和 iOS 客户端访问它。

在 Ubuntu 20.04 LTS Focal Fossa 上安装 EteSync 服务器

步骤 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 未加固。您可以使用mysql_secure_installation脚本保护 MariaDB 。您应该仔细阅读以下每个步骤,这些步骤将设置 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

这将提示您输入密码,因此请输入您的 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. 在 Ubuntu 20.04 上安装 EteSync 服务器。

现在我们从 GitHub 下载最新版本的 EteSync:

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. 为 EteSync 创建 Systemd 服务文件。

现在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 服务器 Web 界面。

成功安装后,打开您的网络浏览器并使用 URL 访问您的 EteSync 网络界面。您应该会看到以下页面:http://etesync.your-domain.com/admin

etesync-web-interface

感谢您使用本教程在 Ubuntu 20.04 LTS Focal Fossa 系统上安装 EteSync 服务器。如需其他帮助或有用信息,我们建议您查看官方 EteSync 网站

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun223997.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2021年8月23日
下一篇 2021年8月27日