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
感谢您使用本教程在 Ubuntu 20.04 LTS Focal Fossa 系统上安装 EteSync 服务器。如需其他帮助或有用信息,我们建议您查看官方 EteSync 网站。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun223997.html