Связаться по:
vkarabedyants Telegram Viber

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

OwnCloud создаем свое облачное хранилище

OwnCloud

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

Итак, стояла задача создать хранилище для файлов компании с доступом  через Интернет  с различных устройств. Некий аналог DropBox и Google Drive. Только на первом месте стояла конфиденциальность данных, которые располагаются на хранилище. Соответственно Решение было найдено среди продуктов, которые можно установить на приватный сервер.

Систему строим на базе OwnCloud.  Текущая стабильная версия – 9.1. На данный момент система работает на виртуальном сервере под управлением CentOS 7, для которого выделен 1 виртуальный процессор, 2GB RAM, и 20 GB дискового пространства на SSD. В качестве клиента выступает Web-браузер. Также доступны приложения под все самые популярные мобильные платформы.

Для небольших компаний (до 150 человек) предлагается конфигурация, в которой все: веб-сервер и сервер приложения, база данных, хранилище файлов, расположены на одном сервере. Аутентификация пользователей происходит через LDAP или Active Directory.

настройка авторизации через ad ldap

Для сервера рекомендуется использовать 2 CPU cores, 16GB RAM, размер хранилища определяется пользовательскими данными. Количество используемой  памяти для ownCloud сильно зависит от количества пользователей и файлов, активности работы с системой. Минимально рабочим значением является 128MB RAM, однако рекомендуемый минимум – 512 MB RAM.

При выборе операционной системы наиболее проверенным и стабильным дистрибутивом является  Ubuntu 16.04 LTS. Также поддерживаются RedHat или SuSE, но для них может потребоваться подключение сторонних репозитариев и выполнение дополнительных настроек.

Рекомендуется использовать SSL для работы системой. Для этого необходимо настроить Apache для использования SSL стандартным способом.

В качестве базы данных рекомендуется использование MySQL / MariaDB, ( MyISAM не поддерживается)

Для сервера приложений рекомендуется локальное управление сессиями..PHP сохраняются в  tmpfs, который Смонтирован в место хранения сессии конкретной операционной системы.

Memory Кэш.Рекомендуется APC/APCu для локального кеша. — Redis для Transactional File Locking и распределенного кеширования, запущенный на выделенном сервере. Memcache повышает производительность решения. ownCloud поддерживает до 4х memcaches;

Для максимальной производительности стабильности и полной функциональности рекомендуется использовать

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

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

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)
Web server: Apache 2.4 with mod_php
Databases: MySQL/MariaDB 5.5+; Oracle 11g (ownCloud Enterprise edition only); PostgreSQL
PHP 5.4 + required
Hypervisors: Hyper-V, VMware ESX, Xen, KVM
Desktop: 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).
Mobile apps: iOS 7+, Android 4+
Web browser: IE11+ (except Compatibility Mode), Firefox 14+, Chrome 18+, Safari 5+

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

  1. Установка утилиты wget
  2. Импорт репозитариев и получение установочных файлов
  3. Установка OwnCloud. Разработчик предоставляет возможность установить только файлы для ownCloud, только зависимости. Или и то и другое в одной команде. Мы использовали последний вариант и помимо файлов были установлены следующие зависимости, среди которых было отмечено отсутствие mySQL:
apr.x86_64 0:1.4.8-3.el7
  apr-util.x86_64 0:1.5.2-6.el7
  audit-libs-python.x86_64 0:2.6.5-3.el7_3.1
  checkpolicy.x86_64 0:2.5-4.el7
  httpd.x86_64 0:2.4.6-45.el7.centos
  httpd-tools.x86_64 0:2.4.6-45.el7.centos
  libX11.x86_64 0:1.6.3-3.el7
  libX11-common.noarch 0:1.6.3-3.el7
  libXau.x86_64 0:1.0.8-2.1.el7
  libXpm.x86_64 0:3.5.11-3.el7
  libcgroup.x86_64 0:0.41-11.el7
  libjpeg-turbo.x86_64 0:1.2.90-5.el7
  libpng.x86_64 2:1.5.13-7.el7_2
  libsemanage-python.x86_64 0:2.5-5.1.el7_3
  libxcb.x86_64 0:1.11-4.el7
  libxslt.x86_64 0:1.1.28-5.el7
  libzip.x86_64 0:0.10.1-8.el7
  mailcap.noarch 0:2.1.41-2.el7
  owncloud-deps-php5.noarch 0:9.1.4-2.1
  owncloud-files.noarch 0:9.1.4-1.1
  php.x86_64 0:5.4.16-42.el7
  php-cli.x86_64 0:5.4.16-42.el7
  php-common.x86_64 0:5.4.16-42.el7
  php-gd.x86_64 0:5.4.16-42.el7
  php-ldap.x86_64 0:5.4.16-42.el7
  php-mbstring.x86_64 0:5.4.16-42.el7
  php-mysql.x86_64 0:5.4.16-42.el7
  php-pdo.x86_64 0:5.4.16-42.el7
  php-process.x86_64 0:5.4.16-42.el7
  php-xml.x86_64 0:5.4.16-42.el7
  policycoreutils-python.x86_64 0:2.5-11.el7_3
  python-IPy.noarch 0:0.75-6.el7
  setools-libs.x86_64 0:3.3.8-1.1.el7
  t1lib.x86_64 0:5.1.2-14.el7
  1. Далее был настроен Firewall для использования web
  2. Запущена служба httpd
  3. Установлена, сконфигурирована стандартными средствами и запущена служба mariadb
  4. Настроены права для доступа к файлам ownCloud для пользователя apache согласно инструкции разработчика.
  5. Настроены разрешения SELinux согласно инструкции разработчика.

создание облачного хранилища

После этого появилась возможность финальной конфигурации OwnCloud на странице входа в систему.

свое облако

Система встретила дружественным интерфейсом и сразу указала на недостатки конфигурации,

Которые были незамедлительно исправлены. Дополнительно были оптимизированы настройки БД согласно инструкции разработчика.

На данный момент система находится в тестовой эксплуатации. Разрабатывается структура и иерархия безопасности для дерева папок.

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

Заказчик доволен результатом.

В будущем планируется усиление отказоустойчивости решения и настройка двухфакторной аутентификации.

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

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.