如何在 Ubuntu 20.04 LTS 上安装 EteSync 服务器
在本教程中,我们将向您展示如何在 Ubuntu 20.04 LTS 上安装 EteSync Server。 对于那些不知道的人,EteSync 是一种开源的端到端加密解决方案,用于同步您的日历、联系人、任务和笔记。 可以通过桌面、Web、Android 和 iOS 客户端访问它。
本文假设您至少具有 Linux 的基本知识,知道如何使用 shell,最重要的是,您将站点托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户中运行,否则您可能需要添加 ‘sudo
‘ 获取 root 权限的命令。 我将向您展示在 Ubuntu 20.04 (Focal Fossa) 上逐步安装 EteSync 服务器。 您可以按照针对 Ubuntu 18.04、16.04 和任何其他基于 Debian 的发行版(如 Linux Mint)的相同说明进行操作。
在 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] https://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
这将提示您输入密码,因此请输入您的 MariaDB 根密码并点击 Enter. 登录到数据库服务器后,您需要为 EteSync 安装创建一个数据库:
MariaDB [(none)]> create database etesyncdb; MariaDB [(none)]> create user [email protected] identified by 'your-stronge-passwd'; MariaDB [(none)]> grant all privileges on etesyncdb.* to [email protected]; 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
Save 和 close 该文件然后使用以下命令安装其他模块:
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
Save 和 close 文件,然后重新加载 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 https://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; } }
Save 和 close 文件,然后重新启动 Nginx 服务以应用配置更改:
sudo systemctl restart nginx
步骤 6. 创建用户帐户。
首先,我们将目录更改为 etebase 并在未激活的情况下激活虚拟环境:
cd etebase source .venv/bin/activate
然后,使用以下命令创建超级用户:
./manage.py createsuperuser
提供您的用户名、密码和电子邮件,如下所示:
Username: admin Email address: [email protected] Password: Password (again): Superuser created successfully.
步骤 7. 访问 EteSync 服务器 Web 界面。
成功安装后,打开您的网络浏览器并使用 URL 访问您的 EteSync 网络界面 https://etesync.your-domain.com/admin
. 您应该会看到以下页面:
恭喜! 您已成功安装 EteSync。 感谢您使用本教程在 Ubuntu 20.04 LTS Focal Fossa 系统上安装 EteSync 服务器。 如需更多帮助或有用信息,我们建议您查看 EteSync 官方网站.