Cách cài đặt Lịch Radicale (CalDAV và CardDAV) trên Ubuntu 20.04

theanh

Administrator
Nhân viên
Radicale là máy chủ CalDAV (Lịch, danh sách việc cần làm) và CardDav (danh bạ) miễn phí và mã nguồn mở. Mục tiêu của nó là trở thành một ứng dụng máy chủ (CalDAV và CardDav) nhỏ và nhẹ, nhưng mạnh mẽ và hoạt động ngay khi cài đặt. Radicale cho phép bạn chia sẻ lịch và danh sách danh bạ thông qua CalDAV, CardDAV và HTTPS. Và quan trọng nhất, nó có thể được bảo mật thông qua kết nối TLS và xác thực. Ngoài ra, nó hoạt động với nhiều máy khách CalDAV và CardDAV như gnome-calendar, evolution, Mozilla thunderbird, DAVx (dành cho Android), v.v.

Radicale có cấu hình đơn giản và dễ cấu hình và cài đặt. Radicale được viết bằng Python, chạy trên các hệ điều hành như Linux, BSD, macOS và Windows.

Trong hướng dẫn này, bạn sẽ học cách cài đặt và cấu hình Radicale trên Ubuntu 20.04.

Điều kiện tiên quyết​

  • Ubuntu 20.04. Đảm bảo các gói và kho lưu trữ được cập nhật.
  • Người dùng root hoặc người dùng có quyền root. Quyền này sẽ được sử dụng để cài đặt các gói mới và chỉnh sửa cấu hình hệ thống.

Cài đặt Passlib và Thư viện Bcrypt​

Lúc đầu, bạn sẽ cài đặt một số gói phụ thuộc cho quá trình cài đặt radicale. Bạn sẽ cài đặt mô-đun python-pip, python-passlib, sau đó cài đặt mô-đun python bcrypt từ PyPI (kho lưu trữ python).

1. Thực hiện lệnh apt sau để cài đặt mô-đun python-pip và python-passlib vào hệ thống Ubuntu.
Mã:
sudo apt install python3-pip python3-passlib
Gõ 'Y' và nhấn 'Enter' để cài đặt tất cả các gói đó.



2. Nếu quá trình cài đặt hoàn tất, hãy chạy lệnh pip bên dưới để cài đặt mô-đun Python bcrypt.
Mã:
sudo pip3 install bcrypt
Bây giờ bạn sẽ thấy kết quả sau.


Cài đặt và cấu hình Radicale​

Theo mặc định, các gói radicale có sẵn tại kho lưu trữ Ubuntu.

1. Thực hiện lệnh apt bên dưới để cài đặt radicale trên hệ thống Ubuntu.
Mã:
sudo apt install radicale
Gõ 'Y' và nhấn 'Enter' để cài đặt các gói radicale.



2. Sau khi cài đặt hoàn tất, bạn sẽ chỉnh sửa cấu hình radicale mặc định có tại '/etc/radicale/config'.

Chỉnh sửa cấu hình radicale bằng lệnh nano bên dưới.
Mã:
sudo nano /etc/radicale/config
3. Tại phần [máy chủ], hãy thay đổi cấu hình mặc định bằng cấu hình sau.
Mã:
[máy chủ]

host = 127.0.0.1:5232
max_connections = 20
max_content_length = 100000000
timout = 30
Máy chủ radicale sẽ chỉ chạy trên địa chỉ IP cục bộ vì chúng tôi sẽ đặt máy chủ web Apache làm proxy ngược ở phía trước máy chủ.

4. Tiếp theo, hãy bình luận về cấu hình SSL như bên dưới, vì mã hóa SSL sẽ được thực hiện thông qua proxy ngược Apache.
Mã:
# Cờ SSL, bật giao thức HTTPS
#ssl = False

# Đường dẫn chứng chỉ SSL
#certificate = /etc/ssl/certs/ssl-cert-snakeoil.pem

# Khóa riêng tư SSL
#key = /etc/ssl/private/ssl-cert-snakeoil.key
5. Sau đó, di chuyển đến phần '[auth]' và thay đổi cấu hình mặc định như sau.
Mã:
[auth]
type = htpasswd
htpasswd_filename = /etc/radicale/users
htpasswd_encryption = bcrypt
Loại xác thực mà chúng ta đang sử dụng là 'htpasswd' với mã hóa mạnh 'bcrypt' và danh sách người dùng sẽ được lưu trữ tại tệp '/etc/radicale/users'.

6. Tiếp theo, ở cấu hình dưới cùng, bạn sẽ thấy phần '[storage]'. Thay đổi cấu hình như bên dưới để kích hoạt backend lưu trữ radicale.
Mã:
[storage]
type = multifilysystem
filesystem_folder = /var/lib/radicale/collections
filesystem_locking = True
Backend lưu trữ mặc định cho radicale là 'multifilesystem' và tất cả dữ liệu của người dùng đều có sẵn tại thư mục '/var/lib/radicale/collections'.

Bây giờ hãy nhấn 'Ctrl+x' và nhập 'y', sau đó nhấn nút 'Enter' để lưu và thoát.

Tạo người dùng cho Radicale​

Ở giai đoạn này, quá trình cấu hình radicale đã hoàn tất. Và bây giờ, bạn sẽ tạo một người dùng và mật khẩu mới cho radicale, có thể được tạo bằng lệnh 'htpasswd' (một phần của gói 'apache2-utils').

1. Thực hiện lệnh apt bên dưới để cài đặt gói 'apache2-utils'.
Mã:
sudo apt install apache2-utils
Nhập 'Y' và nhấn 'Enter' để tiếp tục cài đặt.



2. Tiếp theo, tạo người dùng mới (ví dụ này là người dùng 'johndoe') và mật khẩu bằng cách chạy lệnh htpasswd bên dưới.
Mã:
sudo htpasswd -B -c /etc/radicale/users johndoe
Bây giờ nhập và lặp lại mật khẩu cho người dùng 'johndoe'.

Các tùy chọn quan trọng bạn phải biết:
  • -Tùy chọn B - tùy chọn này sẽ buộc sử dụng mã hóa mạnh 'bcrypt', không phải 'md5' mặc định.
  • -Tùy chọn c - Tệp mật khẩu bạn muốn tạo. Tên người dùng và mật khẩu có sẵn trong tệp đó.
Để thêm người dùng khác, chỉ cần chạy lệnh ở trên cùng và thay đổi tên người dùng bằng tên của riêng bạn.

Tùy chọn, hãy kiểm tra tệp mật khẩu đã tạo '/etc/radicale/users' bằng lệnh cat như bên dưới.
Mã:
cat /etc/radicale/users


3. Sau khi tạo tệp người dùng và mật khẩu, hãy bật dịch vụ radicale để tự động khởi động khi khởi động.
Mã:
sudo systemctl enable radicale
4. Bây giờ hãy khởi động dịch vụ radicale và kiểm tra trạng thái dịch vụ bằng cách thực thi lệnh sau.
Mã:
sudo systemctl start radicale
sudo systemctl status radicale
Nếu dịch vụ radicale của bạn đang hoạt động và chạy, bạn sẽ thấy đầu ra tương tự như bên dưới. Nếu không, bạn sẽ thấy trạng thái dịch vụ radicale là 'thất bại' ở cuối thông báo nhật ký.


Thiết lập Apache làm Proxy ngược cho Radicale​

Ở giai đoạn này, bạn sẽ cài đặt và cấu hình Apache làm proxy ngược cho radicale.

1. Cài đặt các gói Apache bằng cách thực thi lệnh apt bên dưới.
Mã:
sudo apt install apache2
Bây giờ hãy nhập 'Y' và nhấn 'Enter' để tiếp tục cài đặt.



2. Sau khi cài đặt hoàn tất, hãy thực hiện lệnh sau để kích hoạt một số mô-đun proxy cho Apache và kích hoạt mô-đun mod_ssl.
Mã:
sudo a2enmod proxy proxy_ajp proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html ssl
3. Bây giờ hãy thay đổi thư mục làm việc thành '/etc/apache2/sites-available' và tạo cấu hình máy chủ ảo mới 'radicale.conf'.
Mã:
cd /etc/apache2/sites-available/
sudo nano radicale.conf
Sao chép và dán cấu hình sau và đảm bảo thay đổi tên miền bằng tên miền của riêng bạn.
Mã:
 ServerName cal.domain-name.io
 ServerAdmin [emailprotected]

 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
 Cho phép từ tất cả
 

 RewriteEngine On
 RewriteRule ^/radicale$ /radicale/ [R,L]

 
 AuthType Basic
 AuthName "Radicale - Yêu cầu mật khẩu"
 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
 Cho phép từ tất cả
Lưu cấu hình bằng cách nhấn 'Ctrl+x' và nhập 'y', sau đó nhấn 'Enter'.

Sử dụng cấu hình này, radicale sẽ có sẵn tại đường dẫn miền 'domain.com/radicale', không phải tại đường dẫn gốc của tên miền.

4. Tiếp theo, thực hiện lệnh sau để kích hoạt cấu hình máy chủ ảo 'radicale.conf'.
Mã:
sudo a2ensite radicale.conf
5. Sau đó, hãy xác minh cấu hình Apache và đảm bảo không có lỗi nào, sau đó khởi động lại dịch vụ Apache để áp dụng cấu hình máy chủ ảo mới.
Mã:
sudo apachectl configtest
sudo systemctl restart apache2
Nếu cấu hình Apache của bạn đúng, bạn sẽ thấy thông báo 'Cú pháp OK' sau khi chạy lệnh 'apachectl'. Và bên dưới là đầu ra tương tự mà bạn sẽ nhận được.


Tạo SSL Letsencrypt​

Đối với giai đoạn này, bạn sẽ bảo mật cài đặt radicale bằng SSL Letsencrypt.

1. Thực hiện lệnh sau để cài đặt plugin certbot và certbot-apache.
Mã:
sudo apt install certbot python-certbot-apache
2. Sau khi cài đặt hoàn tất, hãy tạo một SSL Letsencrtypt mới cho tên miền radicale bằng lệnh certbot bên dưới.
Mã:
sudo certbot --apache -d domain-name.io -d [URL=http://www.domain-name.io?utm_source=diendancongnghe.com]www.domain-name.io[/URL]
Và bạn sẽ được hỏi một số câu hỏi bên dưới.
  • Địa chỉ email: khi chứng chỉ SSL hết hạn, bạn sẽ được thông báo qua email này.
  • Letsencrypt TOS (Điều khoản dịch vụ): nhập 'A' để đồng ý.
  • Chia sẻ email với EFF: bạn có thể chọn 'N' cho số.
  • Tự động chuyển hướng HTTP sang HTTPS: chọn số '2' để bật tính năng tự động chuyển hướng.
Sau khi quá trình hoàn tất, bạn sẽ thấy chứng chỉ SSL có sẵn tại thư mục '/etc/letsencrypt/live/domain.com'. Và máy chủ ảo Apache đã thay đổi với cấu hình bổ sung từ letsencrypt.

Xác minh cài đặt​

Mở trình duyệt web của bạn và nhập URL cài đặt radicale vào thanh địa chỉ.

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

Bây giờ bạn sẽ được yêu cầu nhập tên người dùng và mật khẩu để xác thực cơ bản Apache.



Nhập tên người dùng và mật khẩu của bạn, sau đó nhấp vào nút 'Đăng nhập'.

Và bạn sẽ nhận được trang đăng nhập Radicale như bên dưới.



Nhập tên người dùng và mật khẩu của bạn cho Radicale và nhấp vào nút 'Tiếp theo'.

Sau khi bạn đã đăng nhập, hãy nhấp vào liên kết 'Tạo sổ địa chỉ hoặc lịch mới'.



Thay đổi tiêu đề, mô tả, loại và tô màu theo ý bạn, sau đó nhấp vào nút 'Tạo'.



Bây giờ bạn sẽ được chuyển hướng đến bảng điều khiển người dùng radicale như bên dưới.


Kết luận​

Xin chúc mừng! Bây giờ bạn đã cài đặt thành công Radicale trên Ubuntu 20.04 Server. Đối với giai đoạn tiếp theo, bạn có thể kết nối an toàn với máy chủ radicale mới của mình bằng cách sử dụng các máy khách CalDAV/CardDAV từ máy tính hoặc điện thoại thông minh Android của bạn.
 
Back
Bên trên