설치 가이드 · 5 min read · Sep 08, 2025

우분투 20.04에 Radicale 캘린더 (CalDAV 및 CardDAV) 설치하는 방법

Radicale은 무료 오픈 소스 CalDAV (캘린더, 할 일 목록) 및 CardDav (연락처) 서버입니다. 이는 작고 가벼운 (CalDAV 및 CardDav) 서버 애플리케이션이면서도 강력하고 즉시 사용할 수 있도록 설계되었습니다. Radicale은 CalDAV, CardDAV 및 HTTPS를 통해 캘린더와 연락처 목록을 공유할 수 있게 해줍니다. 그리고 가장 중요한 것은 TLS 연결 및 인증을 통해 보안을 유지할 수 있다는 것입니다. 또한 gnome-calendar, evolution, Mozilla thunderbird, DAVx (안드로이드용) 등 많은 CalDAV 및 CardDAV 클라이언트와 함께 작동합니다.

Radicale은 간단한 구성으로 제공되며, 구성 및 설치가 쉽습니다. Radicale은 Python으로 작성되었으며, Linux, BSD, macOS 및 Windows와 같은 운영 체제에서 실행됩니다.

이 튜토리얼에서는 우분투 20.04에 Radicale을 설치하고 구성하는 방법을 배웁니다.

전제 조건

  • 우분투 20.04. 패키지 및 저장소가 업데이트되었는지 확인하십시오.
  • 루트 사용자 또는 루트 권한이 있는 사용자. 이는 새로운 패키지를 설치하고 시스템 구성을 편집하는 데 사용됩니다.

Passlib 및 Bcrypt 라이브러리 설치

처음에는 radicale 설치를 위한 일부 패키지 종속성을 설치합니다. python-pip, python-passlib 모듈을 설치한 다음 PyPI (python 저장소)에서 python bcrypt 모듈을 설치합니다.

  1. 다음 apt 명령을 실행하여 python-pip 및 python-passlib 모듈을 우분투 시스템에 설치합니다.
sudo apt install python3-pip python3-passlib

Y ‘를 입력하고 ‘ Enter ‘를 눌러 모든 패키지를 설치합니다.

Python Pip 및 Passlib 라이브러리 설치

  1. 설치가 완료되면 아래의 pip 명령을 실행하여 Python bcrypt 모듈을 설치합니다.
sudo pip3 install bcrypt

이제 다음 출력을 볼 수 있습니다.

Bcrypt 라이브러리 설치

Radicale 설치 및 구성

기본적으로 radicale 패키지는 우분투 저장소에서 사용할 수 있습니다.

  1. 아래의 apt 명령을 실행하여 우분투 시스템에 radicale를 설치합니다.
sudo apt install radicale

Y ‘를 입력하고 ‘ Enter ‘를 눌러 radicale 패키지를 설치합니다.

우분투에 Radicale 캘린더 설치

  1. 설치가 완료되면 ‘ /etc/radicale/config ‘에 있는 기본 radicale 구성을 편집합니다.

아래의 nano 명령을 사용하여 radical 구성을 편집합니다.

sudo nano /etc/radicale/config
  1. [server] 섹션에서 다음 구성을 사용하여 기본 구성을 변경합니다.
[server]  
  
host = 127.0.0.1:5232  
max_connections = 20  
max_content_length = 100000000  
timout = 30

radicale 서버는 Apache 웹 서버를 프론트에 리버스 프록시로 두기 때문에 로컬 IP 주소에서만 실행됩니다.

  1. 다음으로, 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
  1. 그 후, ‘[auth]’ 섹션으로 이동하여 기본 구성을 다음과 같이 변경합니다.
[auth]  
type = htpasswd  
htpasswd_filename = /etc/radicale/users  
htpasswd_encryption = bcrypt

우리가 사용하는 인증 유형은 ‘ htpasswd ‘이며 강력한 암호화 ‘ bcrypt ‘를 사용하고, 사용자 목록은 ‘ /etc/radicale/users ‘ 파일에 저장됩니다.

  1. 다음으로, 하단 구성에서 ‘[storage] ‘ 섹션을 볼 수 있습니다. radicale 저장소 백엔드를 활성화하기 위해 구성을 아래와 같이 변경합니다.
[storage]  
type = multifilysystem  
filesystem_folder = /var/lib/radicale/collections  
filesystem_locking = True

radicale의 기본 저장소 백엔드는 ‘multifilesystem’이며, 모든 사용자의 데이터는 ‘/var/lib/radicale/collections’ 디렉토리에서 사용할 수 있습니다.

이제 ‘ Ctrl+x ‘를 누르고 ‘y’를 입력한 후 ‘ Enter ‘ 버튼을 눌러 저장하고 종료합니다.

Radicale 사용자 생성

이 단계에서 radicale의 구성이 완료되었습니다. 이제 ‘htpasswd’ 명령 ( ‘apache2-utils’ 패키지의 일부)을 사용하여 radicale의 새 사용자와 비밀번호를 생성합니다.

  1. 아래의 apt 명령을 실행하여 ‘ apache2-utils ‘ 패키지를 설치합니다.
sudo apt install apache2-utils

Y ‘를 입력하고 ‘ Enter ‘를 눌러 설치를 계속합니다.

Apache 유틸리티 패키지 설치

  1. 다음으로, 아래의 htpasswd 명령을 실행하여 새 사용자 (이 예에서는 사용자 ‘johndoe’)와 비밀번호를 생성합니다.
sudo htpasswd -B -c /etc/radicale/users johndoe

이제 사용자 ‘ johndoe ‘의 비밀번호를 입력하고 반복합니다.

알아야 할 중요한 옵션:

  • -B 옵션 - 이는 강력한 암호화 ‘bcrypt’를 사용하도록 강제하며, 기본 ‘md5’는 사용하지 않습니다.
  • -c 옵션 - 생성할 비밀번호 파일입니다. 사용자 이름과 비밀번호는 해당 파일에 저장됩니다.

다른 사용자를 추가하려면 위의 명령을 실행하고 사용자 이름을 변경하면 됩니다.

선택적으로, 아래의 cat 명령을 사용하여 생성된 비밀번호 파일 ‘ /etc/radicale/users ‘를 확인합니다.

cat /etc/radicale/users

htpasswd 사용자 및 비밀번호 생성

  1. 사용자 및 비밀번호 파일을 생성한 후, radicale 서비스가 부팅 시 자동으로 시작되도록 활성화합니다.
sudo systemctl enable radicale
  1. 이제 radicale 서비스를 시작하고 아래의 명령을 실행하여 서비스 상태를 확인합니다.
sudo systemctl start radicale  
sudo systemctl status radicale

radicale 서비스가 활성화되고 실행 중이면 아래와 유사한 출력을 볼 수 있습니다. 그렇지 않으면 로그 메시지 하단에서 radicale 서비스 상태가 ‘failed’로 표시됩니다.

radicale 서비스 상태 시작 및 확인

Radicale를 위한 리버스 프록시로 Apache 설정

이 단계에서는 radicale를 위한 리버스 프록시로 Apache를 설치하고 구성합니다.

  1. 아래의 apt 명령을 실행하여 Apache 패키지를 설치합니다.
sudo apt install apache2

이제 ‘ Y ‘를 입력하고 ‘ Enter ‘를 눌러 설치를 계속합니다.

Apache 웹 서버 설치

  1. 설치가 완료되면 아래의 명령을 실행하여 Apache의 일부 프록시 모듈을 활성화하고 mod_ssl 모듈을 활성화합니다.
sudo a2enmod proxy proxy_ajp proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html ssl
  1. 이제 작업 디렉토리를 ‘ /etc/apache2/sites-available ‘로 변경하고 새로운 가상 호스트 구성 ‘ radicale.conf ‘를 생성합니다.
cd /etc/apache2/sites-available/  
sudo nano radicale.conf

다음 구성을 복사하여 붙여넣고 도메인 이름을 자신의 것으로 변경합니다.

  
       
    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  
      
        Order deny,allow  
        Allow from all  
      
  
    RewriteEngine On  
    RewriteRule ^/radicale$ /radicale/ [R,L]  
  
      
        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}  
      
  
      
        Order allow,deny  
        Allow from all  
      
  

Ctrl+x ‘를 눌러 구성을 저장하고 ‘ y ‘를 입력한 후 ‘ Enter ‘를 누릅니다.

이 구성을 사용하면 radicale는 도메인 경로 ‘domain.com/radicale’에서 사용할 수 있으며, 도메인 이름의 루트 경로에서는 사용할 수 없습니다.

  1. 다음으로, 아래의 명령을 실행하여 가상 호스트 구성 ‘radicale.conf’를 활성화합니다.
sudo a2ensite radicale.conf
  1. 그 후, Apache 구성을 확인하고 오류가 없는지 확인한 다음, 새로운 가상 호스트 구성을 적용하기 위해 Apache 서비스를 재시작합니다.
sudo apachectl configtest  
sudo systemctl restart apache2

Apache 구성이 올바르면 ‘apachectl’ 명령을 실행한 후 ‘ Syntax OK ‘라는 메시지를 볼 수 있습니다. 아래는 유사한 출력을 얻을 수 있습니다.

Radicale를 위한 Apache 가상 호스트 설정

SSL Letsencrypt 생성

이 단계에서는 SSL Letsencrypt를 사용하여 radicale 설치를 보안합니다.

  1. certbot 및 certbot-apache 플러그인을 설치하기 위해 다음 명령을 실행합니다.
sudo apt install certbot python-certbot-apache
  1. 설치가 완료되면 아래의 certbot 명령을 사용하여 radicale 도메인 이름에 대한 새로운 SSL Letsencrypt를 생성합니다.
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의 추가 구성으로 변경됩니다.

설치 확인

웹 브라우저를 열고 주소 표시줄에 radicale URL 설치를 입력합니다.

https://cal.domain-name.io/radicale/

이제 Apache 기본 인증을 위한 사용자와 비밀번호를 입력하라는 메시지가 표시됩니다.

Radicale Apache 기본 인증

사용자와 비밀번호를 입력한 후 ‘ Sign in ‘ 버튼을 클릭합니다.

그러면 아래와 같은 Radicale 로그인 페이지가 표시됩니다.

Radicale 로그인 페이지

Radicale의 사용자와 비밀번호를 입력하고 ‘ Next ‘ 버튼을 클릭합니다.

로그인하면 아래와 같은 radicale 사용자 대시보드로 리디렉션됩니다.

Radicale 사용자 대시보드

결론

축하합니다! 이제 우분투 20.04 서버에 Radicale을 성공적으로 설치했습니다. 다음 단계에서는 컴퓨터나 스마트폰 안드로이드에서 CalDAV/CardDAV 클라이언트를 사용하여 새로운 radicale 서버에 안전하게 연결할 수 있습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.