설치 가이드 · 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 모듈을 설치합니다.
- 다음 apt 명령을 실행하여 python-pip 및 python-passlib 모듈을 우분투 시스템에 설치합니다.
sudo apt install python3-pip python3-passlib‘ Y ‘를 입력하고 ‘ Enter ‘를 눌러 모든 패키지를 설치합니다.

- 설치가 완료되면 아래의 pip 명령을 실행하여 Python bcrypt 모듈을 설치합니다.
sudo pip3 install bcrypt이제 다음 출력을 볼 수 있습니다.

Radicale 설치 및 구성
기본적으로 radicale 패키지는 우분투 저장소에서 사용할 수 있습니다.
- 아래의 apt 명령을 실행하여 우분투 시스템에 radicale를 설치합니다.
sudo apt install radicale‘ Y ‘를 입력하고 ‘ Enter ‘를 눌러 radicale 패키지를 설치합니다.

- 설치가 완료되면 ‘ /etc/radicale/config ‘에 있는 기본 radicale 구성을 편집합니다.
아래의 nano 명령을 사용하여 radical 구성을 편집합니다.
sudo nano /etc/radicale/config- [server] 섹션에서 다음 구성을 사용하여 기본 구성을 변경합니다.
[server]
host = 127.0.0.1:5232
max_connections = 20
max_content_length = 100000000
timout = 30radicale 서버는 Apache 웹 서버를 프론트에 리버스 프록시로 두기 때문에 로컬 IP 주소에서만 실행됩니다.
- 다음으로, 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- 그 후, ‘[auth]’ 섹션으로 이동하여 기본 구성을 다음과 같이 변경합니다.
[auth]
type = htpasswd
htpasswd_filename = /etc/radicale/users
htpasswd_encryption = bcrypt우리가 사용하는 인증 유형은 ‘ htpasswd ‘이며 강력한 암호화 ‘ bcrypt ‘를 사용하고, 사용자 목록은 ‘ /etc/radicale/users ‘ 파일에 저장됩니다.
- 다음으로, 하단 구성에서 ‘[storage] ‘ 섹션을 볼 수 있습니다. radicale 저장소 백엔드를 활성화하기 위해 구성을 아래와 같이 변경합니다.
[storage]
type = multifilysystem
filesystem_folder = /var/lib/radicale/collections
filesystem_locking = Trueradicale의 기본 저장소 백엔드는 ‘multifilesystem’이며, 모든 사용자의 데이터는 ‘/var/lib/radicale/collections’ 디렉토리에서 사용할 수 있습니다.
이제 ‘ Ctrl+x ‘를 누르고 ‘y’를 입력한 후 ‘ Enter ‘ 버튼을 눌러 저장하고 종료합니다.
Radicale 사용자 생성
이 단계에서 radicale의 구성이 완료되었습니다. 이제 ‘htpasswd’ 명령 ( ‘apache2-utils’ 패키지의 일부)을 사용하여 radicale의 새 사용자와 비밀번호를 생성합니다.
- 아래의 apt 명령을 실행하여 ‘ apache2-utils ‘ 패키지를 설치합니다.
sudo apt install apache2-utils‘ Y ‘를 입력하고 ‘ Enter ‘를 눌러 설치를 계속합니다.

- 다음으로, 아래의 htpasswd 명령을 실행하여 새 사용자 (이 예에서는 사용자 ‘johndoe’)와 비밀번호를 생성합니다.
sudo htpasswd -B -c /etc/radicale/users johndoe이제 사용자 ‘ johndoe ‘의 비밀번호를 입력하고 반복합니다.
알아야 할 중요한 옵션:
- -B 옵션 - 이는 강력한 암호화 ‘bcrypt’를 사용하도록 강제하며, 기본 ‘md5’는 사용하지 않습니다.
- -c 옵션 - 생성할 비밀번호 파일입니다. 사용자 이름과 비밀번호는 해당 파일에 저장됩니다.
다른 사용자를 추가하려면 위의 명령을 실행하고 사용자 이름을 변경하면 됩니다.
선택적으로, 아래의 cat 명령을 사용하여 생성된 비밀번호 파일 ‘ /etc/radicale/users ‘를 확인합니다.
cat /etc/radicale/users
- 사용자 및 비밀번호 파일을 생성한 후, radicale 서비스가 부팅 시 자동으로 시작되도록 활성화합니다.
sudo systemctl enable radicale- 이제 radicale 서비스를 시작하고 아래의 명령을 실행하여 서비스 상태를 확인합니다.
sudo systemctl start radicale
sudo systemctl status radicaleradicale 서비스가 활성화되고 실행 중이면 아래와 유사한 출력을 볼 수 있습니다. 그렇지 않으면 로그 메시지 하단에서 radicale 서비스 상태가 ‘failed’로 표시됩니다.

Radicale를 위한 리버스 프록시로 Apache 설정
이 단계에서는 radicale를 위한 리버스 프록시로 Apache를 설치하고 구성합니다.
- 아래의 apt 명령을 실행하여 Apache 패키지를 설치합니다.
sudo apt install apache2이제 ‘ Y ‘를 입력하고 ‘ Enter ‘를 눌러 설치를 계속합니다.

- 설치가 완료되면 아래의 명령을 실행하여 Apache의 일부 프록시 모듈을 활성화하고 mod_ssl 모듈을 활성화합니다.
sudo a2enmod proxy proxy_ajp proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html ssl- 이제 작업 디렉토리를 ‘ /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’에서 사용할 수 있으며, 도메인 이름의 루트 경로에서는 사용할 수 없습니다.
- 다음으로, 아래의 명령을 실행하여 가상 호스트 구성 ‘radicale.conf’를 활성화합니다.
sudo a2ensite radicale.conf- 그 후, Apache 구성을 확인하고 오류가 없는지 확인한 다음, 새로운 가상 호스트 구성을 적용하기 위해 Apache 서비스를 재시작합니다.
sudo apachectl configtest
sudo systemctl restart apache2Apache 구성이 올바르면 ‘apachectl’ 명령을 실행한 후 ‘ Syntax OK ‘라는 메시지를 볼 수 있습니다. 아래는 유사한 출력을 얻을 수 있습니다.

SSL Letsencrypt 생성
이 단계에서는 SSL Letsencrypt를 사용하여 radicale 설치를 보안합니다.
- certbot 및 certbot-apache 플러그인을 설치하기 위해 다음 명령을 실행합니다.
sudo apt install certbot python-certbot-apache- 설치가 완료되면 아래의 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 기본 인증을 위한 사용자와 비밀번호를 입력하라는 메시지가 표시됩니다.

사용자와 비밀번호를 입력한 후 ‘ Sign in ‘ 버튼을 클릭합니다.
그러면 아래와 같은 Radicale 로그인 페이지가 표시됩니다.

Radicale의 사용자와 비밀번호를 입력하고 ‘ Next ‘ 버튼을 클릭합니다.
로그인하면 아래와 같은 radicale 사용자 대시보드로 리디렉션됩니다.

결론
축하합니다! 이제 우분투 20.04 서버에 Radicale을 성공적으로 설치했습니다. 다음 단계에서는 컴퓨터나 스마트폰 안드로이드에서 CalDAV/CardDAV 클라이언트를 사용하여 새로운 radicale 서버에 안전하게 연결할 수 있습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.