anúncios

sexta-feira, 20 de dezembro de 2019

Instalando e Configurando servidor CalDAV e CardDAV com Radicale

O que é Radicale?

Radicale é um servidor de calendário e lista de endereços, desenvolvido em Python e implementa os padrões CalDAV e CardDAV.

A configuração recomendada para uso em produção é atender ao Apache em todo o sistema via uWSGI com autenticação baseada em Apache.

Debian/Ubuntu

Instalação

$ sudo apt install radicale apache2-utils python3-bcrypt python3-passlib

Autenticação

Crie um arquivo "users" com todos os nomes de usuário e senhas

$ htpasswd -c -B /etc/radicale/users user
$ htpasswd -B /etc/radicale/users user2

Em seguida, para definir a autenticação como htpasswd com criptografia bcrypt, edite essas instâncias em /etc/radicale/config

[auth]
type = htpasswd
htpasswd_filename = /etc/radicale/users
htpasswd_encryption = bcrypt
O script de inicialização do SysV fornecido deve cuidar disso. Caso contrário, você pode fazê-lo manualmente, conforme abaixo:

$ sudo mkdir -p /var/lib/radicale
$ sudo chown radicale:radicale /var/lib/radicale
$ sudo chmod g-w,o-rwx /var/lib/radicale
$ sudo mkdir -p /var/log/radicale
$ sudo chown radicale:adm /var/log/radicale
$ sudo chmod g-w,o-rwx /var/log/radicale
Arquivo de log

Editar o arquivo /etc/radicale/config conforme abaixo:
$ sudo vim /etc/radicale/config

[logging]
config = /etc/radicale/logging

/etc/radicale/logging
[handlers]
#keys = console
keys = file

[formatters]
#keys = simple
keys = full

[logger_root]
#level = WARNING
#level = INFO
level = DEBUG
#handlers = console
handlers = file
[handler_file]
class = FileHandler
# Note: Debian logrotate handles /var/log/radicale/*.log, but not /var/log/radicale/log
# (the example given on radicale.org, including their own logfile rotation)
args = ('/var/log/radicale/radicale.log',)
formatter = full
[formatter_full]
format = %(asctime)s - [%(thread)x] %(levelname)s: %(message)s
Adicionar o hostname do Radicale

Editar o arquivo /etc/radicale/config

[server]
hosts = 127.0.0.1:5232, hostname.local:5232
ssl = true
Habilitar o serviço Radicale no boot

$ sudo update-rc.d radicale enable
service radicale start
service radicale status
service radicale stop

Configuração do Vhost no Apache para o Radicale

$ sudo apt install apache2 libapache2-mod-wsgi
$ sudo vim etc/apache2/sites-available/radicale.conf

< VirtualHost *:80 >
  ServerName dav.dominio.com.br

WSGIDaemonProcess radicale user=www-data group=www-data threads=1
WSGIScriptAlias / /usr/share/radicale/radicale.wsgi

< Directory /usr/share/radicale>
WSGIProcessGroup radicale
WSGIApplicationGroup %{GLOBAL}
AllowOverride None
Order allow,deny
allow from all
< /Directory >
< /VirtualHost >
Ativar o Vhost

$ sudo a2dissite 000-default.conf
$ sudo a2ensite radicale.conf

Criar arquivo de log com usuário e grupo www-data

$ sudo mkdir -p /var/log/radicale/
$ sudo chown -R www-data /var/log/radicale/
$ sudo mkdir -p /var/lib/radicale
$ sudo chown -R www-data /var/lib/radicale/

Reinicie o serviço do Radicale e Apache

Ao acessar http://dav.dominio.com.br irá redirecionar por debaixo dos panos http://dav.dominio:5232

Agora, utilize o App CardDAV-Sync e adicione o servidor Radicale configurado para sincronizar os contatos.

Referências:

https://wiki.debian.org/Radicale

Feito!

Nenhum comentário:

Postar um comentário