Thứ sáu, 23/01/2015 | 00:00 GMT+7

Cách đồng bộ hóa lịch và danh bạ bằng chuẩn CardDAV và CalDAV với Baïkal trên Ubuntu 14.04

Với ngày càng nhiều người sử dụng nhiều thiết bị (điện thoại thông minh, máy tính, máy tính bảng, v.v.), nhu cầu đồng bộ hóa mọi thứ không ngừng tăng lên.

Mặc dù việc đồng bộ hóa tệp là quan trọng, nhưng cũng rất hữu ích khi có thể đồng bộ hóa lịch và danh bạ ở định dạng root của chúng.

Các tiêu chuẩn CalDAV và CardDAV cung cấp một cách dễ dàng để cập nhật tất cả những thứ thông minh của ta về những gì ta đang làm, cũng như cách giữ bạn bè và những người liên hệ khác của ta . Trong hướng dẫn này, ta sẽ chỉ cho bạn cách đồng bộ lịch và danh bạ từ server mà bạn kiểm soát, sử dụng cài đặt siêu đơn giản của Baïkal , server PHP CalDAV và CardDAV.

Lưu ý: Nếu bạn đang tìm kiếm một giải pháp tất cả trong một, bạn có thể cần xem qua ownCloud .

Lưu ý: Baïkal nhanh chóng và dễ dàng nhưng không thực sự được thiết kế để triển khai trên quy mô lớn. Nếu bạn muốn đồng bộ hóa lịch và liên hệ cho một doanh nghiệp vừa hoặc lớn, giải pháp này có thể không hiệu quả với bạn.

Yêu cầu

Hãy đảm bảo bạn có những yêu cầu này.

  • Ubuntu 14.04 Server mới với quyền truy cập SSH
  • Một user sudo
  • Các hướng dẫn của Baïkal thực sự khuyên bạn nên có một domain , tốt nhất là một domain phụ, cho server . Hướng dẫn này sẽ sử dụng domain dav.example.com . Bạn có thể sử dụng dav.yourdomain.com . Nếu bạn lưu trữ DNS của bạn bằng Digital Ocean, bài viết này có thể giúp bạn cài đặt domain phụ đó

Ta cũng sẽ cài đặt một số gói mà Baïkal cần; ta sẽ sử dụng certificate SSL; và ta sẽ xem xét việc cài đặt chúng trong chính bài viết. Nếu bạn muốn mua certificate SSL, bạn nên mua certificate đó cho domain hoặc domain phụ của server Baïkal của bạn.

Bước 1 - Cài đặt Baïkal

Để bắt đầu, ta sẽ cài đặt một số gói bắt buộc, download tarball của Baïkal, rồi extract nó.

Trong các ví dụ dưới đây, ta đang sử dụng version Baïkal mới nhất, tại thời điểm viết bài này là 0.2.7 , nhưng ta khuyên bạn nên kiểm tra kỹ phiên bản Baïkal mới nhất trước khi bắt đầu. Để tìm version mới nhất, hãy truy cập trang Baïkal và nhấp vào nút Download để bắt đầu hoặc cuộn xuống phần Download Baïkal . Nếu có version mới hơn, hãy sao chép liên kết download gói Thông thường .

Để bắt đầu, bạn cần phải SSH vào Ubuntu Server của bạn .

Bây giờ ta hãy cài đặt các gói mà Baïkal cần để chạy. Ta sẽ cho rằng đây là bản cài đặt Ubuntu mới, vì vậy trước khi có thể cài đặt một số gói từ repository , ta cần cập nhật cache ẩn của kho bằng apt-get update .

sudo apt-get update 

Cài đặt một số gói yêu cầu : PHP, Apache và SQLite.

sudo apt-get install apache2 php5 php5-sqlite sqlite3 

Lưu ý: Trong file cài đặt Baïkal, tác giả lưu ý Apache có thể được thay thế bằng Nginx và SQLite có thể được thay thế bằng MySQL.

Bây giờ ta đã có các phần cần thiết để Baïkal hoạt động, hãy cài đặt Baïkal! Vì Baïkal là một loại trang web PHP, ta sẽ download và extract nó trong folder trang Apache, /var/www .

cd /var/www sudo wget http://baikal-server.com/get/baikal-regular-0.2.7.tgz sudo tar -xvzf baikal-regular-0.2.7.tgz 

Lưu ý: Đối với những người muốn biết những gì ta vừa yêu cầu tar : x = e x lines, v = v erbose, z = un z ip và f = f ile, theo sau là tên file .

Một bước cuối cùng và Baïkal sẽ được cài đặt . Vì ta đã extract ứng dụng PHP nên ta không cần file tar nữa, vì vậy ta sẽ xóa nó, đổi tên folder đã extract thành một thứ phù hợp hơn, sau đó đảm bảo user Apache có thể đọc và ghi được.

sudo rm baikal-regular-0.2.7.tgz sudo mv baikal-regular dav.example.com sudo chown -R www-data:www-data dav.example.com 

Lưu ý: Bạn có thể đặt tên cho folder bạn muốn , nhưng sẽ dễ dàng hơn nhiều để xác định các trang web, nếu bạn định lưu trữ một số, nếu bạn sử dụng tên trang web cho folder trang web.

Bước 2 - Cài đặt Apache

Ứng dụng của ta đã được cài đặt và bây giờ ta cần thông báo cho Apache về nó. Để làm cho mọi thứ trở nên dễ dàng, Baïkal thực sự bao gồm file cấu hình Apache của riêng nó làm mẫu. Ta sẽ sao chép file đó vào folder sites-available Apache và sau đó chỉnh sửa nó để phù hợp với trang web của ta .

sudo cp /var/www/dav.example.com/Specific/virtualhosts/baikal.apache2 /etc/apache2/sites-available/dav_example_com.conf 

Sử dụng editor yêu thích của bạn, mở file dav_example_com.conf và thay đổi tất cả các URL để sử dụng URL của bạn và các đường dẫn đến nơi bạn đã lưu trữ trang web của bạn . Đây là những gì nó sẽ trông như thế nào:

sudo nano /etc/apache2/sites-available/dav_example_com.conf 
<VirtualHost *:80>     DocumentRoot /var/www/dav.example.com/html     ServerName dav.example.com      RewriteEngine On     RewriteRule /.well-known/carddav /card.php [R,L]     RewriteRule /.well-known/caldav /cal.php [R,L]      <Directory "/var/www/dav.example.com/html">         Options None         Options +FollowSymlinks         AllowOverride All     </Directory> </VirtualHost> 

Bây giờ ta cần chứng chỉ SSL .

Bạn có thể tạo hoặc mua certificate của bạn . Ta sẽ giả định bạn đã làm theo hướng dẫn SSL được liên kết và khóa và certificate của bạn nằm trong folder /etc/apache2/ssl và được gọi là apache.crtapache.key . Vui lòng thay thế chúng bằng các đường dẫn đến certificate và khóa của bạn nếu thích hợp.

Bây giờ ta cần cho Apache biết cách sử dụng certificate SSL. Đối với điều này, ta cần kết hợp file cấu hình SSL mặc định ( default-ssl.conf ) với file cấu hình Baïkal của ta và đặt tên nó là dav_example_com-ssl.conf . Dưới đây là một ví dụ về những gì sẽ trông như thế nào, với tất cả các comment được đưa ra.

sudo nano /etc/apache2/sites-available/dav_example_com-ssl.conf 
<IfModule mod_ssl.c>     <VirtualHost _default_:443>         ServerAdmin webmaster@localhost          DocumentRoot /var/www/dav.example.com/html         ServerName dav.example.com              RewriteEngine On             RewriteRule /.well-known/carddav /card.php [R,L]             RewriteRule /.well-known/caldav /cal.php [R,L]          <Directory "/var/www/dav.example.com/html">             Options None             Options +FollowSymlinks             AllowOverride All         </Directory>          ErrorLog ${APACHE_LOG_DIR}/error.log         CustomLog ${APACHE_LOG_DIR}/access.log combined          SSLEngine on          SSLCertificateFile    /etc/apache2/ssl/apache.crt         SSLCertificateKeyFile /etc/apache2/ssl/apache.key          <FilesMatch "\.(cgi|shtml|phtml|php)$">                 SSLOptions +StdEnvVars         </FilesMatch>         <Directory /usr/lib/cgi-bin>                 SSLOptions +StdEnvVars         </Directory>          BrowserMatch "MSIE [2-6]" \                 nokeepalive ssl-unclean-shutdown \                 downgrade-1.0 force-response-1.0         BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown      </VirtualHost> </IfModule> 

Ta đang trên đường về nhà. Ta đã cài đặt trang web và tạo cấu hình Apache thích hợp. Bây giờ ta cần yêu cầu Apache kích hoạt module rewrite , kích hoạt các trang web và cuối cùng khởi động lại để tải các cài đặt mới.

sudo a2enmod rewrite sudo a2ensite dav_example_com sudo a2ensite dav_example_com-ssl sudo service apache2 restart 

Bước 3 - Cấu hình Baïkal

Ta có một việc cuối cùng phải làm trên dòng lệnh và phần còn lại có thể được thực hiện trong trình duyệt web. Baïkal sử dụng một file có tên là ENABLE_INSTALL để kích hoạt bước cuối cùng của quá trình cài đặt. Trước khi ta mở trình duyệt web, hãy đảm bảo file này tồn tại. Ta sẽ sử dụng thao tác touch để tạo file nếu nó không có ở đó và nếu nó đã ở đó, tất cả những gì ta làm là cập nhật ngày sửa đổi.

sudo touch /var/www/dav.example.com/Specific/ENABLE_INSTALL 

Đó là nó! Ta đã sẵn sàng mở trình duyệt và hoàn tất quá trình cài đặt Baïkal. Trong trình duyệt yêu thích của bạn, hãy chuyển đến https://dav.example.com .

Thuật sĩ khởi tạo Baïkal

Khi bạn ở đó, bạn sẽ thấy một màn hình với các tùy chọn. Đặt múi giờ của bạn bằng menu thả xuống, tạo password quản trị mới (bạn sẽ phải nhập password đó hai lần) và để mọi thứ khác với cài đặt mặc định.

Nhấp vào nút Lưu thay đổi .

Trên màn hình tiếp theo, bạn có thể chọn cài đặt SQLite mặc định hoặc bật hỗ trợ MySQL.

 Cài đặt  database  Baïkal

Nếu bạn đã chọn sử dụng MySQL, bạn có thể bật hỗ trợ đó. (Sử dụng MySQL làm chương trình backend sẽ cung cấp cho công cụ này dung lượng lớn hơn và tăng hiệu suất, nhưng nếu server DAV này chỉ dành cho bạn, gia đình và bạn bè của bạn hoặc một doanh nghiệp nhỏ, thì SQLite sẽ hoạt động tốt.)

Đối với ví dụ này, ta sẽ để mặc định SQLite được bật và nhấp vào nút Lưu thay đổi trên trang này.

Sau đó, bạn sẽ thấy tùy chọn Bắt đầu sử dụng Baïkal ; bấm vào nút này.

Bắt đầu sử dụng Baïkal

Bạn sẽ được đưa đến trang chủ của Baïkal.

Lưu ý: Nếu bạn thấy trang web Apache mặc định thay vì trang web Baïkal của bạn , bạn cần phải tắt trang web Apache mặc định và khởi động lại Apache. Mọi thứ nên bắt đầu hoạt động ngay bây giờ.

sudo a2dissite 000-default.conf sudo service apache2 reload 

Bước 4 - Tạo user

Sau khi chạy qua cài đặt ban đầu, tất cả những gì còn lại là tạo user , sau đó kết nối các client của bạn để bắt đầu đồng bộ hóa.

Để tạo user , hãy đăng nhập vào trang web Baïkal bằng tên user administrator và password bạn đã đặt trong bước cấu hình ở trên.

Trang đầu tiên của ứng dụng là Trang tổng quan. Nó cho bạn biết những gì đã được bật và đang chạy cũng như một số thống kê cơ bản, như số lượng user , lịch và danh bạ.

Tạo user là một quá trình ba lần nhấp chuột .

  1. Ở đầu trang, nhấp vào liên kết User và tài nguyên
  2. Bây giờ hãy nhấp vào nút ở bên phải, + Thêm user
  3. Điền vào tất cả các trường và sau đó nhấp vào nút Lưu thay đổi

 User  biểu mẫu; điền vào các trường như mong muốn

Lưu ý: Không có bất kỳ yêu cầu nào từ phía server đối với việc định dạng tên user , nhưng một số khách hàng có thể phàn nàn nếu tên user không giống địa chỉ email, chẳng hạn như: sammy@example.com

Xử lý sự cố

Nếu bạn gặp sự cố nào , chẳng hạn như password administrator của bạn không được chấp nhận, thì có một số lệnh bạn có thể chạy để đặt lại ứng dụng, cho phép bạn cài đặt lại ứng dụng. Để làm như vậy, bạn cần phải SSH lại vào Server của bạn để chạy các lệnh sau.

Đừng làm điều này trừ khi bạn muốn đặt lại server .

cd /var/www/dav.example.com/Specific/ sudo rm config*.php sudo touch ENABLE_INSTALL 

Đến đây bạn có thể quay lại trình duyệt web và xem lại trình hướng dẫn cài đặt ứng dụng, và hy vọng lần này mọi thứ đều hoạt động.

Kết luận

Xin chúc mừng! Bạn đã cài đặt một server đồng bộ CalDAV và CardDAV với một console GUI. Đến đây, bạn có thể cấu hình client của bạn để kết nối với server . Khi làm như vậy, hãy sử dụng https:// dav.example.com làm tên server của bạn.


Tags:

Các tin liên quan

Cách cài đặt Webmin với SSL trên Ubuntu 14.04
2015-01-19
Cách bắt đầu với Silex trên Ubuntu 14.04
2015-01-15
Cách triển khai ứng dụng DocPad trên Ubuntu 14.04
2015-01-14
Cách tạo một Playbook Ansible để tự động cài đặt Drupal trên Ubuntu 14.04
2014-12-23
Cách cài đặt Thư viện ảnh Piwigo trên Ubuntu 14.04
2014-12-18
Cách cài đặt Hệ thống thông tin sinh viên SchoolTool trên Ubuntu 14.04
2014-12-18
Cách thiết lập ứng dụng Node.js để sản xuất trên Ubuntu 14.04
2014-12-03
Cách cài đặt và cấu hình PowerDNS với MariaDB Backend trên Ubuntu 14.04
2014-12-02
Cách cài đặt và cấu hình Magento trên Ubuntu 14.04
2014-12-02
Cách cài đặt MEAN.JS Stack trên server Ubuntu 14.04
2014-11-26