Статьи

Создание собственной облачной синхронизации контактов Андроид

В этой статье будет рассказано, как сделать свое собственное облако для синхронизации контактов и календаря для андроида. Зачем это нужно? Хотя бы для того, чтобы не зависеть от Google, ведь неизвестно (особенно в свете раскрытий действий крупных корпораций), как используются данные, которые мы сами предоставляем компаниям, а также неприятно, если вас взломают и у злоумышленников окажутся все данные.

 


Итак, в результате всех действий мы получим синхронизацию контактов между нашим облаком и устройствами на Андроид. Для этого нам понадобиться компьютер, который находится у вас дома (можно использовать и выделенный сервер где-нибудь на хостинге, но для простоты рассматриваем вариант с компьютером дома), домашняя W-Fi сеть и набор программ из сервера Wamp и CalDAV сервера Baikal.
Сначала скачиваем и устанавливаем Wamp сервер (в зависимости от разрядности вашей ОС), установка проста-соглашаемся с лицензионным соглашением, а затем Далее несколько раз. По умолчанию он ставится на диск С в папку wamp для 32 разрядных ОС или wamp64 для 64 разрядных.
Далее нужно запустить Wamp сервер, чтобы проверить, что он работает, иконкой на рабочем столе. Если все нормально, появится иконка в трее и она будет зеленого цвета. При этом во время запуска сервера Apache может появиться окно с запросом разрешения доступа от Брандмауера Windows, в нем нужно разрешить доступ. При установке на Windows 7 32 разрядную, у нас возникла ошибка при запуске Apache, он сообщал об ошибке vcruntime140.dll. Если вдруг у вас возникнет такая же, нужно просто установить Microsoft Visual C++ Runtime 2015. Если иконка так и не становится зеленой и пишется, что запущен только один сервис – mysql, а не apache, нужно нажать по иконке Wamp  в трее, выбрать Apache-Service Administration—nstall Service, появится консольное окно, где будет написано, что порт 80 свободен и предложено нажать Enter для установки сервиса. И после этого надо снова запустить Wamp иконкой с рабочего стола и иконка в трее должна стать зеленой:

 

1

Затем нужно в том же меню в разделе PHP-Version выставить версию PHP 7 вместо 5.6. На этом первый этап закончен.


Скачиваем сервер Байкал 0.4.6, это обычный архив, в котором находится папка Baikal. Ее нужно скопировать в папку C:\wamp\www или C:\wamp64\www (смотря какой разрядности ОС) чтобы в итоге получилось так:

2


После этого можно приступать к настройке Байкала. Сначала нужно узнать ip адрес своего компьютера, нажимаем правой кнопкой мыши по значку мониторчика в трее и заходим в Центр управления сетями и общим доступом, далее жмем слева ссылку Управление параметрами адаптера, далее нажимаем 2 раза мышью на подключение по локальной сети (или по беспроводной, если компьютер подключен через нее) и в открывшемся окошке кнопку Сведения и видим что-то похожее на:

3


Запоминаем или записываем себе этот адрес, он нам пригодится.
Создадим базу данных, которую будет использовать Baikal, для этого в меню Wamp в трее выбираем пункт phpmyadmin, откроется браузер с запросом логина и пароля, вводим root без пароля и жмем ОК, откроется окно:

4


В нем заходим в раздел Учетные записи пользователей и жмем ссылку Добавить учетную запись пользователя

Сочиняем пользователя (в примере baikal) и пароль (в примере baikal1, но лучше задать посложнее) и вводим их в окно, также ставим галку о создании базы данных с таким же именем как у пользователя и предоставлении на нее привилегий затем внизу жмем кнопку Вперед:

5


База данных создана, выбираем ее слева в списке баз данных, заходим в раздел операции и внизу ставим сравнение utf8_unicode_ci и жмем кнопку Вперед:

6


Дальше открываем любой браузер и пишем в адресной строке http://ваш_ip_адрес/baikal/html/ и нажимаем на enter. Должно открыться такое окошко, в котором надо заполнить часовую зону и сочинить админский пароль именно от Байкала:

7


Жмем Save changes и переходим на следующую страницу, где надо поставить галку Use MySQLи заполнить поля:

8


Если все введено корректно, дальше появится такое окно в котором надо нажать зеленую кнопку:

9


Вводим данные от администрирования байкала:

10


И попадаем в админку Байкала:

11


Заходим во вкладку Users and resources, жмем кнопку Add user, откроется окно, в котором надо заполнить все данные о создаваемом пользователе:

12


И будет создан наш пользователь, данные которого мы будем использовать при подключении аккаунта в Андроид. Для него уже создана Адресная книга по умолчанию и Календарь по умолчанию.

Теперь добавим новый аккаунт в Андроид устройство, для этого надо установить программу DAVdroid, затем запустить ее, нажать красный + внизу, выбрать вход через URL и имя пользователя, ввести в полу Base URL: http://ip_адрес_компьютера/baikal/html/dav.php/   в поле имя пользователя-соответственно имя пользователя, созданного в предыдущем шаге и его пароль. Будет добавлен аккаунт, можно нажать на значок синхронизации и она будет произведена, пока правда контактов на сервере нет. Также в настройках (значок шестеренки) можно поставить галку Sync over WIFi only и задать имя своей домашней WiFi сети, ведь все равно синхронизация без особых настроек будет работать только в ней. Также чуть ниже в разделе CarDAV нужно задать параметр Groups are per-contact categories. На этом настройка Андроида закончена, нужно перенести контакты.

Теперь настало время перенести наши контакты из учетной записи Google в Байкал. Для этого есть 2 варианта-можно или экспортировать их через стандартную звонилку андроид на карту памяти, а затем импортировать в учетную запись байкала или использовать стороннюю  программу, например  emClient. Рассмотрим 2й метод.
Итак, ставим emClient, добавляем учетную запись Google (Меню-Инструменты-Учетные записи нажать на +), выбрать Контакты-Google контакты, ввести свои данные. Произойдет синхронизация контактов с учеткой Google, они добавятся в меню слева.  Затем, точно также добавляем учетную запись нашего сервера Байкал, выбрав вместо Google contacts – CardDAV, вводим точно также адрес нашего сервера, пользователя и пароль и видим слева в меню появившуюся учетную запись Байкала (она выглядит как Имя пользователя-Addressbooks-Default address book, название адресной книги можно поменять в настройках админки Байкала). Вот как это выглядит (желтым отмечен аккаунт Байкала, он переименован из baikal в contact190):

13


А затем все очень просто-перетаскиваем мышкой контакты из учетки Gmail в адресную книгу Байкала и они синхронизируются с нашим сервером, перетаскивается и вся информация связанная с контактом, единственное фотографии перетаскиваются с плохим качеством, их нужно перезагружать по хорошему.
После того как все заработает, можно немного настроить все это под себя, поменять название адресных книг, выставить категории контактам (это тоже удобно делать в emClient):

14


Спасибо за внимание и если Вам понадобится компьютерная помощь/обслуживание компьютеров (я конечно понимаю, что такую статью, скорее всего, будут читать те, кто сам что хочешь сделает с компом, но все же, а вдруг), обращайтесь, для форумчан сделаю скидку.

Получите бесплатную консультацию!

Заполните все поля
Image
Мы решаем любую проблему благодаря 3 принципам: техническое мышление, обширные знания и опыт.