|
Следующая версия
|
Предыдущая версия
|
beget:soloshin.su:mail:carddav:baikal [2021/05/07 20:26] Николай Солошин создано |
beget:soloshin.su:mail:carddav:baikal [2022/02/12 11:40] (текущий) |
| ===== Подготовка ===== | ===== Подготовка ===== |
| |
| Все службы и программы, описанные ниже, можно использовать, как с поддомена, типа ''<nowiki>mail.soloshin.su</nowiki>'', так и из каталога домена, к примеру, ''<nowiki>soloshin.su/mail</nowiki>''. Но тут я буду исходить из первого варианта, как более красивого и элегантного. 8-) | Все службы и программы, описанные ниже, можно использовать, как с поддомена, типа ''<nowiki>contacts.soloshin.su</nowiki>'', так и из каталога домена, к примеру, ''<nowiki>soloshin.su/contacts</nowiki>''. Но тут я буду исходить из первого варианта, как более красивого и элегантного. 8-) |
| |
| Для начала нужны: | ==== Исходные данные ==== |
| |
| - свой красивый домен; | - свой красивый домен ;-); |
| - оплаченный [[https://beget.com/p102388|хостинг]]; | - оплаченный [[https://beget.com/p102388|хостинг]]; |
| - действительный сертификат((Можно ныне популярный "Let’s Encrypt".)). | - действительный сертификат((Можно ныне популярный "Let’s Encrypt".)). |
| | |
| | Считаем, что у нас уже есть поддомен ''mail.<domain.zone>''((Где ''<domain.zone>'', это ваш домен, типа "<nowiki>soloshin.su</nowiki>")) и ''contacts.<domain.zone>'', направленные на сайт, находящийся в каталоге ''<site-name>/public_html''. А также установлены сертификаты для домена и поддменов и настроена переадресация с HTTP на HTTPS. Ну и сразу -- выбрана версия PHP не ниже 7.1. |
| |
| ===== Baïkal from sabre.io ===== | ===== Baïkal from sabre.io ===== |
| |
| - Скачиваем [[https://github.com/sabre-io/Baikal/releases/|последний релиз]]((У меня, это {{ :playground:playground:baikal-0.8.0.zip |0.8.0}} - **ПЕРЕМЕСТИТЬ ФАЙЛ ПРИ ПОБЛИКАЦИИ СТАТЬИ!!!**.)); | - Скачиваем [[https://github.com/sabre-io/Baikal/releases/|последний релиз]]((У меня, это {{ beget:soloshin.su:mail:carddav:baikal-0.8.0.zip |0.8.0}}.)); |
| - распаковываем на хостинге в корневую папку web-сервера((У Beget'а, это ''<site-name>/public_html''.)); | - распаковываем на хостинге в корневую папку web-сервера((У Beget'а, это ''<site-name>/public_html''.)); |
| - переходим в браузере по адресу ''mail.<domain.zone>/baikal/html'' и попадаем в конфигуратор, где ничего, кроме часового пояса и пароля администратора можно не менять; | - переходим в браузере по адресу ''contacts.<domain.zone>/baikal/html'' и попадаем в конфигуратор, где ничего, кроме часового пояса и пароля администратора можно не менять; |
| - после сохранения настроек, попадаем на страницу настройки базы данных, где при использовании SQLite желательно выбрать каталог для хранения базы выше уровня каталога web-сервера((У Beget'а, это будет выглядеть примерно так: ''/home/a/<account-name>/<site-name>/databases/baikaldb.sqlite''. Отсутствующие каталоги нужно заранее создать через панель управления хостингом или FTP -- в данном примере у меня нет каталога "databases".)). | - после сохранения настроек, попадаем на страницу настройки базы данных, где при использовании SQLite желательно выбрать каталог для хранения базы выше уровня каталога web-сервера((У Beget'а, это будет выглядеть примерно так: ''/home/a/<account-name>/<site-name>/databases/baikaldb.sqlite''. Отсутствующие каталоги нужно заранее создать через панель управления хостингом или FTP -- в данном примере у меня нет каталога "databases".)). |
| |
| Теперь осталось авторизоваться и на закладке "Users and resources" добавить пользователей. Адресная книга и календарь по умолчанию создаются автоматически. | Теперь осталось авторизоваться и на закладке "Users and resources" добавить пользователей. Адресная книга и календарь по умолчанию создаются автоматически. |
| | |
| | ==== .well-known/carddav ==== |
| | |
| | Для автоматического обнаружения сервиса контактов, в корневой папке web-сервера нужно создать файл ''.htaccess'' со следующим содержимым: |
| | |
| | <file txt .htaccess><IfModule mod_alias.c> |
| | Redirect 308 /.well-known/carddav https://contacts.<domain.zone>/baikal/html/dav.php |
| | </IfModule></file> |
| |
| ===== CardDavMATE ===== | ===== CardDavMATE ===== |
| И так. Не взирая на кажущуюся сложность настройки((А документация реально страшная!)), все, в общем случае, крайне просто! | И так. Не взирая на кажущуюся сложность настройки((А документация реально страшная!)), все, в общем случае, крайне просто! |
| |
| - Скачиваем [[https://www.inf-it.com/open-source/clients/carddavmate/|последний релиз]]((У меня, это {{ :playground:playground:carddavmate_0.13.1.zip |0.13.1}} от Сентября 2015 года. - **ПЕРЕМЕСТИТЬ ФАЙЛ ПРИ ПОБЛИКАЦИИ СТАТЬИ!!!**)); | - Скачиваем [[https://www.inf-it.com/open-source/clients/carddavmate/|последний релиз]]((У меня, это {{ beget:soloshin.su:mail:carddav:carddavmate_0.13.1.zip |0.13.1}} от Сентября 2015 года.)); |
| - распаковываем на хостинге в корневую папку web-сервера и открываем файл ''config.js''; | - распаковываем на хостинге в корневую папку web-сервера и открываем файл ''config.js''; |
| - в секции ''globalNetworkCheckSettings'' меняем значение параметра href на ''<nowiki>'https://mail.<domain.zone>:443/baikal/html/dav.php/principals/'</nowiki>''; | - в секции ''globalNetworkCheckSettings'' меняем значение параметра href на ''<nowiki>'https://contacts.<domain.zone>/baikal/html/dav.php/principals/'</nowiki>''; |
| - меняем значение ''globalInterfaceLanguage'' на ''ru_RU'', а ''globalDefaultAddressCountry'' на ''ru''; | - меняем значение ''globalInterfaceLanguage'' на ''ru_RU'', а ''globalDefaultAddressCountry'' на ''ru''; |
| - раскомментируем и меняем значение параметра ''globalUseJqueryAuth'' на ''true''((Это нужно, чтобы работала дайджест-авторизация. В документации предупреждается, что может не работать, но в Chrome 90+ работает!)). | - раскомментируем и меняем значение параметра ''globalUseJqueryAuth'' на ''true''((Это нужно, чтобы работала дайджест-авторизация. В документации предупреждается, что может не работать, но в Chrome 90+ работает!)). |
| |
| Все! Профит! Теперь переходим по адресу ''<nowiki>mail.<domain.zone>/carddavmate/</nowiki>'', вводим логин и пароль, выбираем язык и видим созданные ранее адресные книги -- ура, можно добавлять((Вот только импорта тут нет, увы... Но об этом как раз ниже.)), удалять и редактировать контакты. | Все! Профит! Теперь переходим по адресу ''<nowiki>contacts.<domain.zone>/carddavmate/</nowiki>'', вводим логин и пароль, выбираем язык и видим созданные ранее адресные книги -- ура, можно добавлять((Вот только импорта тут нет, увы... Но об этом как раз ниже.)), удалять и редактировать контакты. |
| |
| ===== .well-known/carddav ===== | ==== Вишенка на торте ==== |
| |
| Для автоматического обнаружения сервиса контактов, в корневой папке web-сервера нужно создать файл ''.htaccess'' со следующим содержимым: | Для удобства обращения к контактам в файл ''.htaccess'' можно добавить: |
| |
| <file txt .htaccess><IfModule mod_alias.c> | <file txt .htaccess>RewriteEngine On |
| Redirect 308 /.well-known/carddav https://mail.<domain.zone>/baikal/html/dav.php | RewriteCond %{HTTP_HOST} ^contacts.<domain.zone>$ [NC] |
| </IfModule></file> | RewriteRule ^$ https://contacts.<domain.zone>/carddavmate/ [R=308,L]</file> |
| | |
| | Теперь CardDavMATE будет открываться при переходе по адресу ''contacts.<domain.zone>'', что намного удобнее, чем ''<nowiki>contacts.<domain.zone>/carddavmate/</nowiki>''! |
| |
| ===== Импорт контактов ===== | ===== Импорт контактов ===== |
| - открываем "Меню CardBook"((3 полоски слева)) -> "Адресная книга" -> "Добавить адресную книгу"; | - открываем "Меню CardBook"((3 полоски слева)) -> "Адресная книга" -> "Добавить адресную книгу"; |
| - выбираем "В сети", далее "CardDAV"; | - выбираем "В сети", далее "CardDAV"; |
| - в поле "URL" вводим ''<nowiki>https://mail.</nowiki><domain.zone>''; | - в поле "URL" вводим ''<nowiki>https://contacts.</nowiki><domain.zone>''; |
| - вводим "Имя пользователя" и "Пароль"((Указанные в разделе настройки [[#baikal_from_sabreio|сервера контактов]].)), нажимаем "Проверить" и, если все хорошо, два раза нажимаем "Далее"; | - вводим "Имя пользователя" и "Пароль"((Указанные в разделе настройки [[#baikal_from_sabreio|сервера контактов]].)), нажимаем "Проверить" и, если все хорошо, два раза нажимаем "Далее"; |
| - открываем "Меню CardBook" -> "Адресная книга" -> "Импортировать контакт из файла"; | - открываем "Меню CardBook" -> "Адресная книга" -> "Импортировать контакт из файла"; |
| :!: Если хотите бесплатно для личного использования, то лучше "Standard edition", т.к. доступны обновления в "один клик"; если для коммерческого использования, но также бесплатно, то нужно качать "Community edition". | :!: Если хотите бесплатно для личного использования, то лучше "Standard edition", т.к. доступны обновления в "один клик"; если для коммерческого использования, но также бесплатно, то нужно качать "Community edition". |
| |
| - Качаем [[https://www.rainloop.net/downloads/|актуальный релиз]]((В моем случае стартовая версия {{ :playground:playground:rainloop-1.15.0.zip |1.15.0}} - **ПЕРЕМЕСТИТЬ ФАЙЛ ПРИ ПОБЛИКАЦИИ СТАТЬИ!!!**)); | - Качаем [[https://www.rainloop.net/downloads/|актуальный релиз]]((В моем случае стартовая версия {{ beget:soloshin.su:mail:carddav:rainloop-1.15.0.zip |1.15.0}}.)); |
| - распаковываем на хостинге в корневую папку web-сервера; | - распаковываем на хостинге в корневую папку web-сервера; |
| - заходим в папку ''data'' и создаем файл ''.htaccess'' с текстом "Deny from all"((Для разных версий web-серверов эта настройка может отличаться, подробнее [[https://www.rainloop.net/docs/installation/#notice|тут]].)); | - заходим в папку ''data'' и создаем файл ''.htaccess'' с текстом ''Deny from all''((Для разных версий web-серверов эта настройка может отличаться, подробнее [[https://www.rainloop.net/docs/installation/#notice|тут]].)); |
| - открываем в браузере адрес ''<nowiki>https://mail.</nowiki><domain.zone>/?admin'' и вводим логин/пароль "admin"/"12345"; | - открываем в браузере адрес ''<nowiki>https://mail.</nowiki><domain.zone>/?admin'' и вводим логин/пароль "admin"/"12345"; |
| |
| ===== Контакты в iPhone ===== | ===== Контакты в iPhone ===== |
| |
| Для подключения контактов на iPhone, нужно зайти ''Настройки -> Контакты -> Учетные записи -> Новая учетная запись -> Другое -> Учетная запись CardDAV'', ввести адрес ''mail.<domain.zone>'' и логин с паролем. Все. | Для подключения контактов на iPhone, нужно зайти "Настройки" -> "Контакты" -> "Учетные записи" -> "Новая учетная запись" -> "Другое" -> "Учетная запись CardDAV", ввести адрес ''contacts.<domain.zone>'' и логин с паролем. Все. |
| |
| ===== Google CardDAV ===== | ===== Google CardDAV ===== |