Как установить календарь Radicale (CalDAV и CardDAV) в Ubuntu 20.04
На этой странице
- Предпосылки
- Установка библиотеки Passlib и Bcrypt
- Установка и настройка Radicale
- Создание пользователей для Radicale
- Настройка Apache в качестве обратного прокси-сервера для Radicale
- Создать SSL Letsencrypt
- Проверка установки
- Заключение
Radicale — это бесплатный сервер CalDAV (календари, списки дел) и CardDav (контакты) с открытым исходным кодом. Он призван быть небольшим и легким (CalDAV и CardDav) серверным приложением, но мощным и готовым к работе. Radicale позволяет обмениваться календарями и списками контактов через CalDAV, CardDAV и HTTPS. И самое главное, он может быть безопасным благодаря соединению TLS и аутентификации. Кроме того, он работает со многими клиентами CalDAV и CardDAV, такими как gnome-calendar, evolution, Mozilla Thunderbird, DAVx (для Android) и т. д.
Radicale поставляется с простой конфигурацией, его легко настроить и установить. Radicale написан на Python и работает в таких операционных системах, как Linux, BSD, macOS и Windows.
В этом руководстве вы узнаете, как установить и настроить Radicale в Ubuntu 20.04.
Предпосылки
- Убунту 20.04. Убедитесь, что пакеты и репозитории обновлены.
- Пользователь root или пользователь с привилегиями root. Он будет использоваться для установки новых пакетов и редактирования конфигурации системы.
Установка библиотеки Passlib и Bcrypt
В начале вы будете устанавливать некоторые зависимости пакетов для установки Radicale. Вы будете устанавливать модуль python-pip, python-passlib, а затем устанавливать модуль python bcrypt из PyPI (репозиторий python).
1. Выполните следующую команду apt, чтобы установить модули python-pip и python-passlib в систему Ubuntu.
sudo apt install python3-pip python3-passlib
Введите Y и нажмите Enter, чтобы установить все эти пакеты.
2. Если установка завершена, запустите приведенную ниже команду pip для установки модуля Python bcrypt.
sudo pip3 install bcrypt
Теперь вы увидите следующий вывод.
Установка и настройка Radicale
По умолчанию пакеты радикалов доступны в репозитории Ubuntu.
1. Выполните приведенную ниже команду apt, чтобы установить радикал в системе Ubuntu.
sudo apt install radicale
Введите Y и нажмите Enter, чтобы установить пакеты радикалов.
2. После завершения установки вы будете редактировать конфигурацию радикала по умолчанию, доступную в /etc/radicale/config.
Отредактируйте радикальную конфигурацию, используя приведенную ниже команду nano.
sudo nano /etc/radicale/config
3. В разделе [сервер] измените конфигурацию по умолчанию, используя следующую конфигурацию.
[server]
host = 127.0.0.1:5232
max_connections = 20
max_content_length = 100000000
timout = 30
Сервер Radicale будет работать только на локальном IP-адресе, потому что мы поместим веб-сервер Apache в качестве обратного прокси-сервера перед ним.
4. Затем прокомментируйте конфигурацию SSL, как показано ниже, поскольку шифрование SSL будет выполняться через обратный прокси-сервер Apache.
# 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/radicale/users.
6. Далее в нижней конфигурации вы увидите раздел [storage]. Измените конфигурацию, как показано ниже, чтобы включить серверную часть хранилища Radical.
[storage]
type = multifilysystem
filesystem_folder = /var/lib/radicale/collections
filesystem_locking = True
Серверная часть хранилища по умолчанию для Radicale — это многофайловая система, и все данные пользователей доступны в каталоге /var/lib/radicale/collections.
Теперь нажмите Ctrl+x и введите y, затем нажмите кнопку Enter, чтобы сохранить и выйти.
Создание пользователей для Radicale
На этом этапе настройка радикала завершена. А пока вы создадите нового пользователя и пароль для Radicale, которые можно сгенерировать с помощью команды htpasswd (часть пакета apache2-utils).
1. Выполните приведенную ниже команду apt для установки пакета apache2-utils.
sudo apt install apache2-utils
Введите Y и нажмите Enter, чтобы продолжить установку.
2. Затем создайте нового пользователя (в данном примере это пользователь johndoe) и пароль, выполнив приведенную ниже команду htpasswd.
sudo htpasswd -B -c /etc/radicale/users johndoe
Теперь введите и повторите пароль для пользователя johndoe.
Важные параметры, которые вы должны знать:
- Опция
- -B — это заставит использовать сильное шифрование bcrypt, а не md5 по умолчанию. Опция
- -c — файл паролей, который вы хотите создать. Имя пользователя и пароли доступны в этом файле.
Чтобы добавить другого пользователя, просто запустите команду сверху и измените имя пользователя на свое.
При желании проверьте сгенерированный файл паролей /etc/radicale/users с помощью команды cat, как показано ниже.
cat /etc/radicale/users
3. После создания файла пользователя и пароля включите службу radiale для автоматического запуска при загрузке.
sudo systemctl enable radicale
4. Теперь запустите службу Radiale и проверьте статус службы, выполнив следующую команду.
sudo systemctl start radicale
sudo systemctl status radicale
Если ваша служба Radicale активна и работает, вы увидите вывод, аналогичный приведенному ниже. В противном случае вы увидите статус службы Radicale как «сбой» в нижней части сообщений журнала.
Настройте Apache в качестве обратного прокси-сервера для Radicale
На этом этапе вы будете устанавливать и настраивать Apache в качестве обратного прокси-сервера для Radiale.
1. Установите пакеты Apache, выполнив приведенную ниже команду apt.
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 и создайте новую конфигурацию виртуального хоста, radiale.conf.
cd /etc/apache2/sites-available/
sudo nano radicale.conf
Скопируйте и вставьте следующую конфигурацию и обязательно измените доменное имя на свое собственное.
<VirtualHost *:80>
ServerName cal.domain-name.io
ServerAdmin
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. Ниже приведен аналогичный результат, который вы получите.
Создать SSL Letsencrypt
На этом этапе вы будете защищать установку Radiale с помощью SSL Letsencrypt.
1. Выполните следующую команду, чтобы установить подключаемый модуль certbot и certbot-apache.
sudo apt install certbot python-certbot-apache
2. После завершения установки сгенерируйте новый SSL Letsencrtypt для доменного имени radiale с помощью приведенной ниже команды certbot.
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.
Проверить установку
Откройте веб-браузер и введите радикальный URL-адрес установки в адресной строке.
Теперь вам будет предложено ввести пользователя и пароль для базовой аутентификации Apache.
Введите имя пользователя и пароль, затем нажмите кнопку «Войти».
И вы получите страницу входа в Radicale, как показано ниже.
Введите имя пользователя и пароль для Radicale и нажмите кнопку «Далее».
После входа в систему щелкните ссылку Создать новую адресную книгу или календарь.
Измените заголовок, описание, тип и цвет на свои собственные, затем нажмите кнопку «Создать».
Теперь вы будете перенаправлены на панель управления Radiale, как показано ниже.
Заключение
Поздравляем! Теперь вы успешно установили Radicale на сервер Ubuntu 20.04. На следующем этапе вы можете безопасно подключиться к своему новому серверу Radicale с помощью клиентов CalDAV/CardDAV со своего компьютера или смартфона Android.