Как синхронизировать календари и контакты с помощью стандартов CardDAV и CalDAV с Baïkal в Ubuntu 14.04

Вступление

Все больше и больше людей используют разные устройства (смартфоны, компьютеры, планшеты и т. Д.), Поэтому потребность в синхронизации всех вещей постоянно растет.

Хотя синхронизация files важна, ее также полезно возможность синхронизации календарей и контактов в их родных форматах.

Стандарты CalDAV и CardDAV обеспечивают простой способ держать все наши умные вещи в курсе того, что мы делаем, а также как завладеть нашими друзьями и другими контактами. В этом руководстве мы покажем вам, как синхронизировать календари и контакты с сервера, которым вы управляете, с помощью очень простой установки http://baikal-server.com [Baïkal], сервера PHP CalDAV и CardDAV.

_ _ * Примечание: * Если вы ищете универсальное решение, вы можете взглянуть на https://www.digitalocean.com/community/tutorials/how-to-use-the-owncloud-one. -click-install-application [ownCloud] вместо этого.

  • Примечание: * Baïkal быстр и прост, но не предназначен для крупномасштабного развертывания. Если вы хотите синхронизировать календарь и контакты для среднего или крупного бизнеса, это решение может не сработать. _ _

Предпосылки

Пожалуйста, убедитесь, что у вас есть эти предпосылки на месте.

  • Свежая капля Ubuntu 14.04 с доступом SSH

  • Https://www.digitalocean.com/community/tutorials/how-to-add-and-delete-users-on-an-ubuntu-14-04-vps[sudo user]

  • Инструкции Baïkal настоятельно рекомендуют иметь домен, предпочтительно поддомен, для сервера. В этом руководстве будет использоваться имя домена + dav.example.com +. Вы можете использовать ++. Если вы размещаете свой DNS в Digital Ocean, this статья может помочь вам настроить этот поддомен

Мы также установим некоторые пакеты, которые нужны Baïkal; мы будем использовать сертификат SSL; и мы рассмотрим их настройку в самой статье. Если вы хотите приобрести сертификат SSL, вам следует приобрести его для домена или субдомена вашего сервера Baïkal.

Шаг 1 - Установка Baïkal

Для начала мы установим некоторые необходимые пакеты, скачаем tar-архив Baïkal, а затем распакуем его.

В приведенных ниже примерах мы используем последнюю версию Baïkal, которая на момент написания этой статьи была, но мы рекомендуем дважды проверить последнюю версию http://baikal-server.com [версия Baïkal] перед началом работы. Чтобы найти последнюю версию, перейдите на сайт Baïkal и либо нажмите кнопку * Загрузить, чтобы начать работу *, либо прокрутите вниз до раздела * Get Baïkal *. Если есть более новая версия, скопируйте ссылку для скачивания * Regular пакета *.

Для начала вам понадобится SSH в вашу Ubuntu Droplet.

Теперь давайте установим пакеты, необходимые для запуска Baïkal. Мы предполагаем, что это новая установка Ubuntu, поэтому прежде чем мы сможем установить некоторые пакеты из репозиториев, нам нужно обновить кэш репозитория с помощью + apt-get update +.

sudo apt-get update

Установите несколько обязательных пакетов: PHP, Apache и SQLite.

sudo apt-get install apache2 php5 php5-sqlite sqlite3

_ * Примечание: * В установочном файле Baïkal автор отмечает, что Apache можно заменить на Nginx, а SQLite можно заменить на MySQL. _

Теперь, когда у нас есть необходимые компоненты для работы Baïkal, давайте установим Baïkal! Поскольку Baïkal является своего рода веб-сайтом PHP, мы собираемся скачать и извлечь его в каталог сайта 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

_ * Примечание: * Для тех, кто хотел бы знать, что мы только что сказали + tar +: + x + = e x tract, + v + = v erbose, + z + `= un z ip и + f + `= f ile, за которыми следует имя файла. _

Один последний шаг, и Байкал будет installed. Поскольку мы извлекли приложение PHP, нам больше не нужен файл tar, поэтому мы удалим его, переименуем извлеченную папку в нечто более релевантное, а затем убедимся, что он доступен для чтения и записи пользователем Apache.

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

_ * Примечание: * Вы можете называть папку как угодно, но намного проще идентифицировать сайты, если вы собираетесь разместить несколько, если вы используете имя веб-сайта для папки веб-сайта. _

Шаг 2 - Настройка Apache

Наше приложение установлено, и теперь нам нужно сообщить об этом Apache. Чтобы упростить задачу, Baïkal фактически включает в себя собственный файл конфигурации Apache в качестве шаблона. Мы скопируем этот файл в каталог Apache + sites-available + и затем отредактируем его под наш сайт.

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

Используя ваш любимый текстовый редактор, откройте файл + dav_example_com.conf + и измените все URL-адреса, чтобы использовать свой собственный URL-адрес и пути к месту хранения своего сайта. Вот как это будет выглядеть:

sudo nano /etc/apache2/sites-available/dav_example_com.conf
<VirtualHost *:80>
   DocumentRoot /var/www//html
   ServerName

   RewriteEngine On
   RewriteRule /.well-known/carddav /card.php [R,L]
   RewriteRule /.well-known/caldav /cal.php [R,L]

   <Directory "/var/www//html">
       Options None
       Options +FollowSymlinks
       AllowOverride All
   </Directory>
</VirtualHost>

Теперь нам понадобится SSL сертификат.

Вы можете создать или купить свой сертификат. Мы предполагаем, что вы следовали связанному учебнику по SSL, и что ваш ключ и сертификат находятся в каталоге + / etc / apache2 / ssl + и называются + apache.crt + и + apache.key +. Пожалуйста, замените их путями к вашему собственному сертификату и ключу в зависимости от ситуации.

Теперь нам нужно рассказать Apache, как использовать SSL-сертификат. Для этого нам нужно объединить файл конфигурации SSL по умолчанию (+ default-ssl.conf +) с нашим файлом конфигурации Baïkal и назвать его + dav_example_com-ssl.conf +. Ниже приведен пример того, как это будет выглядеть, со всеми комментариями.

sudo nano /etc/apache2/sites-available/dav_example_com-ssl.conf
<IfModule mod_ssl.c>
   <VirtualHost _default_:443>
       ServerAdmin

       DocumentRoot /var/www//html
       ServerName

           RewriteEngine On
           RewriteRule /.well-known/carddav /card.php [R,L]
           RewriteRule /.well-known/caldav /cal.php [R,L]

       <Directory "/var/www//html">
           Options None
           Options +FollowSymlinks
           AllowOverride All
       </Directory>

       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined

       SSLEngine on

       SSLCertificateFile
       SSLCertificateKeyFile

       <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>

Мы на домашнем участке. У нас установлен сайт и созданы соответствующие конфиги Apache. Теперь нам нужно указать Apache, что нужно включить модуль + rewrite +, включить сайты, а затем, наконец, перезапустить, чтобы загрузить новые настройки.

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

Шаг 3 - Настройка Baïkal

Мы должны сделать одну последнюю вещь в командной строке, а остальное можно сделать в веб-браузере. Baïkal использует файл с именем + ENABLE_INSTALL +, чтобы включить последний этап установки. Прежде чем открывать веб-браузер, давайте удостоверимся, что этот файл существует. Мы будем использовать + touch + для создания файла, если его там нет, и если он уже там, все, что мы делаем, это обновляем дату модификации.

sudo touch /var/www//Specific/ENABLE_INSTALL

Это оно! Мы готовы открыть браузер и завершить настройку Baïkal. В вашем любимом браузере перейдите к + https: // dav.example.com +.

изображение: https: //assets.digitalocean.com/sync_baikal/1.png [Мастер инициализации Baïkal]

Когда вы окажетесь там, вам будет представлен экран с опциями. Установите часовой пояс, используя раскрывающееся меню, создайте новый пароль администратора (вам нужно будет ввести его дважды) и оставьте все остальное с настройками по умолчанию.

Нажмите кнопку * Сохранить изменения *.

На следующем экране вы можете выбрать настройки SQLite по умолчанию или включить поддержку MySQL.

изображение: https: //assets.digitalocean.com/sync_baikal/2.png [Настройка базы данных Baïkal]

Если вы решили использовать MySQL, вы можете включить эту поддержку. (Использование MySQL в качестве бэкэнда даст этому инструменту большую емкость и увеличит производительность, но если этот сервер DAV предназначен только для вас, вашей семьи и друзей или небольшого предприятия, SQLite вполне подойдет.)

В этом примере мы оставим настройки SQLite по умолчанию включенными и также нажмем кнопку * Сохранить изменения * на этой странице.

Тогда вы увидите вариант * Начать использовать Baïkal *; нажмите эту кнопку.

изображение: https: //assets.digitalocean.com/sync_baikal/3.png [Начать использовать Baïkal]

Вы попадете на домашнюю страницу Байкала.

_ _ * Примечание: * Если вы видите веб-сайт Apache по умолчанию вместо вашего веб-сайта Baïkal, вам необходимо отключить веб-сайт Apache по умолчанию и перезапустить Apache. Вещи должны начать работать сейчас.

sudo a2dissite 000-default.conf
sudo service apache2 reload

_ _

Шаг 4 - Создание пользователя

После выполнения начальной настройки остается только создать пользователя, а затем подключить своих клиентов для начала синхронизации.

Чтобы создать пользователя, войдите на веб-сайт Baïkal, используя имя пользователя * admin * и пароль, который вы установили на шаге настройки выше.

Первая страница приложения - это панель инструментов. Он показывает, что включено и работает, а также некоторые основные статистические данные, такие как количество пользователей, календари и контакты.

Создание пользователя - процесс на три клика.

  1. В верхней части страницы нажмите на ссылку * Пользователи и ресурсы *

  2. Теперь нажмите на кнопку справа, * + Добавить пользователя *

  3. Заполните все поля и нажмите кнопку * Сохранить изменения *

изображение: https: //assets.digitalocean.com/sync_baikal/4.png [форма пользователя; заполните поля по желанию]

_ * Примечание: * На стороне сервера нет никаких требований к форматированию имени пользователя, но некоторые клиенты могут жаловаться, если имя пользователя не похоже на адрес электронной почты, например: [email protected] _

Поиск проблемы

Если вы столкнетесь с какими-либо проблемами, например, с тем, что ваш пароль администратора не будет принят, то вы можете выполнить несколько команд для сброса приложения, что позволит вам снова его настроить. Для этого вам нужно снова подключиться по SSH к вашему дроплету, чтобы выполнить следующие команды.

  • Не делайте этого, если вы не хотите перезагрузить сервер. *

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

Теперь вы можете вернуться в веб-браузер и снова пройти через мастер настройки приложения, и, надеюсь, на этот раз все работает.

Заключение

Поздравляем! Вы установили сервер синхронизации CalDAV и CardDAV с панелью управления с графическим интерфейсом. На данный момент вы можете настроить ваши клиенты для подключения к серверу. При этом используйте + https: // + в качестве имени вашего хоста.

Related