Radicaleは、無料のオープンソースCalDAV(カレンダー、やることリスト)およびCardDav(連絡先)サーバーです。小型で軽量(CalDAVおよびCardDav)サーバーアプリケーションでありながら、パワフルですぐに使用できることを目指しています。 Radicaleを使用すると、CalDAV、CardDAV、およびHTTPSを介してカレンダーと連絡先リストを共有できます。そして最も重要なことは、TLS接続と認証によって安全にできることです。また、gnome-calendar、evolution、Mozilla thunderbird、DAVx(Android用)など、多くのCalDAVおよびCardDAVクライアントで動作します。
Radicaleにはシンプルな構成が付属しており、構成とインストールが簡単です。 RadicaleはPythonで記述されており、Linux、BSD、macOS、Windowsなどのオペレーティングシステムで動作します。
このチュートリアルでは、Ubuntu20.04にRadicaleをインストールして構成する方法を学習します。
- Ubuntu20.04。パッケージとリポジトリが更新されていることを確認します。
- rootユーザーまたはroot権限を持つユーザー。これは、新しいパッケージのインストールとシステム構成の編集に使用されます。
PasslibとBcryptライブラリのインストール
最初に、radicaleインストール用のいくつかのパッケージ依存関係をインストールします。 python-pip、python-passlibモジュールをインストールしてから、PyPI(pythonリポジトリ)からpythonbcryptモジュールをインストールします。
1.次のaptコマンドを実行して、python-pipおよびpython-passlibモジュールをUbuntuシステムにインストールします。
sudo apt install python3-pip python3-passlib
' Yと入力します 'を押して'Enter 'これらのパッケージをすべてインストールします。
2.インストールが完了したら、Pythonbcryptモジュールをインストールするために以下のpipコマンドを実行します。
sudo pip3 install bcrypt
これで、次の出力が表示されます。
Radicaleのインストールと構成
デフォルトでは、radicaleパッケージはUbuntuリポジトリで入手できます。
1.以下のaptコマンドを実行して、Ubuntuシステムにradicaleをインストールします。
sudo apt install radicale
' Yと入力します 'を押して'Enter 'ラジカルパッケージをインストールします。
2.インストールが完了したら、' / etc / radiole / configで利用できるデフォルトのradicale構成を編集します。 '。
以下のnanoコマンドを使用してラジカル構成を編集します。
sudo nano /etc/radicale/config
3.[サーバー]で セクションで、次の構成を使用してデフォルト構成を変更します。
[server]
host = 127.0.0.1:5232
max_connections = 20
max_content_length = 100000000
timout = 30
ラジカルサーバーは、Apache Webサーバーをリバースプロキシとして前面に配置するため、ローカルIPアドレスでのみ実行されます。
4.次に、SSL暗号化はApacheリバースプロキシを介して行われるため、SSL構成について以下のようにコメントします。
# SSL flag, enable HTTPS protocol
#ssl = False
# SSL certificate path
#certificate = /etc/ssl/certs/ssl-cert-snakeoil.pem
# SSL private key
#key = /etc/ssl/private/ssl-cert-snakeoil.key
5.その後、'[auth]'に移動します セクションを作成し、デフォルトの構成を次のように変更します。
[auth]
type = htpasswd
htpasswd_filename = /etc/radicale/users
htpasswd_encryption = bcrypt
使用している認証タイプは'htpasswd '強力な暗号化を使用'bcrypt '、およびユーザーのリストは' / etc / radiole / users に保存されます 'ファイル。
6.次に、下部の構成に'[storage]が表示されます。 ' セクション。ラジカルストレージバックエンドを有効にするには、以下のように構成を変更します。
[storage]
type = multifilysystem
filesystem_folder = /var/lib/radicale/collections
filesystem_locking = True
ラジカルのデフォルトのストレージバックエンドは「multifilesystem」であり、すべてのユーザーのデータは「/ var / lib / radiole/collections」ディレクトリで利用できます。
次に、' Ctrl + xを押します。 'と入力して'y' 、次に' Enterを押します 'ボタンを押して保存して終了します。
この段階で、ラジカルの構成が完了します。そして今のところ、radicaleの新しいユーザーとパスワードを作成します。これは、「htpasswd」コマンド(「apache2-utils」パッケージの一部)を使用して生成できます。
1.以下のaptコマンドを実行して、' apache2-utilsをインストールします。 'パッケージ。
sudo apt install apache2-utils
' Yと入力します 'を押して'Enter 'インストールを続行します。
2.次に、以下のhtpasswdコマンドを実行して、新しいユーザー(この例ではユーザー'johndoe')とパスワードを生成します。
sudo htpasswd -B -c /etc/radicale/users johndoe
次に、ユーザー' johndoeのパスワードを入力して繰り返します。 '。
知っておくべき重要なオプション:
- -Bオプション -これにより、デフォルトの「md5」ではなく、強力な暗号化「bcrypt」が強制的に使用されます。
- -cオプション -作成するパスワードファイル。ユーザー名とパスワードはそのファイルで利用できます。
別のユーザーを追加するには、一番上でコマンドを実行し、ユーザー名を自分のものに変更します。
必要に応じて、生成されたパスワードファイル' / etc / radiole / usersを確認します。 '以下のようにcatコマンドを使用します。
cat /etc/radicale/users
3.ユーザーとパスワードのファイルを生成したら、起動時にラジカルサービスが自動的に開始されるようにします。
sudo systemctl enable radicale
4.次に、ラジカルサービスを開始し、次のコマンドを実行してサービスステータスを確認します。
sudo systemctl start radicale
sudo systemctl status radicale
ラジカルサービスがアクティブで実行中の場合、以下のような出力が表示されます。それ以外の場合は、ログメッセージの下部にラジカルサービスのステータスが「失敗」と表示されます。
ApacheをRadicaleのリバースプロキシとしてセットアップする
この段階で、Apacheをラジカルのリバースプロキシとしてインストールおよび構成します。
1.以下のaptコマンドを実行してApacheパッケージをインストールします。
sudo apt install apache2
ここで「Y」と入力します 'を押して'Enter 'インストールを続行します。
2.インストールが完了したら、次のコマンドを実行してApacheのプロキシモジュールを有効にし、mod_sslモジュールを有効にします。
sudo a2enmod proxy proxy_ajp proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html ssl
3.次に、作業ディレクトリを「 / etc / apache2 / sites-available」に変更します。 'そして新しい仮想ホスト構成を作成します'radiole.conf '。
cd /etc/apache2/sites-available/
sudo nano radicale.conf
次の構成をコピーして貼り付け、ドメイン名を自分のものに変更してください。
<VirtualHost *:80>
ServerName cal.domain-name.io
ServerAdmin [email protected]
ErrorLog ${APACHE_LOG_DIR}/cal-dmain-name.io.error.log
CustomLog ${APACHE_LOG_DIR}/cal-dmain-name.io.access.log combined
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
RewriteEngine On
RewriteRule ^/radicale$ /radicale/ [R,L]
<Location "/radicale/">
AuthType Basic
AuthName "Radicale - Password Required"
AuthUserFile "/etc/radicale/users"
Require valid-user
ProxyPass http://localhost:5232/ retry=0
ProxyPassReverse http://localhost:5232/
RequestHeader set X-Script-Name /radicale
RequestHeader set X-Remote-User expr=%{REMOTE_USER}
</Location>
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
' Ctrl + x を押して、構成を保存します 'と入力して'y '、次に' Enter '。
この構成を使用すると、ラジカルは、ドメイン名のルートパスではなく、ドメインパス「domain.com/radicale」で利用できるようになります。
4.次に、次のコマンドを実行して、仮想ホスト構成'radicale.conf'をアクティブ化します。 。
sudo a2ensite radicale.conf
5.その後、Apache構成を確認し、エラーがないことを確認してから、Apacheサービスを再起動して、新しい仮想ホスト構成を適用します。
sudo apachectl configtest
sudo systemctl restart apache2
Apacheの構成が正しい場合は、「 Syntax OK」というメッセージが表示されます。 'apachectl'コマンドを実行した後。そして、以下はあなたが得る同様の出力です。
SSLLetsencryptを生成
この段階では、SSLLetsencryptを使用してラジカルインストールを保護します。
1.次のコマンドを実行して、certbotおよびcertbot-apacheプラグインをインストールします。
sudo apt install certbot python-certbot-apache
2.インストールが完了したら、以下のcertbotコマンドを使用して、radicaleドメイン名の新しいSSLLetsencrtyptを生成します。
sudo certbot --apache -d domain-name.io -d www.domain-name.io
そして、以下のいくつかの質問があります。
- メールアドレス:SSL証明書の有効期限が切れると、このメールが通知されます。
- Letsencrypt TOS(利用規約):「 A」と入力します '同意します。
- EFFとのメールの共有:「 N」を選択できます 'いいえ。
- HTTPをHTTPSに自動的にリダイレクトします:番号 '2'を選択します 自動リダイレクトを有効にします。
プロセスが完了すると、SSL証明書が「/etc/letsencrypt/live/domain.com」ディレクトリで利用可能になっていることがわかります。また、Apache仮想ホストは、letsencryptからの追加構成で変更されました。
Webブラウザーを開き、アドレスバーにラジカルURLインストールを入力します。
https://cal.domain-name.io/radicale/
ここで、Apache基本認証のユーザーとパスワードの入力を求められます。
ユーザーとパスワードを入力し、[ログイン]をクリックします 'ボタン。
そして、以下のようにRadicaleログインページが表示されます。
Radicaleのユーザーとパスワードを入力し、[次へ]をクリックします 'ボタン。
ログインしたら、リンクをクリックします'新しい名簿またはカレンダーを作成する '。
タイトル、説明、タイプ、色を自分で変更し、[作成]をクリックします 'ボタン。
これで、以下のようにラジカルユーザーダッシュボードにリダイレクトされます。
おめでとう!これで、Ubuntu20.04サーバーにRadicaleが正常にインストールされました。次の段階では、コンピューターまたはスマートフォンのAndroidからCalDAV / CardDAVクライアントを使用して、新しいラジカルサーバーに安全に接続できます。