OwnCloud, делаем своё собственное защищённое облако. Введение в сервер OwnCloud: совместное использование файлов под вашим контролем

Здравствуйте, хабравчане! Сегодня я хотел бы рассказать о персональном облачном хранилище 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; // });

Иметь свое личное онлайн хранилище — отличная возможность для любого IT специалиста. Проект ownCloud позволит сделать это без особых проблем. Нужно иметь VPS (в моем случаем используется виртуальная машина Azure), либо свой домашний сервер с «белым IP», ну или на крайний случай использовать dyndns, если у вас динамический адрес. Также имеются случаи (и возможность) установки указанного сервиса на ARM системы и даже маршрутизаторы.

Не буду вдаваться в подробности и описание сервиса ownCloud , сделать это можно на официальном сайте по ссылке выше, либо в Википедии и подробной статье на habrahabr . Установка и настройка онлайн хранилища будет выполняться в несколько этапов.

Шаг 1. Подготовка сервера

Шаг 2. Установка LAMP

После установки и настройки сервера, переходим к установке веб-сервера, т.е. . Стоит обратить внимание — в зависимости от используемой версии операционной системы — алгоритм установки будет отличаться. Так, в CentOS 6.5 по умолчанию из стандартных репозитариев устанавливается PHP 5.3 и MySQL 5.1, что не подходит для работы сервиса ownCloud, т.к. требуется PHP версии 5.4 и выше. Ранее я уже подготовил краткую . Для наглядности кратко опишу процесс установки LAMP для конкретной задачи.

Устанавливаем apache2:

sudo yum -y install httpd

После установки добавляем сервер Apache в автозапуск:

sudo chkconfig —levels 235 httpd on

И перезапускаем его (перезапуск потребуется в будущем после установки MySQL, PHP и ownCloud):

sudo service httpd restart

Проверить статус веб-сервера можно командой:

sudo service httpd status

После этого переходим к установке MySQL 5.5 и PHP 5.5 .

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

sudo mysql -uroot -p

CREATE DATABASE owncloud;
GRANT ALL PRIVILEGES ON owncloud.* TO ‘owncloud_user’@’localhost’ IDENTIFIED BY ‘owncloud_user_pasword’;
FLUSH PRIVILEGES;

Если что-то пошло не так с базой MySQL, ее можно удалить командой:

drop database base_name

Иногда бывают случаи, когда MySQL отказывается запускаться (ошибка об отсутствии резолва имени). Для этого в первую очередь проверяем файл /etc/hosts на наличие записи 127.0.0.1 имя_вешего_сервера.

Проверить работу PHP можно создав файл в директории /var/www/html/test.php :

sudo touch /var/www/html/test.php

sudo nano /var/www/html/test.php

sudo rm -f /var/www/html/test.php

Шаг 3. Установка ownCloud

По окончанию установки LAMP и проверки его работоспособности переходим к установке ownCloud :

wget https://download.owncloud.org/community/owncloud-8.0.0.tar.bz2
tar -xjf owncloud-8.0.0.tar.bz2
sudo cp owncloud /var/www/html/owncloud/

Рекомендую скачивать файлы в этом и во всех других случаях (а также копирование любых конфигов перед их редактированием) в отдельных каталог в корне сервера или директории дополнительного пользователя (не root) — об этом сказано в ссылках на записи из первого шага (базовая настройка сервера).

После загрузки файлов сервиса ownCloud устанавливаем требуемые права на файлы и директорию:

sudo chown — R apache . apache / var / www / html / owncloud /

В завершении установки редактируем конфиг веб-сервера Apache2 :

sudo nano /etc/httpd/conf.d/owncloud.conf


Alias /owncloud /var/www/html/owncloud


Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all

… и перезапускаем его:

sudo service httpd restart

Шаг 5. Финальная настройка ownCloud

После всех проделанных операций переходим в браузере по адресу http://IP_адрес_вашего_сервера/owncloud и выполняем донастройку сервиса. Для этого создаем нового пользователя ownCloud, указываем данные для подключения к базе MySQL (имя базы, логи и пароль администратора, размещение базы). Эти параметры мы указывали при создании базы на шаге 2.

Готово! Установка личного онлайн хранилища на базе CentOS 6.5 / 7 и ownCloud завершена. Все вопросы и замечания оставляйте в комментариях 😉

Дает возможность хранить данные в безопасном месте и держать их под вашим контролем. Аналог 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

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

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

— это свободное ПО, предназначенное для построения частных облаков-хранилищ на своих мощностях. Есть коммерческая лицензия (поддержка мобильных приложений и прочие вкусности). Мы же поговорим об свободной версии (а также об подключении к хранилищу папок по протоколу samba, ftp и sftp, авторизация пользователей из Active Directory ). Свободных доступ к хранилищу возможен посредством веб-интерфейса или подключение сетевого диска по WebDAV .

I. Подготовка к установке, установка (работа с консолью)

Здесь мы будем его разворачивать. Сначала поставим LAMP, а потом уже добавим необходимые нам пакеты.

1) Полное обновление системы и установка необходимых пакетов

sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y && sudo apt-get autoremove -y && sudo apt-get autoclean -y sudo tasksel install lamp-server sudo apt-get install php5-gd php5-json php5-mysql php5-curl php5-intl php5-mcrypt php5-imagick php5-ldap smbclient

2) Настройка веб-сервера Apache

Сначала настроим Apache , активируя файлы.htaccess:

Sudo nano /etc/apache2/apache2.conf AccessFileName .htaccess ... Options Indexes FollowSymLinks AllowOverride All Require all granted

Перезапустим сервис:

Теперь активируем дополнительные модули Apache:

Sudo a2enmod rewrite sudo a2enmod headers sudo a2enmod env sudo a2enmod dir sudo a2enmod mime sudo a2enmod setenvif sudo a2enmod ssl sudo a2ensite default-ssl

Перезапустим сервис:

Sudo service apache2 restart

3) Настройка PHP

Sudo nano /etc/php5/apache2/php.ini upload_max_filesize post_max_size

Ребутимся:

Sudo reboot

4) Создание базы MySQL (через Webmin, опционально)

Я лично базы через командную строку создавать не люблю и делаю это через Webmin. Устанавливается он так:

Sudo nano /etc/apt/sources.list deb http://download.webmin.com/download/repository sarge contrib deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

Добавляем и активируем ключ:

Wget http://www.webmin.com/jcameron-key.asc sudo apt-key add jcameron-key.asc

Обновляем список источников:

Sudo apt-get update

Устанавливаем Webmin :

5) Установка

Осталось немного. Установим с репозитория:

Sudo sh -c "echo "deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_14.04/ /" >> /etc/apt/sources.list.d/owncloud.list" wget http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_14.04/Release.key sudo apt-key add - < Release.key

Установка и обновление:

Sudo apt-get update sudo apt-get install owncloud

Выдаем права:

Sudo chown www-data:www-data -R /var/www

II. Настройка ownCloud (работа с веб-интерфейсом)

Дальнейшая настройка происходит через веб-интерфейс. Там, в принципе, все понятно. Дополнительные функции подключаются через некие «приложения» (аддоны). Мы тут поговорим о двух из них, один для авторизации из АД, а второй для подключения различных сетевых папок и т.д. Пользователь уже на старте может подключать хранилище через WebDAV по https (у него в веб-интерфейсе будет ссылка).

6) Приложение «LDAP» (авторизация из AD)

вход: логин@domain.ru




7) Приложение «External Storage»

Тут есть разные варианты его подключения, ну например вот такой (с технической учеткой):

Заключение

Собственно вот и все, это базовая настройка. Еще там есть множество дополнительных и полезных приложений, которые также можно использовать. В контексте корпоративного использования, также имеет смысл сделать force-redirect от http > https, но на таких базовых вещах я останавливаться на буду, там несложно и зависит от текущего конфига самого сервера.

Итого мы имеем хорошее корпоративное решение в виде готового облака.)

|

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

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

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

Требования

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

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.


. . .
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, но вы можете выбрать более описательное имя.

CREATE DATABASE owncloud;

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

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

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

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

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

FLUSH PRIVILEGES;

ЗакройтеMySQL:

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

https://server_domain_or_IP

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

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

Важно! Использовать имя admin очень опасно.

Оставьте Data folder без изменений и прокрутите окно до настроек БД.

Укажите данные о БД. Оставьте хост localhost.

Нажмите Finish setup, чтобы завершить настройку ownCloud. Вы попадете на экран входа, где сможете войти в свою новую учетную запись.

При первом входе в систему появится экран, который предложит вам загрузить приложения для синхронизации файлов на разных устройствах. Вы можете загрузить и настроить их сейчас или сделать это позже. Когда вы закончите, нажмите x в правом верхнем углу, чтобы перейти к главному интерфейсу:

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

Заключение

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

Изучите интерфейс и дополнительные функции, установите плагины ownCloud – их можно найти .

Tags: ,


Top