Поиск по сайту:

Как установить календарь Radicale (CalDAV и CardDAV) в Ubuntu 20.04


На этой странице

  1. Предпосылки
  2. Установка библиотеки Passlib и Bcrypt
  3. Установка и настройка Radicale
  4. Создание пользователей для Radicale
  5. Настройка Apache в качестве обратного прокси-сервера для Radicale
  6. Создать SSL Letsencrypt
  7. Проверка установки
  8. Заключение

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.