GNU/Linux >> Linux の 問題 >  >> Ubuntu

UbuntuにEteSync2.0(Etebase)サーバーをインストールする方法

このチュートリアルでは、 EteSyncをインストールする方法を説明します。 Ubuntu上のサーバー。 EteSyncは、カレンダー、連絡先、タスク、メモを同期するためのオープンソースのエンドツーエンド暗号化ソリューションです。

EteSync機能

最新バージョンはEteSync2.0で、機能があります

  • エンドツーエンド暗号化。
  • 個別の暗号化パスワードは必要ありません。必要なのは、暗号化とログインの両方に使用される1つのパスワードだけです。
  • サーバーに対して認証するためのゼロ知識証明。パスワードがデバイスから離れることがないことを確認します。
  • デバイス間の即時同期。
  • 他のユーザーとデータを共有する機能
  • クライアントは、デスクトップ(DAVブリッジ)、Web、Android、およびiOSで使用できます。
  • GNOMEおよびKDEデスクトップとの統合(EvolutionおよびAkonadi用のEteSyncバックエンド)。
  • MozillaThunderbirdのアドオン。
  • 新しいEtebaseプロトコルにアップグレードします。

近い将来、EteSyncは安全な位置共有のサポートも追加する予定です。 EteSyncは、etesync.comでホステッドサービスを提供します。 Ubuntuサーバーでセルフホストインスタンスを実行する方法と、さまざまなプラットフォームでクライアントソフトウェアを使用する方法を紹介します。

ステップ1:最新の安定バージョンのMariaDBサーバーをUbuntuにインストールする

デフォルトでは、EteSyncはユーザー情報を SQLiteに保存します データベース。 MariaDBを使用する場合 、以下の手順に従ってください。

MariaDB 10.3でEteSyncを実行すると問題が発生するため、MariaDBの最新の安定バージョンである10.5を使用する必要があります。最新の安定バージョンをインストールするには、次のコマンドを実行して、Ubuntu20.04にMariaDBリポジトリを追加します。

sudo apt-get install software-properties-common

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.lstn.net/mariadb/repo/10.5/ubuntu focal main'

Ubuntu 18.04にリポジトリを追加するには、focalを置き換えるだけです。 bionicを使用 3番目のコマンドで。

次に、パッケージインデックスを更新し、MariaDBサーバーをインストールします。

sudo apt update

sudo apt install mariadb-server

既存のMariaDBサーバーを最新バージョンにアップグレードする場合、次のメッセージが表示される場合があります。 Nを選択することをお勧めします 現在のバージョンを維持し、後で何を変更する必要があるかを調べるため。

パッケージの依存関係に問題がある場合は、次のコマンドを実行して修正できます。

sudo apt --fix-broken install

インストールが完了すると、MariaDBサーバーが自動的に起動します。次のコマンドでステータスを確認できます:

systemctl status mariadb

ご覧のとおり、アクティブで実行中です。

ヒント Qを押します 上記のコマンドがすぐに終了しない場合に端末の制御を取り戻すため。

実行されていない場合は、次のコマンドで手動で開始できます:

sudo systemctl start mariadb

起動時に自動起動を有効にするには、

を実行します
sudo systemctl enable mariadb

ステップ2:MariaDBデータベースサーバーでEteSyncのデータベースとユーザーを作成する

次のコマンドを使用して、MariaDBデータベースサーバーにログインします。 MariaDBは現在unix_socketを使用しているため ユーザーログインを認証するプラグイン。MariaDBのrootパスワードを入力する必要はありません。 mysqlのプレフィックスを付ける必要があります sudoを使用したコマンド 。

sudo mysql

次に、EteSyncのデータベースを作成します。このチュートリアルでは、データベースにetebaseという名前を付けます 。好きな名前を使用できます。

create database etebase;

データベースユーザーを作成します。この場合も、このユーザーの好みの名前を使用できます。 your-passwordを置き換えます ご希望のパスワードを使用してください。

create user etebase@localhost identified by 'your-password';

このユーザーにetebaseに対するすべての権限を付与します データベース。

grant all privileges on etebase.* to etebase@localhost;

特権をフラッシュして終了します。

flush privileges;

exit;

ステップ3:UbuntuにEteSync2.0サーバーをインストールする

Python3仮想環境クリエーターといくつかのパッケージ構築ツールをインストールします。

sudo apt install python3-virtualenv python3-pip gcc build-essential

ホームディレクトリに移動します。

cd

GithubからEteSyncリポジトリのクローンを作成します。

git clone https://github.com/etesync/server.git etebase

新しく作成したディレクトリに移動します。

cd etebase

Python3仮想環境を作成します。

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 = /path/to/media

コメントを外して値を変更します。

media_root = /home/username/etebase/media/

次の行を見つけてください

allowed_host1 = example.com

etebase.example.comのようなサブドメインを使用します 。

allowed_host1 = etebase.example.com

デフォルトでは、EteSyncはユーザー情報をSQLiteデータベースに保存します。 MariaDBデータベースサーバーを使用する場合は、次の2行をコメントアウトします(各行の先頭にセミコロンを追加します)。

engine = django.db.backends.sqlite3
name = db.sqlite3

次に、このファイルの最後に次の行を追加します。これは、EteSyncにetebaseにアクセスする方法を指示します 手順1で作成したMariaDBのデータベース。明らかに、etebaseには独自のパスワードを使用する必要があります。 ユーザー。

engine = django.db.backends.mysql
name = etebase
user = etebase
password = your-password
host = 127.0.0.1
port = 3306

ファイルを保存して閉じます。 EtebaseサーバーはDjangoアプリケーションであり、Daphne(Django Channels HTTP / WebSocketサーバー)を使用してEtebaseを実行できます。 Daphneをインストールする:

pip3 install daphne

データベースエンジンとしてMySQL/MariaDBを使用しているため、mysqlclientもインストールする必要があります。 モジュール。

sudo apt install libmysqlclient-dev

pip3 install mysqlclient

aioredisをインストールします Redisキャッシュを使用するためのモジュール。

pip3 install aioredis

Djangoの静的ファイルを作成します。

./manage.py collectstatic

アプリを初期化します。

./manage.py migrate

EteSync 2.0(Etebase)サーバーを起動します。

daphne -b 0.0.0.0 -p 8001 etebase_server.asgi:application

ステップ4:EteSyncをSystemdサービスとして実行する

daphne -b 0.0.0.0 -p 8001 etebase_server.asgi:applicationを使用してEteSyncを手動で開始できます 、ただし、EteSyncをsystemdサービスとしてバックグラウンドで実行する方が便利です。 Ctrl+Cを押します 現在のEteSyncインスタンスを停止します。

次のコマンドを使用して、EteSyncのsystemdサービスユニットファイルを作成します。

sudo nano /etc/systemd/system/etebase.service

次の行をファイルに入れます。 usernameを置き換えます 実際のユーザー名で。

[Unit]
Description=EteSync: End-to-End Encryption to Sync Calender, Contacts, Tasks and Notes.

[Service]
WorkingDirectory=/home/username/etebase/
ExecStart=/home/username/etebase/.venv/bin/daphne -b 127.0.0.1 -p 8001 -u /tmp/etebase_server.sock etebase_server.asgi:application
User=username
Group=username
Restart=always
RestartSec=5s

[Install]
WantedBy=multi-user.target

ファイルを保存して閉じます。これで、etebaseを起動して有効にできます systemdサービス。

sudo systemctl start etebase

sudo systemctl enable etebase

ステータスを確認してください。

systemctl status etebase

etebaseの場合 サービスがアクティブではない(実行中)場合は、次のコマンドを実行して何が問題なのかを確認できます。

sudo journalctl -eu etebase

ステップ5:リバースプロキシを設定する

次に、Djangoアプリケーションのリバースプロキシを設定する必要があります。これにより、後でドメイン名を介してEteSyncにアクセスし、HTTPSを簡単に有効にできます。これを実現するには、ApacheまたはNginxを使用できます。

Apache

Apacheを使用する場合は、次のコマンドを使用してApacheWebサーバーをインストールします。

sudo apt install apache2

Apacheをリバースプロキシとして使用するには、proxyを有効にする必要があります モジュールとheader モジュール。

sudo a2enmod proxy proxy_http headers proxy_wstunnel

次に、EteSyncの仮想ホストファイルを作成します。

sudo nano /etc/apache2/sites-available/etebase.conf

次の構成をファイルに入れます。 etebase.example.comを置き換えます 実際のドメイン名で。このサブドメインのDNSAレコードを作成することを忘れないでください。実際のドメイン名をお持ちでない場合は、NameCheapにアクセスして購入することをお勧めします。価格は安く、whoisのプライバシー保護は一生無料です。

<VirtualHost *:80>
   ServerName etebase.example.com
   ErrorDocument 404 /404.html

   ErrorLog ${APACHE_LOG_DIR}/etebase_error.log
   CustomLog ${APACHE_LOG_DIR}/etebase_access.log combined

   ProxyPreserveHost On
   ProxyPass / http://127.0.0.1:8001/
   ProxyPassReverse / http://127.0.0.1:8001/
   Alias /static /home/username/etebase/static

</VirtualHost>

ファイルを保存して閉じます。次に、この仮想ホストを有効にします。

sudo a2ensite etebase.conf

Apacheを再起動します

sudo systemctl restart apache2

これで、ドメイン名etebase.example.comを使用してEteSyncWebインターフェイスにアクセスできます。 。

Nginx

Nginx Webサーバーを使用する場合は、Nginxをインストールします。

sudo apt install nginx

NginxforEteSyncで仮想ホストファイルを作成します。

sudo nano /etc/nginx/conf.d/etebase.conf

次の行をファイルに入れます。必要に応じてプレースホルダーを置き換えます。サブドメインのDNSAレコードを作成する必要があります。

upstream etebase {
    server unix:///tmp/etebase_server.sock;
}

server {
    listen 80;
    listen [::]:80;
    server_name etebase.example.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 75M;

    location /static/ {
        alias /home/username/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 off;
        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 nginx -t

テストが成功した場合は、変更を有効にするためにNginxをリロードします。

sudo systemctl reload nginx

これで、etebase.example.comでEteSyncWebインターフェイスにアクセスできます。 。

トラブルシューティング

bad request (400)が表示された場合 EteSync Webインターフェースにアクセスしようとしたときにエラーが発生した場合は、etesyncサーバー名をallowd_hostsに追加したことを確認してください。 etebase-server.iniのリスト ファイル。次に、etebaseを再起動します(sudo systemctl restart etebase

etebase-server.iniでデバッグモードを有効にすることもできます ファイル、つまり変更

debug = false

宛先

debug = true

次に、etebaseを再起動します。

sudo systemctl restart etebase

次に、systemdサービスログを確認します。

sudo journalctl -eu etebase

ステップ6:HTTPSを有効にする

HTTPトラフィックを暗号化するには、Let’sEncryptから発行された無料のTLS証明書をインストールしてHTTPSを有効にします。次のコマンドを実行して、Let’s Encryptクライアント(certbot)をUbuntuサーバーにインストールします。

sudo apt install certbot

Apacheを使用する場合は、CertbotApacheプラグインもインストールする必要があります。

sudo apt install python3-certbot-apache

次に、次のコマンドを実行してTLS証明書を取得してインストールします。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d etebase.example.com

Nginxを使用する場合は、CertbotNginxプラグインもインストールする必要があります。

sudo apt install python3-certbot-nginx

次に、次のコマンドを実行してTLS証明書を取得してインストールします。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d etebase.yourdomain.com

場所:

  • --apache :Apacheプラグインを使用してください。
  • --nginx :nginxプラグインを使用してください。
  • --agree-tos :利用規約に同意します。
  • --redirect :301リダイレクトでHTTPSを強制します。
  • --hsts :すべてのHTTP応答にStrict-Transport-Securityヘッダーを追加します。ドメインに常にTLSを使用するようにブラウザを強制します。 SSL/TLSストリッピングから防御します。
  • --staple-ocsp :OCSPステープリングを有効にします。有効なOCSP応答は、TLS中にサーバーが提供する証明書にホチキス止めされます。

これで、証明書が取得され、自動的にインストールされます。

ステップ7:ユーザーアカウントを作成する

スーパー管理者ユーザーを作成します。

./manage.py createsuperuser

次に、etebase.example.com/adminにアクセスします 管理コンソールにログインします。次に、カレンダー、連絡先、タスク、メモの同期に使用する個々のユーザーアカウントを作成できます。 Etebaseは認証にゼロ知識証明を使用するため、EteSync管理コンソールでユーザーのパスワードを作成する必要がないことに注意してください。

次に、EteSyncを使用するようにクライアントを設定する必要があります。

UbuntuデスクトップにEvolutionEteSyncモジュールをインストールする方法

進化 GNOMEデスクトップ環境のデフォルトのグループウェアスイートです。以下を使用してUbuntuデスクトップにインストールできます:

sudo apt install evolution

EvolutionでEteSyncを使用するには、以下の手順に従って、Evolution用のEteSyncモジュールをインストールする必要があります。

libetebaseのクローンを作成します リポジトリ。

sudo apt install git

git clone https://github.com/etesync/libetebase.git

新しく作成したディレクトリに移動します。

cd libetebase/

ソースからパッケージをビルドするために必要なパッケージをインストールします。

sudo apt install build-essential libssl-dev cargo

ソースパッケージをコンパイルします。

make

バイナリをインストールします。

sudo make install

次に、前のディレクトリに戻ります。

cd ..

Evolution-EteSyncのクローンを作成します リポジトリ。

git clone https://gitlab.gnome.org/GNOME/evolution-etesync

新しく作成したディレクトリに移動します。

cd evolution-etesync/

ソースからパッケージをビルドするために必要なパッケージをインストールします。

sudo apt install cmake intltool evolution-data-server-dev evolution-dev libedata-book1.2-dev libedata-cal2.0-dev libecal2.0-dev libebook1.2-dev

パッケージをコンパイルしてインストールします。

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make -j
sudo make -j install

進化におけるEteSyncの使用

次に、UbuntuデスクトップでEvolutionアプリを起動します。 新規をクリックします ツールバーのボタンをクリックして、新しいコレクションアカウントを追加します 。

次に、EteSyncの使用名とサーバーアドレスを入力します。 https://を追加する必要があることに注意してください サーバーアドレスのプレフィックスとして。 EteSyncアカウントを検索を選択します 他のすべてのオプションのチェックを外します。次に、検索をクリックします ボタン。

続行するには、パスワードの入力を求められます。これは実際にパスワードを設定する時間なので、パスワードを入力をクリックします リンクしてパスワードを設定します。

パスワードを入力したら、[再試行]ボタンをクリックすると、候補が1つ見つかります。 次へをクリックします ボタンをクリックして続行します。

NextCloudと同期

セルフホストのNextcloudサーバーがあり、カレンダー、タスク、または連絡先アプリをNextcloudサーバーにインストールしている場合は、Nextcloud DAVサーバーをEvolutionに追加して、同期できるようにすることができます。別のコレクションアカウントを追加するだけです Evolutionで、Nextcloudユーザー名とCalDAV / CardDAVアドレスを入力し、 CalDAV/CardDAVサーバーを検索するを選択します。 、他のすべてのオプションのチェックを外します。次に、Nextcloudのパスワードを入力します。 Nextcloud CalDAV/CardDAVアドレスはhttps://nextcloud.yourdomain.com/remote.php/davである必要があります 。

iOSEteSyncアプリの使用

iOSでカレンダー、連絡先、タスクを同期するには、まずiOSでCalDAV/CardDAVアカウントを設定する必要があります。 設定に移動します アプリ->カレンダー ->アカウント ->アカウントの追加 ->その他 、CalDAVおよびCardDAVアカウントを追加します。 CalDAVはカレンダーの同期に使用され、CardDAVはデバイス上の連絡先の同期に使用されます。

セルフホストのNextcloudサーバーをお持ちの場合は、Nextcloud CalDAV/CardDAVアカウントを使用できます。アカウントをお持ちでない場合は、偽のアカウントを使用してください。

次に、アプリストアからEteSyncアプリをインストールします。次に、EteSyncアカウントを追加します。

EteSyncアカウントにログインした後、設定に移動します EteSyncアプリのメニュー。 詳細 セクションで、連絡先の同期用のCardDAVアカウントを選択します カレンダーとリマインダーの同期用にCalDAVアカウントを選択します 。


Ubuntu
  1. Ubuntu18.04にMariaDB10.4をインストールする方法

  2. Ubuntu14.04サーバーにZimbra8.6をインストールする方法

  3. Ubuntu 22.04 に MariaDB をインストールする方法

  1. Ubuntu18.04にMySQLをインストールする方法

  2. Ubuntu18.04にMariaDBをインストールする方法

  3. Ubuntu18.04にMinecraftサーバーをインストールする方法

  1. Ubuntu20.04にNginxをインストールする方法

  2. Ubuntu20.04にMariaDBをインストールする方法

  3. Ubuntu20.04LTSにMariaDBをインストールする方法