OwnCloud
Сегодня мы расскажем об организации общедоступного файлового хранилища.nnИтак, стояла задача создать хранилище для файлов компании с доступом через Интернет с различных устройств. Некий аналог DropBox и Google Drive. Только на первом месте стояла конфиденциальность данных, которые располагаются на хранилище. Соответственно Решение было найдено среди продуктов, которые можно установить на приватный сервер.nnСистему строим на базе OwnCloud. Текущая стабильная версия – 9.1. На данный момент система работает на виртуальном сервере под управлением CentOS 7, для которого выделен 1 виртуальный процессор, 2GB RAM, и 20 GB дискового пространства на SSD. В качестве клиента выступает Web-браузер. Также доступны приложения под все самые популярные мобильные платформы.nnДля небольших компаний (до 150 человек) предлагается конфигурация, в которой все: веб-сервер и сервер приложения, база данных, хранилище файлов, расположены на одном сервере. Аутентификация пользователей происходит через LDAP или Active Directory.nnnnДля сервера рекомендуется использовать 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
- Установка утилиты wget
- Импорт репозитариев и получение установочных файлов
- Установка 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
- Далее был настроен Firewall для использования web
- Запущена служба httpd
- Установлена, сконфигурирована стандартными средствами и запущена служба mariadb
- Настроены права для доступа к файлам ownCloud для пользователя apache согласно инструкции разработчика.
- Настроены разрешения SELinux согласно инструкции разработчика.
nnnПосле этого появилась возможность финальной конфигурации OwnCloud на странице входа в систему.nnnnСистема встретила дружественным интерфейсом и сразу указала на недостатки конфигурации,nnКоторые были незамедлительно исправлены. Дополнительно были оптимизированы настройки БД согласно инструкции разработчика.nnНа данный момент система находится в тестовой эксплуатации. Разрабатывается структура и иерархия безопасности для дерева папок.nnРазвертывание решения заняло 8 рабочих часов от планирования до тонкого тюнинга (без учета предварительного тестирования системы). Программный продукт имеет достаточно подробную инструкцию. На выходе была получена система, позволяющая иметь доступ к приватным данным, обеспечивающая возможность их синхронизации на различных устройствах с использованием WebDAV и контролируемой публикации. Все это на собственных серверных мощностях. OwnCloud является расширяемой платформой с простым, функциональным API. Также имеются готовые плагины и приложения для настройки непосредственно под Ваши задачи.nnЗаказчик доволен результатом.nnВ будущем планируется усиление отказоустойчивости решения и настройка двухфакторной аутентификации.n
Если Вы планируете использование подобной системы в своей компании, наши специалисты всегда готовы оказать Вам помощь и поддержку во внедрении и сопровождении решения, обращайтесь [email protected]