Установка Owncloud и авторизация пользователей через LDAP

В статье Настройка LDAP+Samba, LDAP клиента с переносимым профилем мы настроили наш LDAP сервер, теперь, для того чтобы пользователи могли управлять своими файлами вне зависимости от места нахождения, мы установим Owncloud сервер и позволим пользователям добавлять файлы прямо с рабочего стола.

Что же такое Owncloud, Википедия гласит:

ownCloud — это Свободное и открытое веб-приложение для синхронизации данных, расшаривания файлов и удалённого хранения документов в «облаке».
Возможности:

  • Хранение файлов с использованием обычных структур каталогов, или с использованием WebDAV
  • Криптография
  • Синхронизация между клиентами под управлением Windows (Windows XP, Vista, 7 и 8), Mac OS X (10.6 и новее) или Linux
  • Календарь (также как CalDAV)
  • Планировщик задач
  • Адресная книга (также как CardDAV)
  • Потоковое мультимедиа (используется Ampache)
  • Администрирование пользователей и групп (с использованием OpenID или LDAP)
  • Расшаривание контента между группами или используя публичные URL
  • Онлайн текстовый редактор с подсветкой синтаксиса и сворачиванием
  • Закладки
  • Механизм сокращения URL
  • Фотогалерея
  • Просмотрщик PDF (используется PDF.js)
  • Просмотрщик ODF файлов (.odt, .odp, .ods)
  • Модуль логирования

Приступим к установке, для работы owncCloud нам потребуется настроить Веб-сервер, Сервер баз данных.
Как это сделать, я рассказывал ранее в статье Установка apache2 mysql php5 в ubuntu помимо стандартных пакетов так же ставим следующие пакеты:

  • PHP (>= 5.3.3 minimum, 5.4 or higher recommended)
  • PHP module ctype
  • PHP module dom
  • PHP module GD
  • PHP module iconv
  • PHP module JSON
  • PHP module libxml
  • PHP module mb multibyte
  • PHP module SimpleXML
  • PHP module zip
  • PHP module zlib
  • PHP module mysql

Далее скачиваем архив с установщиком ownCloud, распаковываем и  переносим все в каталог нашего домена

cd /tmp
wget http://download.owncloud.org/community/owncloud-6.0.1.tar.bz2
tar -xjf owncloud-6.0.1.tar.bz2
cp -R owncloud/* /var/www/example.com/

Так же нам необходимо обеспечить доступ к файлам с рабочего стола, делаем символьную ссылку из директории ownCloud к нашим каталогам пользователя

ln -s /domain/home /var/www/example.com/data

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

После установки заходим в веб панель, путем нажатия в левом нижнем углу следующей иконки:

apps ico

и устанавливаем приложение LDAP user and group backend, затем переходим в панель администратора (раскрывающийся список под именем пользователя в верхнем правом углу).

Теперь настроим авторизацию пользователей через LDAP (далее сокращенный вольный перевод документации с сайта owncloud.org)

Настройка подключения к серверу довольно проста, нам будут видно четыре вкладки, первая вкладка является основной. её нужно заполнить обязательно, остальные вкладки заполнятся автоматически, но в любом случае необходимо проверить правильность заполнения, кроме того если сервер не позволяет анонимную аутентификацию и поиск по базе LDAP. необходимо создать пользователя специально для ownCloud который сможет осуществлять поиск в базе LDAP

Первая вкладка Server

server
Настройки:
Конфигурация сервера:
ownCloud может быть настроен на соеденение с несколькими LDAP серверами, добавить сервер нажав на раскрывающийся список и выбрав New Server Configuration, удалить сервер можно кнопкой Delete Configuration
Host:
Здесь указывается хост LDAP сервера, я указал IP адрес по причине того, что даже в случае недоступности DNS сервера, местонахождение сервера будет известно. Так же можно указать ldaps:// URI, если используется защищенное соединение.

Здесь же можно указать и имя порта, особенно если LDAP находится на не стандартном порту, это ускорит соединение и конфигурацию.
Примеры:
directory.my-company.com
ldaps://directory.my-company.com
directory.my-company.com:9876

Port:
В этом поле указывается порт по которому необходимо соединяться с LDAP сервером. При начальной конфигурации это поле недоступно для ввода. Поле будет заполнено автоматически, если LDAP сервер запущен на стандартном порту. После попытки ownCloud определить порт, ввод в поле будет разрешен. После нахождения порт будет добавлен в конфигурацию ownCloud.

Вообще не понял зачем это делать. если выше мы можем руками указать порт, видимо чем больше полей, тем лучше, считал разработчик апплета :)

Пример:
389

User DN:
Указывается DN пользователя кто может осуществлять поиск по LDAP. Если есть анонимный доступ, можно оставить пустым. Все таки рекомендуется завести специального пользователя для ownCloud с правами поиска по каталогам LDAP .

Пример:
uid=owncloudsystemuser,cn=sysusers,dc=my-company,dc=com
Password:
Указываем пароль для пользователя выше
Base DN:
Указываем базовый DN, где можно получить информацию о пользователях. Раздельные базовые DN для пользователей и груп могут быть настроены позже в разделе продвинутых (тонких) настроек. Это поле обязательное для заполнения. ownCloud будет пытаться соединиться с LDAP по указанному базовому DN и указанному DN пользователя, в соответствии с указанным хостом.

Пример:
dc=my-company,dc=com

Login Filter

В этом разделе настроек указываем каким пользователям  LDAP можно осуществлять вход в ownCloud. Так же это можно указать строкой.

user filter

only those object classes:
ownCloud определит классы объектов которые типичны для пользователей LDAP. ownCloud автоматически выберет классы объектов которые вернут большее количество пользователей. При необходимости, можно выбрать и больше классов.
only from those groups:
Если  LDAP сервер поддерживает member-of-overlay в  LDAP фильтрах, можно определить пользователи каких групп  могут подключаться к ownCloud. По умолчанию значений выбрано не будет. При необходимости можно выбрать несколько групп.

Иначе поле будет заблокировано.

Edit raw filter instead:
Нажатие на это поле включит текстовую фильтрацию. Можно настроить  LDAP прямо из этого поля.

Пример:

objectClass=inetOrgPerson

x users found:

Это поле покажет приблизительно сколько пользователей имеют доступ к ownCloud. После изменений количество обновится.

Login Filter

В этом фильтре будут определены аттрибуты пользователя необходимые для входа.Можно выбирать несколько. Можно настроить через строчный фильтр LDAP.

Login Filter

LDAP Username:

Если поле выбрано, то аутентификация пользователя в ownCloud будет происходить по имени пользователя

LDAP Email Address:

Если выбрано это поле, то аутентификация в ownCloud будет происходить по Email пользователя

Other Attributes:

В этом поле можно выбрать другие атрибуты для сравнения и последующей аутентификации. Список будет сгенерирован исходя из записей LDAP сервера

Group Filter

В этих настройках определяются группы пользователей которым разрешено логиниться в ownCloud.

По умолчанию, всем группам запрещен вход в ownCloud. Нужно разрешить группы.

Group filter

only those object classes:

ownCloud определит классы объектов, которые типичны для LDAP групп. ownCloud только определит список, выбор нужно будет сделать в ручную. Можно будет выбрать несколько. Типичные классы объектов “group” или  “posixGroup”.

only from those groups:

Здесь выбираем группы у которых есть доступ к ownCloud. Это поле является белым листом групп. ownCloud выведет список групп найденных в LDAP. Можно выбрать несколько

Special Attributes

Special Attributes

Здесь интересно только поле

User Home Folder Naming Rule:

по умолчанию дирректория пользователя будет создаваться согласно uid, что-то вроде 72fd02c8-1aef-1033-8a59-43679a97b525, так как нам нужно чтобы пользователь имел доступ к своим файлам, соответственно имя директории должно соответствовать cn пользователя в LDAP, таким образом указав в поле cn, мы даем понять ownCloud, что все вновь создаваемые директории должны иметь имя пользователя.

 

Вот и всё, всё должно работать.

1 комментарий к “Установка Owncloud и авторизация пользователей через LDAP

  1. В случае с AD пришлось иначе указать пользователя с правами просмотра каталогов:
    cn=ownclouduser,ou=Users,dc=example,dc=com
    И еще нужно установить модуль ldap для php
    А так — спасибо за статью

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.