1/5 - (1 голос)

OwnCloud

Сегодня мы расскажем об организации общедоступного файлового хранилища.nnИтак, стояла задача создать хранилище для файлов компании с доступом  через Интернет  с различных устройств. Некий аналог DropBox и Google Drive. Только на первом месте стояла конфиденциальность данных, которые располагаются на хранилище. Соответственно Решение было найдено среди продуктов, которые можно установить на приватный сервер.nnСистему строим на базе OwnCloud.  Текущая стабильная версия – 9.1. На данный момент система работает на виртуальном сервере под управлением CentOS 7, для которого выделен 1 виртуальный процессор, 2GB RAM, и 20 GB дискового пространства на SSD. В качестве клиента выступает Web-браузер. Также доступны приложения под все самые популярные мобильные платформы.nnДля небольших компаний (до 150 человек) предлагается конфигурация, в которой все: веб-сервер и сервер приложения, база данных, хранилище файлов, расположены на одном сервере. Аутентификация пользователей происходит через LDAP или Active Directory.nnнастройка авторизации через ad ldapnnДля сервера рекомендуется использовать 2 CPU cores, 16GB RAM, размер хранилища определяется пользовательскими данными. Количество используемой  памяти для ownCloud сильно зависит от количества пользователей и файлов, активности работы с системой. Минимально рабочим значением является 128MB RAM, однако рекомендуемый минимум – 512 MB RAM.nnПри выборе операционной системы наиболее проверенным и стабильным дистрибутивом является  Ubuntu 16.04 LTS. Также поддерживаются RedHat или SuSE, но для них может потребоваться подключение сторонних репозитариев и выполнение дополнительных настроек.nnРекомендуется использовать SSL для работы системой. Для этого необходимо настроить Apache для использования SSL стандартным способом.nnВ качестве базы данных рекомендуется использование MySQL / MariaDB, ( MyISAM не поддерживается)nnДля сервера приложений рекомендуется локальное управление сессиями..PHP сохраняются в  tmpfs, который Смонтирован в место хранения сессии конкретной операционной системы.nnMemory Кэш.Рекомендуется APC/APCu для локального кеша. — Redis для Transactional File Locking и распределенного кеширования, запущенный на выделенном сервере. Memcache повышает производительность решения. ownCloud поддерживает до 4х memcaches;nnДля максимальной производительности стабильности и полной функциональности рекомендуется использоватьn

erating system: Ubuntu 16.04 LTS.nWeb server: Apache 2.4.nDatabase: MySQL/MariaDB with InnoDB storage engine (MyISAM is not supported, see: : ref:db-storage-engine-label)nPHP 7.

Другие поддерживаемые платформы и конфигурацииn

Server: Linux (Debian 7 and 8, SUSE Linux Enterprise Server 12 and 12 SP1, Red Hat Enterprise Linux/Centos 6.5 and 7 (7 is 64-bit only), Ubuntu 14.04 LTS, 16.04 LTS)nWeb server: Apache 2.4 with mod_phpnDatabases: MySQL/MariaDB 5.5+; Oracle 11g (ownCloud Enterprise edition only); PostgreSQLnPHP 5.4 + requirednHypervisors: Hyper-V, VMware ESX, Xen, KVMnDesktop: Windows 7+, Mac OS X 10.7+ (64-bit only), Linux (CentOS 6.5, 7 (7 is 64-bit only), Ubuntu 12.04+, Fedora 20+, openSUSE 12.3+, Debian 7 & 8).nMobile apps: iOS 7+, Android 4+nWeb browser: IE11+ (except Compatibility Mode), Firefox 14+, Chrome 18+, Safari 5+

Итак, для CentOS 7, установленной в режиме Minimal Installation потребовалось:n

    n

  1. Установка утилиты wget
  2. Импорт репозитариев и получение установочных файлов
  3. Установка OwnCloud. Разработчик предоставляет возможность установить только файлы для ownCloud, только зависимости. Или и то и другое в одной команде. Мы использовали последний вариант и помимо файлов были установлены следующие зависимости, среди которых было отмечено отсутствие mySQL:

n

apr.x86_64 0:1.4.8-3.el7n  apr-util.x86_64 0:1.5.2-6.el7n  audit-libs-python.x86_64 0:2.6.5-3.el7_3.1n  checkpolicy.x86_64 0:2.5-4.el7n  httpd.x86_64 0:2.4.6-45.el7.centosn  httpd-tools.x86_64 0:2.4.6-45.el7.centosn  libX11.x86_64 0:1.6.3-3.el7n  libX11-common.noarch 0:1.6.3-3.el7n  libXau.x86_64 0:1.0.8-2.1.el7n  libXpm.x86_64 0:3.5.11-3.el7n  libcgroup.x86_64 0:0.41-11.el7n  libjpeg-turbo.x86_64 0:1.2.90-5.el7n  libpng.x86_64 2:1.5.13-7.el7_2n  libsemanage-python.x86_64 0:2.5-5.1.el7_3n  libxcb.x86_64 0:1.11-4.el7n  libxslt.x86_64 0:1.1.28-5.el7n  libzip.x86_64 0:0.10.1-8.el7n  mailcap.noarch 0:2.1.41-2.el7n  owncloud-deps-php5.noarch 0:9.1.4-2.1n  owncloud-files.noarch 0:9.1.4-1.1n  php.x86_64 0:5.4.16-42.el7n  php-cli.x86_64 0:5.4.16-42.el7n  php-common.x86_64 0:5.4.16-42.el7n  php-gd.x86_64 0:5.4.16-42.el7n  php-ldap.x86_64 0:5.4.16-42.el7n  php-mbstring.x86_64 0:5.4.16-42.el7n  php-mysql.x86_64 0:5.4.16-42.el7n  php-pdo.x86_64 0:5.4.16-42.el7n  php-process.x86_64 0:5.4.16-42.el7n  php-xml.x86_64 0:5.4.16-42.el7n  policycoreutils-python.x86_64 0:2.5-11.el7_3n  python-IPy.noarch 0:0.75-6.el7n  setools-libs.x86_64 0:3.3.8-1.1.el7n  t1lib.x86_64 0:5.1.2-14.el7
    n

  1. Далее был настроен Firewall для использования web
  2. Запущена служба httpd
  3. Установлена, сконфигурирована стандартными средствами и запущена служба mariadb
  4. Настроены права для доступа к файлам ownCloud для пользователя apache согласно инструкции разработчика.
  5. Настроены разрешения SELinux согласно инструкции разработчика.

nсоздание облачного хранилищаnnПосле этого появилась возможность финальной конфигурации OwnCloud на странице входа в систему.nnсвое облакоnnСистема встретила дружественным интерфейсом и сразу указала на недостатки конфигурации,nnКоторые были незамедлительно исправлены. Дополнительно были оптимизированы настройки БД согласно инструкции разработчика.nnНа данный момент система находится в тестовой эксплуатации. Разрабатывается структура и иерархия безопасности для дерева папок.nnРазвертывание решения заняло 8 рабочих часов от планирования до тонкого тюнинга (без учета предварительного тестирования  системы). Программный продукт имеет достаточно подробную инструкцию. На выходе была получена система, позволяющая иметь доступ к приватным данным, обеспечивающая возможность их синхронизации на различных устройствах с использованием WebDAV и контролируемой публикации. Все это на собственных серверных мощностях. OwnCloud является расширяемой платформой с простым, функциональным API. Также имеются готовые плагины и приложения для настройки непосредственно под Ваши задачи.nnЗаказчик доволен результатом.nnВ будущем планируется усиление отказоустойчивости решения и настройка двухфакторной аутентификации.n

Если Вы планируете использование подобной системы в своей компании, наши специалисты всегда готовы оказать Вам помощь и поддержку во внедрении и сопровождении решения, обращайтесь [email protected]