웹사이트 검색

Ubuntu 20.04에 Radicale 캘린더(CalDAV 및 CardDAV)를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. Passlib 및 Bcrypt 라이브러리 설치
  3. Radicale 설치 및 구성
  4. Radicale용 사용자 생성
  5. Apache를 Radicale용 리버스 프록시로 설정\n
  6. SSL Letsencrypt 생성
  7. 설치 확인\n
  8. 결론

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와 같은 운영 체제에서 실행됩니다.

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

전제 조건

  • 우분투 20.04. 패키지 및 리포지토리가 업데이트되었는지 확인합니다.\n
  • 루트 사용자 또는 루트 권한이 있는 사용자. 새 패키지를 설치하고 시스템 구성을 편집하는 데 사용됩니다.\n

Passlib 및 Bcrypt 라이브러리 설치

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

1. 다음 apt 명령을 실행하여 Ubuntu 시스템에 python-pip 및 python-passlib 모듈을 설치합니다.

sudo apt install python3-pip python3-passlib

Y를 입력하고 Enter를 눌러 해당 패키지를 모두 설치하십시오.

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

sudo pip3 install bcrypt

이제 다음 출력이 표시됩니다.

Radicale 설치 및 구성

기본적으로 Radicale 패키지는 Ubuntu 리포지토리에서 사용할 수 있습니다.

1. 아래의 apt 명령을 실행하여 Ubuntu 시스템에 radicale을 설치합니다.

sudo apt install radicale

Y를 입력하고 Enter 키를 눌러 라디칼 패키지를 설치합니다.

2. 설치가 완료되면 /etc/radicale/config에서 사용할 수 있는 기본 라디칼 구성을 편집하게 됩니다.

아래의 nano 명령을 사용하여 근본적인 구성을 편집하십시오.

sudo nano /etc/radicale/config

3. [server] 섹션에서 다음 구성을 사용하여 기본 구성을 변경합니다.

[server]

host = 127.0.0.1:5232
max_connections = 20
max_content_length = 100000000
timout = 30

Radicale 서버는 Apache 웹 서버를 앞에 리버스 프록시로 배치하기 때문에 로컬 IP 주소에서만 실행됩니다.

4. SSL 암호화는 Apache 리버스 프록시를 통해 이루어지기 때문에 다음으로 SSL 구성에 대해 아래와 같이 설명합니다.

# 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

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

6. 다음으로 하단 구성에 [저장소] 섹션이 표시됩니다. 라디칼 스토리지 백엔드를 활성화하려면 아래와 같이 구성을 변경하십시오.

[storage]
type = multifilysystem
filesystem_folder = /var/lib/radicale/collections
filesystem_locking = True

Radicale의 기본 스토리지 백엔드는 다중 파일 시스템이며 모든 사용자 데이터는 /var/lib/radicale/collections 디렉토리에서 사용할 수 있습니다.

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

Radicale 사용자 생성

이 단계에서 라디칼의 구성이 완료됩니다. 그리고 지금은 htpasswd 명령(apache2-utils 패키지의 일부)을 사용하여 생성할 수 있는 Radicale에 대한 새 사용자 및 암호를 생성합니다.

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

sudo apt install apache2-utils

Y를 입력하고 Enter를 눌러 설치를 계속하십시오.

2. 다음으로 아래의 htpasswd 명령을 실행하여 새 사용자(이 예의 경우 사용자 johndoe)와 암호를 생성합니다.

sudo htpasswd -B -c /etc/radicale/users johndoe

이제 사용자 johndoe의 암호를 입력하고 반복합니다.

알아야 할 중요한 옵션:

  • -B 옵션 - 기본 md5가 아닌 강력한 암호화 bcrypt를 사용하도록 합니다.\n
  • -c 옵션 - 만들려는 암호 파일입니다. 사용자 이름과 암호는 해당 파일에서 사용할 수 있습니다.\n

다른 사용자를 추가하려면 위에서 명령을 실행하고 사용자 이름을 자신의 것으로 변경하십시오.

선택적으로 아래와 같이 cat 명령을 사용하여 생성된 암호 파일 /etc/radicale/users를 확인합니다.

cat /etc/radicale/users

3. 사용자 및 암호 파일을 생성한 후 부팅 시 자동으로 시작되도록 Radicale 서비스를 활성화합니다.

sudo systemctl enable radicale

4. 이제 Radicale 서비스를 시작하고 다음 명령을 실행하여 서비스 상태를 확인합니다.

sudo systemctl start radicale
sudo systemctl status radicale

Radicale 서비스가 활성화되어 실행 중인 경우 아래와 유사한 출력이 표시됩니다. 그렇지 않으면 로그 메시지 하단에 라디칼 서비스 상태가 실패로 표시됩니다.

Radicale용 리버스 프록시로 Apache 설정

이 단계에서는 Apache를 Radicale의 리버스 프록시로 설치 및 구성합니다.

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

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로 변경하고 새로운 가상 호스트 구성인 radicale.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 구성이 올바른 경우 apachectl 명령을 실행한 후 Syntax OK 메시지가 표시됩니다. 그리고 아래는 비슷한 출력입니다.

SSL Letsencrypt 생성

이 단계에서는 SSL Letsencrypt를 사용하여 라디칼 설치를 보호합니다.

1. 다음 명령을 실행하여 certbot 및 certbot-apache 플러그인을 설치합니다.

sudo apt install certbot python-certbot-apache

2. 설치가 완료되면 아래 certbot 명령을 사용하여 라디칼 도메인 이름에 대한 새 SSL Letsencrtypt를 생성합니다.

sudo certbot --apache -d domain-name.io -d www.domain-name.io

그리고 아래에 몇 가지 질문을 받게 됩니다.

  • 이메일 주소: SSL 인증서가 만료되면 이 이메일로 알려드립니다.
  • Letsencrypt TOS(서비스 약관): A를 입력하여 동의합니다.\n
  • EFF와 이메일 공유: 아니오를 N으로 선택할 수 있습니다.\n
  • HTTP를 HTTPS로 자동 리디렉션: 자동 리디렉션을 사용하려면 2번을 선택합니다.\n

프로세스가 완료되면 /etc/letsencrypt/live/domain.com 디렉터리에서 SSL 인증서를 사용할 수 있음을 확인할 수 있습니다. 그리고 Apache 가상 호스트는 letsencrypt의 추가 구성으로 변경되었습니다.

설치 확인

웹 브라우저를 열고 주소 표시줄에 라디칼 URL 설치를 입력하십시오.

이제 Apache 기본 인증을 위한 사용자와 암호를 묻는 메시지가 나타납니다.

사용자와 암호를 입력한 다음 로그인 버튼을 클릭합니다.

그러면 아래와 같이 Radicale 로그인 페이지가 나타납니다.

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

로그인한 후 새 주소록 또는 캘린더 만들기 링크를 클릭합니다.

제목, 설명, 유형 및 색상을 원하는 대로 변경한 다음 만들기 버튼을 클릭합니다.

이제 아래와 같이 급진적인 사용자 대시보드로 리디렉션됩니다.

결론

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