- Собственное облачное хранилище на базе OwnCloud
- Проверяем требования
- Установка облачного хранилища ownCloud на Linux
- Что это такое?
- Установка
- Конфигурация веб-сервера Apache
- Подключение к хранилищу в браузере
- Создание пользователя
- Подключение через WebDav-клиент Cyberduck
- Настройка https для owncloud
- Предложение от 8host.com
- Установка и настройка ownCloud в Ubuntu 18.04
- Требования
- 1: Установка ownCloud
- 2: Настройка Apache
- 3: Создание базы данных MySQL
- 4: Настройка ownCloud
- Заключение
Собственное облачное хранилище на базе OwnCloud
Всего 15 лет назад жесткие диски на многих домашних компьютерах были размером не больше 120 GB (гигабайт). В те времена сложно было представить чем заполнить такой объем диска. Но шли года, росли хранимые объемы информации и этих старых жестких дисков уже стало не хватать. Сейчас жесткие диски меньше 500 GB многими воспринимаются как небольшие по объему. Но ведь важно не сколько информации, а какая именно. Это могут быть для обычного пользователя дорогие как память фотографии, диплом, научная работа и многое другое, а для организации — огромная кипа различных документов.
Встает вопрос — можно ли всю информацию хранить где-то еще, чтобы исключить вероятность потери, например, в случае выхода из строя жесткого диска? Вариантов довольно много, это и внешний жесткие диски, флешки, оптические носители информации(DVD и CD), на рынке полно простеньких NAS(Network Attached Storage — сетевые хранилища, т.е. мини-компьютеры предназначенные только для хранения информации) и различные облачные сервисы.
Сейчас много разных компаний предоставляют так называемые “облака” для хранения личной информации, самые крупные и известные предложения от Яндекс, Google, MailRu, DropBox и другие. Все они различаются условиями предоставления бесплатного объема хранимой информации. Главными плюсами являются простота использования и доступность из любой точки мира, главное чтобы под рукой оказался Интернет.
Но можем ли мы доверять этим сервисам? Например, в пользовательском соглашении Google есть такие строчки:
“Мы можем предоставить Вашу личную информацию юридическим и физическим лицам, не связанным с Google, если добросовестно полагаем, что эти лица вправе получать, использовать, хранить или раскрывать эту информацию.
Другие сервисы имеют похожие условия. Помимо всего прочего не стоит упускать из внимания действия кибер-злоумышленников, которые могут увести Ваши данные.
Поэтому мы рассмотрим с Вами вариант использования собственного облачного хранилища, пригодного как для личных нужд, так и для организаций — OwnCloud.
Проверяем требования
Способов установки OwnCloud много разных, даже есть готовые образы под виртуальные серверы, но мы не ищем легких путей и будем устанавливать в ручную.
Устанавливается OwnCloud на практически любую linux-подобную операционную систему, мы будем использовать CentOS 7.6.
- как обычно — необходим root доступ;
- база данных — MySQL или MariaDB 5.5+, Oracle 11g, PostgreSQL, SQLite;
- веб-сервер Apache с Multi-Processing Module и mod_php, можно использовать и Nginx, но не рекомендуется разработчиком;
- php версий 5.6, 7.0, 7.1, 7.2 — рекомендуется на сайте;
- может работать на 128МБ оперативной памяти, но строго рекомендуется не меньше 512МБ
- клиентские приложения есть практически на любые современные устройства а также доступ через web интерфейс с самых популярных веб-браузеров.
По рекомендациям будем использовать Apache, php 7.2 и PostgreSQL 9.6, поскольку на 10 и 11 PostgreSQL выдаёт ошибку. Разработчики обещают исправить это в OwnCloud 11 версии. На текущий момент последняя версия OwnCloud 10.0.10.
В документации есть рекомендации по характеристикам сервера в зависимости от количества пользователей. Например, для количества пользователей до 150, базой данных до 10ТБ(терабайт) и не сильной нагрузкой хватит двухъядерного процессора и 16ГБ оперативной памяти.
Для самостоятельного ознакомления можно посетить официальный сайт с документацией.
Установка облачного хранилища ownCloud на Linux
В инструкции описан процесс установки, настройки облачного хранилища ownCloud на виртуальном сервере с операционной системой Linux и подключение по протоколу WebDAV.
Что это такое?
ownCloud — это сервер обмена файлами, позволяющий получить доступ к вашим файлам с любого устройства и синхронизировать данные. ownCloud размещается на вашем сервере, поэтому вы можете быть уверены, что никто кроме вас не получит доступ к данным.
- Для установки ownCloud на вашем сервере должен быть установлен LAMP-стек: Ubuntu, Centos 7.
- Для PHP должны быть установлены следующие модули: imagick, common, curl, gd, imap, intl, json, ldap, mbstring, mcrypt, mysql, pgsql, smbclient, ssh2, sqlite3, xml, zip.
- Также вы должны иметь права суперпользователя.
Установка
В нашем примере установка производится на Ubuntu 16, на других дистрибутивах некоторые команды могут отличаться, но процедура остается прежней. Скачайте пакет и ключи с последней версией продукта, на момент написания статьи последняя версия — 13.0.4, актуальную версию можно посмотреть на официальном сайте:
sudo curl https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key | sudo apt-key add —
echo ‘deb https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /’ | sudo tee /etc/apt/sources.list.d/owncloud.list
Обновите пакеты и установите программу:
sudo apt-get update
sudo apt-get install owncloud-files
Конфигурация веб-сервера Apache
Создайте с помощью текстового редактора vi конфигурационный файл и откройте его:
Alias /owncloud «/var/www/owncloud/»
Options +FollowSymlinks
AllowOverride All
Dav off
SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud
Примечание: у вас могут отличаться пути до каталога.
Далее создайте символьную ссылку:
ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/owncloud.conf
Также необходимо изменить права владения:
chown -R www-data:www-data /var/www/owncloud/
Для применения изменений перезапустите веб-сервер:
Подключение к хранилищу в браузере
Для подключения в браузере используйте ваш ip-адрес или домен:
При первом подключении к хранилищу необходимо создать учетную запись администратора, введите имя администратора и безопасный пароль. Нажмите Завершить установку.
После вы будете перенаправлены на страницу входа в хранилище, введите учетные данные администратора и нажмите Enter.
Далее перед Вами откроется интуитивный интерфейс с файлами и каталогами, который уже можно использовать для работы.
Создание пользователя
Для создания нового пользователя хранилища на главной странице в правом верхнем углу кликните на ваш логин и в выпадающем меню нажмите Пользователи.
Введите Имя пользователя и Пароль, при необходимости укажите группу. Нажмите Создать.
В результате у вас появится новый пользователь со своим пространством для файлов.
Подключение через WebDav-клиент Cyberduck
Подключение к облачному хранилищу можно сделать по протоколу WebDAV с помощью клиента Cyberduck. Установите приложение и создайте новое подключение. В качестве протокола выберете WebDAV (HTTP). В поле Сервер введите адрес, который можно найти в настройках на странице в браузере.
Порт — 80, если вы не изменяли. Введите ваше Имя пользователя и Пароль. Нажмите Подключиться.
Произойдет подключение к хранилищу и откроется корневой каталог.
Настройка https для owncloud
Теперь установим сервер owncloud 8 и настроим apache2 таким образом, чтобы сервис стал доступен на главной странице сервера, a-la «company.com». А также перенаправим всех пользователей, обращающихся к 80 порту, на 443 порт.
Итак, скачаем последнюю версию:
Распакуем в директорию /var/www:
И назначим владельцем пользователя apache2:
mod rewrite нужен для корректной работы owncloud:
Теперь создадим самоподписанный сертификат.
Сначала создадим директорию, в которой он будет находиться:
-х509 означает, что мы хотим создать самоподписанный сертификат
-nodes означает, что мы не будем защищать сертификат паролем (если сделать это, то пароль придётся вводить при каждом старте apache2)
-days 3650 означает, что сертификат будет действителен (почти) 10 лет
-newkey rsa:2048 создаст ключ длиной 2048 бит
-keyout и -out — названия наших ключа и сертификата
В процессе отвечаем на вопросы о компании, для которой создаётся сертификат. Самое главное там указать правилное имя сервера:
FQDN — Common Name (e.g. server FQDN or YOUR name)
Теперь создадим конфигурационный файл для apache2:
И можно заходить в owncloud через браузер. При первом заходе он попросит нас задать админа сервера, расположения директории с данными,а также пользователя (ownclouduser), пароль и название (ownclouddb) БД, которю мы создали для owncloud.
Предложение от 8host.com
Установка и настройка ownCloud в Ubuntu 18.04
ownCloud – это сервер для общего доступа к файлам и централизованного удалённого хранения документов. Приложение ownCloud во многом напоминает Dropbox.
В отличие от большинства подобных приложений, OwnCloud является свободным приложением с открытым исходным кодом, благодаря чему его может установить любой пользователь. Кроме того, OwnCloud можно установить на собственный сервер, что устраняет необходимость размещать конфиденциальные данные на сторонних серверах, тем самым увеличивая безопасность данных.
Это руководство поможет установить ownCloud на сервер Ubuntu 18.04.
Требования
- Сервер Ubuntu 18.04, настроенный согласно этому мануалу.
- Стек LAMP (инструкции по установке можно найти здесь).
- Сертификат SSL. Если у вас есть зарегистрированное доменное имя, вы можете получить бесплатный сертификат от сервиса Let’s Encrypt. Если у вас нет домена, вы можете создать самоподписанный сертификат.
1: Установка ownCloud
Пакета ownCloud нет в репозитории Ubuntu. Однако проект ownCloud предоставляет свой выделенный репозиторий для системы Ubuntu, который нужно добавить на сервер.
Сначала загрузите ключ релиза с помощью команды curl и импортируйте его с помощью apt-key и команды add:
curl https://download.owncloud.org/download/repositories/10.0/Ubuntu_18.04/Release.key | sudo apt-key add —
Пакет Release.key содержит открытый ключ PGP, с помощью которого менеджер apt сможет подтвердить подлинность пакета ownCloud.
Импортировав ключ, создайте файл owncloud.list в каталоге sources.list.d и поместите в него адрес репозитория ownCloud.
echo ‘deb http://download.owncloud.org/download/repositories/10.0/Ubuntu_18.04/ /’ | sudo tee /etc/apt/sources.list.d/owncloud.list
Теперь можно использовать менеджер пакетов, чтобы установить ownCloud. Кроме основного пакета также нужно установить несколько библиотек PHP, которые ownCloud использует для поддержки дополнительных функций. Обновите свой локальный индекс пакетов и установите все:
sudo apt update
sudo apt install php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip owncloud-files
Теперь все необходимые пакеты установлены на сервер.
2: Настройка Apache
Пакет ownCloud, который вы установили, копирует файлы в каталог /var/www/owncloud на сервере. В настоящее время конфигурация виртуального хоста Apache поддерживает обслуживание файлов из другого каталога. Нужно изменить параметр DocumentRoot в нашей конфигурации, чтобы указать новый каталог.
Чтобы узнать, какие файлы виртуальных хостов ссылаются на ваше доменное имя или IP-адрес, используйте утилиту apache2ctl с параметром DUMP_VHOSTS. Отфильтруйте вывод по домену или IP-адресу сервера, чтобы найти файлы, которые необходимо отредактировать.
sudo apache2ctl -t -D DUMP_VHOSTS | grep server_domain_or_IP
*:443 server_domain_or_IP (/etc/apache2/sites-enabled/server_domain_or_IP-le-ssl.conf:2)
port 80 namevhost server_domain_or_IP (/etc/apache2/sites-enabled/server_domain_or_IP.conf:1)
В круглых скобках вы можете увидеть каждый из файлов, которые ссылаются на доменное имя или IP-адрес сервера ownCloud. Это файлы, которые вам нужно отредактировать.
Откройте каждый из этих файлов в текстовом редакторе с привилегиями sudo:
sudo nano /etc/apache2/sites-enabled/server_domain_or_IP.conf
Найдите директиву DocumentRoot и укажите в ней каталог /var/www/owncloud.
Сохраните и закройте файл. Повторите этот процесс для каждого из файлов, который ссылается на доменное имя (или IP-адрес, если вы не настроили домен для своего сервера).
После этого проверьте синтаксис своих файлов Apache, чтобы убедиться, что в конфигурации нет опечаток:
sudo apache2ctl configtest
Syntax OK
В зависимости от конфигурации вы можете увидеть предупреждение о глобальной настройке ServerName. Если вывод заканчивается строкой Syntax OK, вы можете игнорировать это предупреждение. Если вы видите другие ошибки, вернитесь назад и проверьте файлы, которые вы только что отредактировали, чтобы исправить их.
Если проверка синтаксиса прошла успешно, перезагрузите Apache, чтобы активировать изменения:
sudo systemctl reload apache2
Теперь Apache может обслуживать файлы ownCloud.
3: Создание базы данных MySQL
Прежде чем перейти к конфигурации в браузере, необходимо настроить базу данных. Во время настройки онлайн нужно будет указать имя БД, пользователя базы данных и пароль, чтобы ownCloud мог подключать и управлять данными в MySQL.
Войдите в MySQL как администратор:
Для хранения данных ownCloud необходима отдельная БД. В данном руководстве такая БД для простоты будет называться owncloud, но вы можете выбрать более описательное имя.
Примечание: Все команды MySQL должны заканчиваться точкой с запятой.
Теперь нужно создать пользователя для управления новой БД и передать ему все права на неё. Наличие отдельной БД и пользователя для каждого приложения очень важно для простоты управления и безопасности. В руководстве пользователь называется owncloud; вы можете выбрать другое имя.
GRANT ALL ON owncloud.* to ‘owncloud’@’localhost’ IDENTIFIED BY ‘owncloud_database_password’;
Примечание: Вместо ‘set_database_password’ укажите пароль для этой БД.
После этого нужно сбросить привилегии, чтобы обновить настройки MySQL.
4: Настройка ownCloud
Веб-интерфейс ownCloud доступен по ссылке:
Примечание: Если вы используете самоподписанный сертификат, браузер предупредит вас о том, что сайт может быть опасен. Это нормально и происходит потому, что сертификат сайта не подписан центром сертификации, которому браузер может доверять. Данные, передаваемые при соединении, всё равно будут шифроваться. Подтвердите переход, чтобы получить доступ к панели управления ownCloud. На экране появится приветственная страница и форма для входа.
Чтобы создать аккаунт администратора, выберите имя пользователя и пароль.
Важно! Использовать имя admin очень опасно.
Оставьте Data folder без изменений и прокрутите окно до настроек БД.
Укажите данные о БД. Оставьте хост localhost.
Нажмите Finish setup, чтобы завершить настройку ownCloud. Вы попадете на экран входа, где сможете войти в свою новую учетную запись.
При первом входе в систему появится экран, который предложит вам загрузить приложения для синхронизации файлов на разных устройствах. Вы можете загрузить и настроить их сейчас или сделать это позже. Когда вы закончите, нажмите x в правом верхнем углу, чтобы перейти к главному интерфейсу:
Здесь вы можете создавать или загружать файлы в свое личное облако.
Заключение
ownCloud предоставляет возможности популярных сторонних облачных сервисов хранения. ownCloud позволяет совместно использовать хранящийся контент и поддерживает доступ к файлам по ссылкам. Преимущество ownCloud заключается в том, что информация хранится не на сторонних серверах, а на машине, которую вы контролируете.
Изучите интерфейс и дополнительные функции, установите плагины ownCloud – их можно найти здесь.