如何在 Ubuntu 20.04 LTS 上安装 EteSync 服务器
admin
2023-08-01 01:24:50
0

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-interfaceetesync-web-interface

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

相关内容

热门资讯

Windows 11 和 10... Windows 11/10 文件夹属性中缺少共享选项卡 – 已修复 1.检查共享选项卡是否可用 右键...
事件 ID 7034:如何通过... 点击进入:ChatGPT工具插件导航大全 服务控制管理器 (SCM) 负责管理系统上运行的服务的活动...
Radmin VPN Wind... Radmin VPN 是一款免费且用户友好的软件,旨在牢固地连接计算机以创建一个有凝聚力的虚拟专用网...
Hive OS LOLMine... 目前不清退的交易所推荐: 1、全球第二大交易所OKX欧意 国区邀请链接: https://www.m...
如何修复 Steam 内容文件... Steam 内容文件锁定是当您的 Steam 文件无法自行更新时出现的错误。解决此问题的最有效方法之...
Hive OS 部署 PXE ... 目前不清退的交易所推荐: 1、全球第二大交易所OKX欧意 国区邀请链接: https://www.m...
如何在电报Telegram中隐... 点击进入:ChatGPT工具插件导航大全 在Android上的电报中隐藏您的电话号码 您可以通过切换...
farols1.1.501.0... faro ls 1.1.501.0(64bit)可以卸载,是一款无需连接外部PC机或笔记本计算机即可...
在 Windows 11 中打... 什么是链路状态电源管理? 您可以在系统控制面板的电源选项中看到链接状态电源管理。它是 PCI Exp...
如何在Instagram上扫描... 如何在Instagram上扫描名称标签/ QR? 总而言之,您可以通过大约四种不同的方法来扫描这些I...