OwnCloud, делаем своё собственное защищённое облако. Создание базы данных MySQL

|

OwnCloud – это веб-приложение для централизованного удалённого хранения и синхронизированного обслуживания данных (вроде Dropbox). OwnCloud отличается от своих аналогов тем, что это приложение можно установить на собственный сервер, что устраняет необходимость размещать личные данные на чужом сервере.

Как правило, ownCloud используется для простого обмена файлами, однако данное приложение имеет множество других функций.

Данное руководство покажет, как установить ownCloud на сервер Ubuntu 12.04. Также оно охватывает еще несколько тем, включая монтирование папки совместного использования ownCloud на сервере при помощи WebDAV.

Установка ownCloud

Репозиторий Ubuntu обычно содержит устаревшую версию ownCloud. Чтобы установить актуальную версию программы, используйте сервис сборки openSUSE.

Итак, для начала загрузите ключ ownCloud:

cd
wget http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04/Release.key

Затем добавьте полученный ключ в список apt, чтобы его можно было использовать для проверки файлов:

sudo apt-key add - < Release.key

Добавьте репозиторий ownCloud в список исходников службы сборки openSUSE:

echo "deb http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04/ /" | sudo tee -a /etc/apt/sources.list.d/owncloud.list

В завершение обновите базу пакетов. Затем можно установить ownCloud и MySQL.

sudo apt-get update
sudo apt-get install owncloud mysql-server

Во время установки программа предложит создать root-пароль для СУБД MySQL.

Настройка MySQL

Введите следущие команды, чтобы инициировать БД и запустить скрипт безопасности:

sudo mysql_install_db
sudo mysql_secure_installation

Введите ранее установленный пароль администратора MySQL, после чего на экране появятся параметры безопасности. Сначала программа предложит изменить root-пароль MySQL, в чём нет никакой необходимости, поскольку он установлен недавно; потому ответьте «нет» на первый вопрос. На остальные вопросы можно просто нажать Enter, чтобы выбрать «yes».

Войдите в MySQL как пользователь root:

mysql -u root -p

Снова введите root-пароль MySQL.

Чтобы создать БД, введите команду:

CREATE DATABASE owncloud;

Создайте нового пользователя MySQL и передайте ему все права на новую БД:

GRANT ALL ON owncloud.* to "owncloud"@"localhost" IDENTIFIED BY "select_database_password";

Закройте оболочку MySQL:

Заключительная конфигурация

Теперь введите в браузер IP-адрес или домен, добавьте секцию «/owncloud», после чего на экране появится страница с сообщением:

ownCloud
No database drivers (sqlite, mysql, or postgresql) installed.

Чтобы исправить эту ошибку, нужно установить дополнительный пакет PHP и библиотеку curl, которая пригодится позже:

sudo apt-get install php5-intl php5-curl

Перезапустите страницу. Если все установлено успешно, вместо ошибки на экране появится форма для создания учётной записи администратора.

Но прежде чем приступить к созданию пользователя, нажмите кнопку Advanced и выберите MySQL. Программа запросит учётные данные БД. Введите данные, установленные в предыдущем разделе.

Создайте пользователя и выберите для него пароль. После этого на экране появится приветственное сообщение:

Welcome to ownCloud
Your personal web services. All your files, contacts, calendar and more, in one place.

Закройте это сообщение (нажав Х в углу), чтобы открыть главный интерфейс. Он позволяет создавать или загружать файлы в персональную облачную систему.

Создание расшаренного каталога OwnCloud

Чтобы иметь возможность взаимодействовать с OwnCloud при помощи командной строки так, будто приложение является частью локальной файловой системы, создайте каталог совместного использования файлов. Для этого можно использовать WebDAV.

На другом сервере или машине Ubuntu создайте совместно используемый каталог, что позволит вам взаимодействовать с оболочкой в автоматизированном режиме.

Установите инструменты WebDAV на второй сервер Ubuntu:

sudo apt-get update
sudo apt-get install davfs2

Разрешите не-root пользователям монтировать и демонтировать расшаренный каталог WebDAV:

sudo dpkg-reconfigure davfs2
???????????????????????????? Configuring davfs2 ?????????????????????????????
? ?
? The file /sbin/mount.davfs must have the SUID bit set if you want to ?
? allow unprivileged (non-root) users to mount WebDAV resources. ?
? ?
? If you do not choose this option, only root will be allowed to mount ?
? WebDAV resources. This can later be changed by running "dpkg-reconfigure ?
? davfs2". ?
? ?
? Should unprivileged users be allowed to mount WebDAV resources? ?
? ?
? ?
? ?
?????????????????????????????????????????????????????????????????????????????

Чтобы включить WebDAV, введите Yes.

Добавьте пользователя Linux в группу WebDAV:

sudo usermod -aG davfs2 username

Отредактируйте таблицу файловой системы:

sudo nano /etc/fstab

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

your_IP_or_domain/owncloud/files/webdav.php /home/username/owncloud davfs user,rw,noauto 0 0

Перейдите в домашний каталог и создайте в нём два каталога: один из них будет расшаренным каталогом, а второй будет хранить параметры WebDAV.

cd
mkdir owncloud
mkdir .davfs2

Создайте файл secrets в конфигурационном каталоге WebDAV и внесите в него учётные данные ownCloud.

nano /home/username/.davfs2/secrets
your_IP_or_domain/owncloud/files/webdav.php OwnCloud_username OwnCloud_password

Заблокируйте файл, чтобы никто не смог получить доступ к конфиденциальным данным.

chmod 600 ~/.davfs2/secrets

Теперь можно смонтировать каталог совместного использования:

mount ~/owncloud

Откройте каталог owncloud и просмотрите его содержимое:

cd ~/owncloud
ls
error_page.png lost+found Screen Shot 2013-09-25 at 1.03.37 PM.png

Теперь можно добавлять, удалять и редактировать файлы в этом каталоге.

Использование OwnCloud для управления закладками

Постоянный доступ к необходимой информации с разных устройств – большое преимущество внедрения ownCloud.

К примеру, теперь вы можете хранить в ownCloud закладки (bookmarks) и получить доступ к ним с любого компьютера.

Чтобы включить поддержку закладок, кликните по имени пользователя в верхнем правом углу и выберите Apps. Здесь можно включать модули (или приложения – apps), расширяющие функции ownCloud. Найдите в меню Bookmarks и нажмите Enable.

После этого в левом меню появится кнопка Bookmarks. Нажмите её.

Затем перетащите кнопку со страницы в меню Bookmarks в браузере.

Теперь в браузере появилась кнопка Read later. Теперь можно нажать эту кнопку на любой странице, которую вы хотите прочесть позже, и закладка появится в ownCloud. Это откроет предварительно заполненную закладку, которую можно редактировать. Все закладки будут доступны во вкладке меню Bookmarks.

Органайзер OwnCloud

Кроме того, OwnCloud предоставляет достаточно функциональный органайзер, который можно совместить с календарём и таким образом составлять планы.

Снова откройте вкладку apps, кликните Tasks и нажмите Enable.

После этого в левом меню появится кнопка Tasks. Нажмите эту кнопку, чтобы открыть интерфейс задач.

Управление RSS-каналами через OwnCloud

RSS-каналы позволяют следить за несколькими сайтами одновременно, объединяя их контент в одном интерфейсе.

Чтобы настроить эту функцию ownCloud, нужно включить несколько приложений.

Откройте страницу apps и включите модули App Framework и News.

В меню слева появится вкладка News. Введите свои RSS-каналы, после чего они появятся в правой части страницы.

Меню каналов можно найти слева.

Заключение

OwnCloud объединяет функции самых разнообразных программ. Одним из важных преимуществ этого приложения является возможность хранить любую (даже конфиденциальную) информацию в надёжном месте. Кроме того, многие расширения могут импортировать данные из других приложений.

Tags: ,

Здравствуйте, хабравчане! Сегодня я хотел бы рассказать о персональном облачном хранилище ownCloud и его установке.

Для нас уже стало обыденным использование таких сервисов как Dropbox, Google Drive, SkyDrive или даже Облако Mail.Ru, мы пользуемся их услугами каждый день не обращая внимание на явные недостатки тех или иных серверов. На одном, сервисе мало места, на другом нет локализации, на третьем ненадежное хранилище, на четвертом кривой интерфейс и так далее, но у всех этих сервисов есть общий существенный недостаток - ваши данные всегда хранятся на неконтролируемых вами серверах. В случае когда необходимо использовать сервисы для размещения данных не имеющих для вас большой ценности - этих сервисов должно полностью хватить. В случае если, необходима защита контента, полная конфиденциальность, безопасность, неограниченное количество свободного места, возможность организовать многопользовательский доступ для работы в группах, контроль версий, синхронизация, возможность просматривать документы, таблицы, изображения, видеоматериалы, аудиозаписи, заметки из любой точки мира без необходимости их загрузки - ownCloud это то что вам нужно.

Давайте подробнее рассмотрим ownCloud и попробуем его установить

OwnCloud переводиться буквально как «собственное облако». Это CMS с открытым кодом, которое можно загрузить на свой компьютер и позднее установить его на хостинг или собственный сервер. По функциональности ownCloud не отстает от ведущих компаний в мире облачных хранилищ, а некоторых превосходит.

За простым лаконичным интерфейсом скрывается большой функционал расширяемый еще более с помощью предустановленных модулей и собственного App store представленного на официальном сайте.

Возможности ownCloud «из коробки»:

  • Многопоточная загрузка данных «перетягиванием» при помощи технологии Drag-and-drop
  • Редактирование прав на доступ к файлам для конкретных пользователей, групп или интернета
  • Подключение и просмотр новостных RSS лент
  • Просмотр изображений, видео, офисных документов
  • Синхронизируемый календарь, менеджер задач, менеджер контактов, менеджер веб закладок
  • Отслеживание активности пользователей
  • Защищенное соединение, шифрование данных, LDAP\WebDAV аутентификация
  • Поддержка внешних хранилищ: Google Drive, Dropbox, FTP, SMB, WebDAV, Amazon S3, IRODS, OpenStack Object Storage, а так же локальных
  • Клиентские приложения с полной синхронизацией для всех актуальных платформ

Это всего лишь краткий список возможностей ownCloud, но уже сейчас видны его преимущества. При желании можно добавить почтовый клиент, торрент клиент, чат с видео, полноценный офис, проверку фалов на VirusTotal и многое другое.

Перейдем от теории к практике.

Установка ownCloud на сервер под управлением Debian 7 wheezy

1.Установка базового ПО

Прежде чем начинать давайте убедимся что наша система в актуальном состоянии.
Открываем терминал и вводим:
sudo apt-get update && sudo apt-get upgrade
Эти две простые команды обновят все программы на нашем сервере, процесс может занять длительное время в зависимости от скорости интернета и нашего сервера.

Теперь, можно приступить к установке необходимого для работы ownCloud программного обеспечения:
sudo apt-get install apache2 php5 php5-common php5-gd php5-intl php5-mcrypt php5-cli php5-ldap php5-sqlite curl libcurl3 libcurl4-openssl-dev php5-curl php-apc php5-mysql ffmpeg
Теперь у нас есть все необходимое для быстрого развертывания ownCloud на нашем сервере и можно переходить к пункту 4 или продолжить полную установку вместе со мной.

2.Установка MySQL

Устанавливаем MySQL:
apt-get install mysql-client mysql-server
Создаем пароль для базы данных MySQL и идем дальше.

Важно:

Теперь немножко позаботимся о нашей безопасности, вводим в консоль:
mysql_secure_installation
На все вопросы кроме «Change the root password» (Если не хотите менять пароль MySQL) отвечаем положительно Y.

Входим в консоль управления MySQL и вводим пароль (его не видно):
mysql -u root -p
Создаем базу данных:
create database Имя_БД;
Создаем пользователя, желательно с именем как и у базы данных:
create user "Имя_пользователя"@"localhost" IDENTIFIED BY "Новый_пароль";
Важно: пароль не должен совпадать с паролем суперпользователя.

Передаем созданному пользователю полные права на созданную базу данных:
GRANT ALL ON Имя_БД.* to "Имя_пользователя"@"localhost" ;
Выходим:
quit

3.Установка ntp для синхронизации времени на сервере

Устанавливаем ntp клиент:
apt-get install ntp ntpdate
Теперь меняем сервер синхронизации времени на ближайший:
sudo gedit /etc/ntp.conf
В открывшемся фале находим:

server 0.debian.pool.ntp.org iburst dynamic
server 1.debian.pool.ntp.org iburst dynamic
server 2.debian.pool.ntp.org iburst dynamic
server 3.debian.pool.ntp.org iburst dynamic

Меняем на адреса ближайших к нам npt серверов, например на:
server 0.ru.pool.ntp.org iburst dynamic
server 1.ru.pool.ntp.org iburst dynamic
server 2.ru.pool.ntp.org iburst dynamic
server 3.ru.pool.ntp.org iburst dynamic

Сохраняем и выходим из редактора.

Чтобы проверить правильность времени достаточно ввести в терминале:
ntpdate 0.ru.pool.ntp.org
Если время на нашем сервере не соответствует времени полученному с ntp сервера вводим:
ntpdate -bs 0.ru.pool.ntp.org

4.Настройка

Редактируем файл /etc/apache2/sites-enabled/000-default:
sudo gedit /etc/apache2/sites-enabled/000-default
Находим строчку в разделе "":


Меняем на:

Сохраняем файл и выходим.

Перезапускаем apache:
service apache2 restart
Редактируем php.ini:
sudo gedit /etc/php5/apache2/php.ini
Находим строчки:
mysql.default_socket = mysql.cache_size = memory_limit = post_max_size = upload_max_filesize =
Меняем на:
mysql.default_socket=/var/run/mysqld/mysqld.sock mysql.cache_size = 4000 upload_max_filesize = 1024M //максимальный размер файла который мы можем загрузить на наш сайт post_max_size = 1024M //Должен быть больше или равен upload_max_filesize memory_limit = 1024M //Должен быть больше или равен post_max_size
Сохраняем файл и выходим.

Перезапускам apache еще раз:
service apache2 restart

5.Установка ownCloud

Загружаем последнюю версию ownCloud, на момент написания ownCloud 6:
cd /var/www/
wget http://download.owncloud.org/community/owncloud-6.0.0a.tar.bz2

Также, можно просто скачать последнюю версию с официального сайта ownCloud в папку /var/www/

Распаковываем:
tar -xvf owncloud-6.0.0a.tar.bz2

Выставляем права:
sudo chown -R www-data:www-data /var/www/owncloud/

Теперь наш сайт готов, остался только маленький штрих, открываем в браузере localhost/owncloud

А) Для тех кто сразу перешел на пункт 4: Придумываем login и пароль для администратора - входим
B) Для тех кто установил MySQL: Придумываем login и пароль для администратора, выбираем «advanced» затем «MySQL» и вводим имя ранее созданного пользователя базы данных, его пароль, имя самой базы данных, в поле Database host пишем localhost.

Готово! Теперь вы счастливый обладатель персонального облака owncloud с синхронизацией на всех устройствах в вашей домашней сети, для этого достаточно набрать в браузере ваш_внутренний_IP/ownCloud или если вы подключены к интернету напрямую можно получить доступ к owncloud набрав внешний_IP/ownCloud.

Настройка доступа к ownCloud из интернета через рутер

Рассмотрим пример на основе роутера asus rt-n16:

Из браузера заходим на адрес 192.168.1.1, вводим логин и пароль и входим в веб интерфейс роутера:

веб интерфейс


1. Переходим во вкладку «интернет» 2. Переходим во вкладку «переадресация портов» (Virtual Server / Port Forwarding) 3. Включаем переадресацию.

Меню переадресации портов


4. Выбираем уже заботливо подготовленные для нас профили: FTP и HTTP.

Выбор подготовленных профилей


5. Выбираем внутренний IP адрес нашего сервера («ip a» в терминале, адрес вида 192.168.1.X или 192.168.0.X) и нажимаем "+" что бы добавить в список

Выбор внутреннего IP сервера


6. По аналогии заполняем и добавляем нужные нам порты, затем нажимаем кнопку «Применить»

Список портов для ownCloud

Заметки

1. Некорректная установка приложения в разделе Apps

В случае если после включения приложения веб сайт начал некорректно работать я нашел 3 решения:
1.Полная переустановка.
2.Очистить базу данных созданную для owncloud в phpmyadmin и удалить файл:
rm -f \var\www\owncloud\config\config.php
3.Наверное самый приятный вариант, переместить папку с приложением после которого начались проблемы из папки \var\www\owncloud\apps в любую другую, проверить что сайт работает, вернуть папку на место и не трогать до фикса.

2. Авто login пользователя как только он заходит на сайт

1. Создаем в админ панели пользователя, к примеру Gman с паролем noclip.
2. Открываем файл base.php:
Sudo gedit /var/www/owncloud/lib/base.php
3. В самом конце находим строчи:
protected static function tryBasicAuthLogin() { if (!isset($_SERVER["PHP_AUTH_USER"]) || !isset($_SERVER["PHP_AUTH_PW"])) { return false; } OC_App::loadApps(array("authentication")); if (OC_User::login($_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"])) { //OC_Log::write("core","Logged in with HTTP Authentication", OC_Log::DEBUG);

Заменяем на

Protected static function tryBasicAuthLogin() { //if (!isset($_SERVER["PHP_AUTH_USER"]) // || !isset($_SERVER["PHP_AUTH_PW"]) //) { // return false; //} if (OC_User::login(Gman, noclip)) { OC_App::loadApps(array("authentication")); //if (OC_User::login($_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"])) { //OC_Log::write("core","Logged in with HTTP Authentication", OC_Log::DEBUG);

1. Открываем fileactions.js
Sudo gedit /var/www/owncloud/apps/files/js/fileactions.js
2. Ищем следующие строки:
remove the existing delete action parent.parent().children().last().find(".action.delete").remove(); if (actions["Delete"]) { var img = FileActions.icons["Delete"]; if (img.call) { img = img(file); } if (typeof trashBinApp !== "undefined" && trashBinApp) { var html = ""; } else { var html = ""; } var element = $(html); element.data("action", actions["Delete"]); element.on("click", {a: null, elem: parent, actionFunc: actions["Delete"]}, actionHandler); parent.parent().children().last().append(element); }
3. Комментируем их:
// remove the existing delete action // parent.parent().children().last().find(".action.delete").remove(); // if (actions["Delete"]) { // var img = FileActions.icons["Delete"]; // if (img.call) { // img = img(file); // } // if (typeof trashBinApp !== "undefined" && trashBinApp) { // var html = "
"; // } else { // var html = ""; // } // var element = $(html); // element.data("action", actions["Delete"]); // element.on("click", {a: null, elem: parent, actionFunc: actions["Delete"]}, actionHandler); // parent.parent().children().last().append(element); // }

4. Открываем:
Sudo gedit /var/www/owncloud/apps/files/js/files.js

5. Находим следующие строчки:

$(".delete-selected").click(function(event) { var files=getSelectedFilesTrash("name"); event.preventDefault(); FileList.do_delete(files); return false; });

6. Комментируем их:
//$(".delete-selected").click(function(event) { // var files=getSelectedFilesTrash("name"); // event.preventDefault(); // FileList.do_delete(files); // return false; // });

| |

ownCloud – это сервер для общего доступа к файлам и централизованного удалённого хранения документов. Приложение ownCloud во многом напоминает Dropbox.

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

Это руководство поможет установить ownCloud на сервер Ubuntu 16.04.

Требования

  • Настроенный сервер Ubuntu 16.04.
  • Пользователь с доступом к sudo (если вы не знаете, как создать такого пользователя, читайте ).
  • Стек LAMP (инструкции по установке можно найти ).
  • Сертификат SSL. Если у вас есть зарегистрированное доменное имя, вы можете . Если у вас нет домена, вы можете .

1: Установка ownCloud

Пакета ownCloud нет в репозитории Ubuntu. Однако проект ownCloud предоставляет свой выделенный репозиторий для системы Ubuntu.

Сначала загрузите ключ релиза с помощью команды curl и импортируйте его с помощью apt-key:

curl https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key | sudo apt-key add -
...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1358 100 1358 0 0 2057 0 --:--:-- --:--:-- --:--:-- 2057
OK

Пакет Release.key содержит открытый ключ PGP, с помощью которого менеджер apt сможет подтвердить подлинность пакета ownCloud.

Импортировав ключ, создайте файл owncloud.list и поместите в него адрес репозитория ownCloud.

echo "deb http://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /" | sudo tee /etc/apt/sources.list.d/owncloud.list

Обновите индекс пакетов системы:

sudo apt-get update

Установите ownCloud:

sudo apt-get install owncloud

После установки ownCloud в каталоге настроек Apache появится новый конфигурационный файл. С помощью systemctl перезапустите Apache, чтобы веб-сервер перечитал конфигурации.

sudo systemctl restart apache2.service

Установка ownCloud успешно окончена.

2: Создание базы данных MySQL

Войдите в MySQL как администратор:

mysql -u root -p

Введите root-пароль MySQL.

Для хранения данных ownCloud необходима отдельная БД. В данном руководстве такая БД для простоты будет называться owncloud, но вы можете выбрать более описательное имя.

CREATE DATABASE owncloud;

Примечание : Все команды MySQL должны заканчиваться точкой с запятой.

Теперь нужно создать пользователя для управления новой БД и передать ему все права на неё. Наличие отдельной БД и пользователя для каждого приложения очень важно для простоты управления и безопасности. В руководстве пользователь называется owncloud; вы можете выбрать другое имя.

GRANT ALL ON owncloud.* to "owncloud"@"localhost" IDENTIFIED BY "set_database_password";

Примечание : Вместо ‘set_database_password’ укажите пароль для этой БД.

После этого нужно сбросить привилегии, чтобы обновить настройки MySQL.

FLUSH PRIVILEGES;

Закройте MySQL:

3: Настройка ownCloud

https://server_domain_or_IP/owncloud

Если вы используете самоподписанный сертификат, браузер предупредит вас о том, что сайт может быть опасен. Это нормально и происходит потому, что сертификат сайта не подписан центром сертификации, которому браузер может доверять. Данные, передаваемые при соединении, всё равно будут шифроваться. Подтвердите переход, чтобы получить доступ к панели управления ownCloud. На экране появится приветственная страница и форма для входа.

Чтобы создать аккаунт администратора, выберите имя пользователя и пароль.

Примечание : Использовать имя admin очень опасно.

Прежде чем нажать Finish setup, откройте ссылку Storage & database. Тут вы увидите настройки БД. Изменять путь в поле Data folder не нужно. Нажмите MySQL/MariaDB в разделе Configure the database. Введите данные о БД (имя пользователя, пароль и имя БД).

Нажмите Finish setup, чтобы войти в ownCloud. На экране появится окно:

A safe home for all your data
Access and share your files, calendars, contacts, mail & more from any device, on your terms

Закройте это окно, чтобы получить доступ к главному интерфейсу приложения.

Теперь вы можете создавать или загружать файлы в своё собственное облачное хранилище.

Заключение

ownCloud имеет все функции популярных сторонних облачных систем хранения данных. Преимуществом OwnCloud является то, что конфиденциальные данные хранятся на сервере, которым вы можете управлять.

Tags: ,

Дает возможность хранить данные в безопасном месте и держать их под вашим контролем. Аналог Dropbox, можно загружать все виды медиа — файлов
(видео, фото, музыку) документы. Отличается OwnCloud от Dropbox тем, что это открытый исходный код, в свободном доступе.
Ваши данные доступны из любой точки земного шара, где есть интернет и на любых устройствах: смартфонах, планшетах, ПК и ноутбуках.

Что нового в версии 9.0

  • Коментарии к файлам
  • Метки файлов
  • Уведомления
  • Автозаполнение имен пользователей
  • Доверенные сервера
  • Код подписи проверяется при обновлении или установке ядра и приложения
  • Автономные обновления для более надежной модернизации
  • Улучшены возможности и производительность при совместном использовании
  • Новый API-интерфейсы для повышения маcштабируемости используя внешние системы хранения данных
  • Календарь и Контакты были полностью переписаны и теперь CalDAV и CardDAV являются частью ядра
  • Усилена безопасность
  • OwnCloud API работает для улучшения маcштабируемости
  • Множество небольших улучшений

В Администрировании

  • Отдельное шифрование для локальных и удаленных систем хранения данных. Вы можете шифровать на удаленных системах хранения, а на локальных не использовать шифрование.
  • Новые команды, для передачи файлов между пользователями
  • Оптимизирован совместный обмен между пользователями и группами
  • Настраиваемый сброс пароля URL
  • Добавлены новые параметры для командной строки в приложение Updater
  • Много новых команд OCC
  • Опции администрирования, включения/отключения внешних систем хранения данных (точки монтирования)
  • Новые OCC команды для миграции контактов и календарей с версии 8.2> если автоматическая миграция не удалась и новые команды для создания адресных книг и календарей пользователей (команды DAV)
  • Введена поддержка второго имени(атрибута) для LDAP.

Для установки Owncloud нам потребуется:

  • Linux или BSD сервер (так же можно установить и на Mac OS)
  • MySQL5.5 +/MariaDB
  • PHP 5.4 или выше
  • Apache 2.2+

Поддерживаемые LINUX системы:

  • CentOS 7
  • Debian 8
  • RHEL 7
  • SLES 12
  • Ubuntu 14.04,15.10

Подготовка

В архиве Owncloud содержаться все необходимые пакеты для PHP. Ниже перечислены обязательные и не обязательные пакеты. Что бы проверить установленные модели РНР введите в командной строке PHP -m | Grep -i /

Необходимые модули для PHP:

PHP5 (>=5.4)
PHP module ctype
PHP module dom
PHP module GD
PHP module iconv
PHP module JSON
PHP module libxml (Linux package libxml2 должен быть >=2.7.0)
PHP module mb multibyte
PHP module posix
PHP module SimpleXML
PHP module XMLWriter
PHP module zip
PHP module zlib

Для баз данных (выбрать только один):

PHP module sqlite (>= 3,не рекомендуется из соображения производительности)
PHP module pdo_mysql (MySQL/MariaDB)
PHP module pgsql (requires PostgreSQL >= 9.0)

PHP module curl (настоятельно рекомендуется, некоторые функциональные возможности, например, аутентификация пользователя HTTP, от этого зависит)
PHP module fileinfo (настоятельно рекомендуется, повышает производительность анализа файлов)
PHP module bz2 (рекомендуется, необходимое для извлечения приложений)
PHP module intl (увеличивает производительность языка перевода и исправления сортировки не-ASCII символов)
PHP module mcrypt (повышает производительность шифрования файлов)
PHP module openssl (необходим для доступа к ресурсам HTTPS)

Требуемые для некоторых приложений:

PHP module ldap (для интеграции LDAP)
PHP module smbclient (интеграция SMB / CIFS см SMB / CIFS)
PHP module ftp (FTP для хранения аутентификации / внешний пользователь)
PHP module imap (для внешней аутентификации пользователя)

PHP module exif (для поворота изображения в картинках приложение)
PHP module gmp (для хранения по SFTP)

Для повышения производительности сервера (по желанию) выберите один из следующих систем кэширования:

PHP module apc
PHP module apcu
PHP module memcached
PHP module redis (> = 2.2.5, необходимое для транзакционного Блокирование файлов)

Вам не нужен модуль WebDAV для вашего веб — сервера (т.е. mod_webdav Apache), так как OwnCloud имеет свой встроенный WebDAV сервер, SabreDAV. Если mod_webdav включен, вы должны отключить его для OwnCloud.

Установка на Ubuntu 14.04 LTS Server

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

#apt-get install apache2 mariadb-server libapache2-mod-php5

#apt-get install php5-gd php5-json php5-mysql php5-curl

#apt-get install php5-intl php5-mcrypt php5-imagick

Эти пакеты, для установки базовой системы Owncloud. Если вы планируете запускать дополнительные приложения, то может потребоваться установка дополнительных пакетов
При установке MySQL/MariaDB, вам будет предложено создать пароль администратора базы данных.
Обязательно его запомните, т.к. он потребуется далее, для установки базы данных OwnCloud

Далее загружаем архив последней версии Owncloud:

Переходим по ссылке ownCloud Download Page
Скачиваем файл с именем OwnCloud-xyztar.bz2 или OwnCloud-xyz.zip (где хуz это номер версии).

Конфигурируем web сервер Apache

В Debian, Ubuntu, и их производных, Apache устанавливается в нужной для нас фигурации, так что все, что вам нужно сделать, это создать файл в /etc/apache2/sites-available/owncloud.conf со следующим содержанием строк в нем, заменяя директории и другие пути к файлам вашими собственными: расположениями к файлам

# nano /etc/apache2/sites-available/owncloud.conf

Дополнительные настройки Apache

Для корректной работы owncloud, мы должны включить модуль mod_rewrite

Также можно использовать mod_fcgi вместо стандартного mod_php

При использовании SSL, обратите особое внимание на запись ServerName . Вы должны указать такое же имя в конфигурации сервера, а также в поле CommonName сертификата.
Теперь перезапустите Apache:

#service apache2 restart

Если вы используете OwnCloud в подкаталоге и хотите использовать CalDAV или CardDAV для клиентов убедитесь, что вы настроили правильно сервис обнаружения URL

Включение SSL

Вы можете использовать через обычный HTTP, но настоятельно рекомендуется использовать SSL / TLS для шифрования всего трафика сервера, а также для защиты учетных записей пользователя и данных в процессе передачи.
Apache установленный под Ubuntu поставляется уже с настроенным простым самоподписанным сертификатом. Все, что вам нужно сделать, это включить модуль SSL и узел по умолчанию. Откройте терминал и выполните команду:

Запускаем браузер и вводим http://ip-server/owncloud

На экране появиться следующее содержание, осталось только ввести данные и процесс установки OwnCloud закончен.

Задаем логин Администратора Owncloud сервера

Вводим пароль администратора Owncloud сервера

Указываем место хранения данных, можно оставить по умолчанию и потом изменить.

Пользователь базы данных root

Пароль пользователя базы данных (тот, что мы задавали выше при установке баз данных)

27 июля 2012 в 07:49

ownCloud, делаем своё собственное защищённое облако

  • Облачные сервисы

ownCloud представляет собой Open Source решение для организации своего собственного dropbox-подобного хранилища файлов. Кроме, собственно, синхронизации файлов доступны так же дополнительные возможности, как то: синхронизация контактов, календарей (наличествует поддержка CalDAV) и задач, фотогалерея, проигрыватель аудио (с поддержкой протокола Ampache). Сервис работает в многопользовательском режиме, есть функционал общих папок.

Клиенты синхронизации доступны для Windows / Mac / Linux / Android, версия для iOS, по заверениям разработчиков, в финальной стадии. Наличествует достаточно интересная, но пока экспериментальная функция External Storage, позволяющая монтировать Dropbox и GDrive в папку с ownCloud.

Важной для меня функцией в Android-клиенте является Instant Upload, автоматически загружающий видео и фотографии в облако сразу после съёмки, аналогично клиенту Dropbox.

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

В качестве хостинга можно выбрать VDS или домашний сервер на антресоли.

Рассмотрим вариант с «домашним сервером».

В качестве железки выбран простенький неттоп, операционная система - Ubuntu Server 12.04, прямой ip и доменное имя. Храниться данные будут в зашифрованном LVM-разделе, доступ клиентов к серверу организован поверх SSL.

  • Устанавливаем «голый» ubuntu server 12.04, в процессе установки не забываем про LVM-encrypted с устойчивой к подбору парольной фразой.
  • Устанавливаем необходимые пакеты:
    apt-get install apache2 php5 php5-common php5-gd php5-sqlite curl libcurl3 libcurl3-dev php5-curl
  • Скачиваем ownCloud:
    wget download.owncloud.org/releases/owncloud-4.0.5.tar.bz2
    (ссылку на последнюю версию можно взять непосредственно на сайте проекта) и распаковываем его:
    tar -xjf owncloud-4.0.5.tar.bz2
  • Копируем папку с ownCloud в корень web-сервера:
    cp -r owncloud /var/www/
  • Создаём необходимые папки
    mkdir /var/www/owncloud/data
    и меняем их владельца на www-data
    chown -R www-data:www-data /var/www/owncloud/apps
    chown -R www-data:www-data /var/www/owncloud/config
    chown -R www-data:www-data /var/www/owncloud/data
  • Редактируем /etc/apache2/sites-enabled/000-default
    Здесь AllowOverride=All в разделе «Directory /var/www»
  • Включаем модули rewrite, headers и ssl в apache:
    a2enmod rewrite && a2enmod headers && a2enmod ssl
  • Устанавливаем openssl:
    apt-get install openssl (вероятно, уже установлен)
    генерируем самоподписанные сертификаты и размещаем их по соответствующим папкам:
    openssl genrsa -des3 -out server.key 1024
    mv server.key server.key.old
    openssl rsa -in server.key.old -out server.key
    openssl req -new -key server.key -out cert.csr
    openssl x509 -req -days 365 -in cert.csr -signkey server.key -out cert.crt
    mv cert.crt /etc/ssl/certs/
    mv server.key /etc/ssl/private/
  • Редактируем /etc/apache2/sites-available/default-ssl
    Указываем в SSLCertificateFile сгенерированный ранее сертификат /etc/ssl/certs/cert.crt, а в SSLCertificateKeyFile свой ключ /etc/ssl/private/server.key
    Не забываем также указать имя домена и сайта.
  • Указываем апачу основной сайт:
    a2ensite default-ssl
  • Рестартим апач:
    service apache2 reload
    На этом этап установки завершён, далее нужно будет настроить, собственно owncloud.
  • Заходим по адресу yourip.address/owncloud , принимаем самоподписанный сертификат, проходим все необходимые шаги (точнее, всего один шаг) по настройке ownCloud. Попадаем в достаточно приятный веб-интерфейс.
  • Далее устанавливаем на компьютерах/смартфонах клиенты. Настройка клиента сводится к указанию адреса owncloud - yourip.address/owncloud , вводу имени и пароля и конечной папки на компьютере. Не забываем в адресе указать https, а не http.

На практике работает всё очень похоже с dropbox - заливаешь файл, он «расползается» по всем клиентам. Снимаешь на камеру Android-смартфона - изображение или видео через некоторое время попадает на компьютер. Особо хочу отметить, что Android-клиент поддерживает общесистемную функцию Easy Share Action, потому практически из любого приложения файл можно поместить в ownCloud.

OwnCloud имеет встроенную поддержку WebDAV, потому на большинстве десктопных ОС можно обойтись вообще без клиентского приложения (в случае, если например неважна синхронизация, а нужен только доступ к файлам). Непосредственно на сервере данные хранятся в виде обычных файлов и, если включить фантазию и засучить рукава, можно совместить ownCloud с FTP/AFP/Samba-сервером, организовать автоматическое скачивание торрентов посредством rtorrent, а в корпоративных средах открываются поистине безграничные возможности организации доступа к файлам. В общем, всё ограничивается вашей фантазией.

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

Объём хранилища ограничен только вашим жёстким диском. Облако в 2Tb - не вопрос. Поддержка версионности файлов наличествует. Один десктопный клиент, кстати, может подключаться к нескольким ownCloud облакам одновременно.

Скорость работы зависит в основном от ширины канала клиента и сервера. В моём случае почти все клиенты и сервер располагаются в пределах одного провайдера, потому видео с телефона заливается в облако очень быстро, несравнимо быстрее, чем в dropbox.

У данного решения с LVM-encrypted диском есть один недостаток - в случае перезагрузки мы потеряем удалённый доступ к серверу, поскольку при загрузке система будет просить парольную фразу для расшифровки диска на физической консоли. Так же из недостатков замечено, что при активной работе клиентов сервис апача на сервере неслабо отъедает процессорные ресурсы.

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

От себя всячески желаю проекту дальнейшего развития и процветания.