Скорая Компьютерная Помощь г. Калуга

Полный спектр компьютерных услуг!

Здравствуйте, гость ( Вход | Регистрация )

> Внимание!

  • Вся информация, расположенная в данном и других разделах форума получена из открытых источников (интернет-ресурсы, средства массовой информации, печатные издания и т.п.) и/или добавлена самими пользователями. Администрация форума предоставляет его участникам площадку для общения / размещения файлов / статей и т.п. и не несет ответственности за содержание сообщений, а также за возможное нарушение авторских, смежных и каких-либо иных прав, которое может повлечь за собой информация, содержащаяся в сообщениях.
Ремонт компьютеров в калуге Рекламное место сдается
 
Ответить в эту темуОткрыть новую тему
> Подымаем простой DAV server на Linux
Decker
сообщение 14.2.2014, 15:35
Сообщение #1


Администратор
*****

Группа: Главные администраторы
Сообщений: 14349
Регистрация: 12.10.2007
Из: Twilight Zone
Пользователь №: 1




Linux*
В использовании у меня получилось довольно много устройств — одних только ноутбуков три штуки, а еще комп на работе и смартфон. В какой-то момент я понял, что адресную книгу вот так в разброс хранить неудобно, и календарь тоже бы хотелось вести как-то единообразно. Синхронизировать такое количество устройств между собой как-то очень уж неудобно получается. Вот тут и пришло время придумать, как из этого всего выпутаться. Решил я посмотреть в сторону caldav и carddav серверов.

Требования для них у меня были максимально простые — учетки брать или из LDAP, или по IMAP и наличие веб-интерфейса для просмотра календаря и адресной книги.

Под рассмотрение попали три таких реализации:

1. Baikal — не подошел. Не понравилось то, что нужно было вести отдельную базу учетных записей.

2. Radicale — вещь неплохая, но вебморду к нему прикрутить не удалось, хотя на сайте сказано, что CalDavZap с ним работает. Может я не очень и старался… Да и документация на него мне как-то не понравилась. Тоже не подошел.

3. Davical — А вот этотот заработал. При чем именно так, как мне и хотелось. Поэтому рассмотрим его установку и настройку:



Установка и настройка Davical

В качестве серверного дистрибутива использовался Ubuntu ServerPack 12.04



Устанавливаем необходимый набор пакетов программ:

# apt-get install install postgresql apache2 php5 php5-pgsqll davical php5-curl php5-imap



После установки нужно сделать небольшую настройку postrgesql. Открываем /etc/postgresql/9.1/main/pg_hba.conf

Комментируем строку

local all postgres peer



И добавляем две другие

local davical davical_app trust

local davical davical_dba trust




После чего перезапускаем postgresql

# service postgresql restart



Далее нужно выполнить скрипт, который создаст нужную базу данных

# su postgres -c /usr/share/davical/dba/create-database.sh



Вывод будет примерно такой:

Supported locales updated.

Updated view: dav_principal.sql applied.

CalDAV functions updated.

RRULE functions updated.

Database permissions updated.

NOTE

====

* You will need to edit the PostgreSQL pg_hba.conf to allow the

'davical_dba' database user access to the 'davical' database.

* You will need to edit the PostgreSQL pg_hba.conf to allow the

'davical_app' database user access to the 'davical' database.

* The password for the 'admin' user has been set to 'co/e9Ap3'

Thanks for trying DAViCal! Check in /usr/share/doc/davical/examples/ for

some configuration examples. For help, visit #davical on irc.oftc.net.




Смотрим на него внимательно. Там будет админский логин и пароль в веб-интерфейс davical



Создадим файл конфигурации /etc/davical/config.php



<?php

$c->authenticate_hook['call'] = 'IMAP_PAM_check';

$c->authenticate_hook['config'] = array(

'imap_url' => '{davical.local:993/imap/tls/novalidate-cert}',

);

include('/usr/share/davical/inc/drivers_imap_pam.php');

$c->domain_name = 'davical.local';

$c->sysaddr = 'davical';

$c->system_name = 'DAViCal CalDAV Server';

$c->admin_email = '[email protected]';

$c->pg_connect[] = 'dbname=davical user=davical_app';

$c->default_locale = «uk_UA»;

$c->use_old_sync_response_tag = true;

?>




Обратите внимание, на строку imap_url. Судя по их вики davical.dhits.nl тут предусматривается несколько возможных вариантов:



{localhost:143/imap/}

{localhost:143/imap/tls/}

{example.com:993/imap/ssl/}

{example.com:143/imap/tls/novalidate-cert}




Так вот — все это работает (по крайней мере у меня) только в том случае, если в конце строки НЕ СТАВИТЬ “/”

В общем каждый прописывает эту строку с теми параметрами, с которыми ему нужно.



Сам сервер уже настроен, но пока у нас ничего не работает. Делаем веб-интерфейсы.



CalDavZap — установка и настройка.

Скачиваем архив программы со страницы http://www.inf-it.com/open-source/clients/caldavzap/

И распаковываем его в /var/www

Открываем его файл конфигурации и правим в нем строку globalNetworkCheckSettings

var globalNetworkCheckSettings={href: 'http://davical.local/caldav.php/', hrefLabel: null, additionalResources: [], forceReadOnly: null, showHeader: true, settingsAccount: true, timeOut: 30000, lockTimeOut: 10000, delegation: false, backgroundCalendars: [], ignoreAlarms: false}



Теперь нужно настроить авторизацию в CalDavZap

Для этого делаем следующие настройки:

В файле auth/config.inc в двух местах в поле href нужно прописать имя нашего сервера. При чем остальную часть пути не трогать. То есть у нас должны получиться такие строки:

'href'=>'http://davical.local/caldav.php/'.$_SERVER['PHP_AUTH_USER'].'/',

'href'=>'http://davical.local/caldav.php/resource/',




Кроме этого в файле auth/plugins/generic_conf.inc меняем значение в одной строке

$pluginconfig['base_url']='http://davical.local;



Настройка Apache

Осталось последнее действие — настроить веб-сервер.

Создаем файл /etc/apache2/sites-available/davical и записываем в него

<VirtualHost *:80>

DocumentRoot /usr/share/davical/htdocs

DirectoryIndex index.html index.php

ServerName davical.local

Alias /images/ /usr/share/davical/htdocs/images/

Alias /cal /var/www/caldavzap/

<Directory /usr/share/davical/htdocs/>

AllowOverride None

Order allow,deny

Allow from all



php_value include_path /usr/share/awl/inc

php_value magic_quotes_gpc 0

php_value register_globals 0

php_value error_reporting «E_ALL & ~E_NOTICE»

php_value default_charset «utf-8»





Создаем ссылку на этот файл в /etc/apache2/sites-enabled/

И перезапускаем Apache



Сейчас у нас стали доступны два веб-интерфейса

davical.local — веб-интерфейс самого Davical, где можно делать или общесистемные настройки, если есть админские права, или создавать себе дополнительные календари или адресные книги, если права обычного пользователя.





Рекомендую сразу же зайти сюда как admin и сменить тот пароль, который мы запомнили в самом начале при установке Davical

davical.local/cal — веб-интерфейс нашего календаря





На последок две полезные ссылки, для подключения ресурсов к внешним клиентам, например к Evolution или Outlook

davical.local/caldav.php/USERNAME/addresses/ — подключение адресной книги

davical.local/caldav.php/USERNAME/calendar/ — подключение календаря.



Не забудьте в этих ссылках заменить доменное имя и USERNAME на реально существующие

Original source: habrahabr.ru (comments, light).

Читать дальше


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Рекламное место сдается Рекламное место сдается
Текстовая версия Сейчас: 29.3.2024, 12:42
Рейтинг@Mail.ru
Яндекс.Метрика Яндекс цитирования