Установка и настройка 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; // });

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

Выбор версии ownCloud

В репозиториях Debian вообще нет никакой версии ownCloud, даже устаревшей. Возможно, это и к лучшему. В Ubuntu эта программа есть, но из-за нее недавно разразился скандал . Если кратко, разработчики ownCloud попросили удалить свой софт из репозитория Ubuntu, потому как разработчики Ubuntu оставляли дыры в ownCloud даже после выпуска официальных заплаток. Видимо, были сильно заняты интеграцией очередного магазина в Unity. Но сейчас не об этом.

Версию будем брать не из репозиториев, а с официального сайта, самую свежую (из стабильных). Заходим на страницу загрузок и выбираем вариант Archive Files (for server owners). В открывшемся окне жмем на слове Unix. Запускается загрузка архива с ownCloud. На момент написания этой статьи в ходу была версия 7.0.2. Прямая ссылка: https://download.owncloud.org/community/owncloud-7.0.2.tar.bz2 .

Прежде чем закрыть окно браузера, скачаем и руководство для админа: http://doc.owncloud.org/server/7.0/ownCloudAdminManual.pdf . Согласно одному известному правилу, если ничего не получится, придется наконец-то прочитать мануал. Но лучше не доводить до крайностей и пробежаться по разделу Installation до установки ownCloud.

LAMP

Устанавливается LAMP за 2 минуты. Еще столько же уйдет на правку конфигурационных файлов и все сразу заработает. В Debian. На другие дистрибутивы моя гарантия не распространяется. А вот тюнинг отдельных компонентов LAMP - это настоящее искусство. Есть спецы по MySQL, есть по Apache, на тюнинг может уйти много времени, сил, а иногда и денег. Особенно в условиях ограниченных ресурсов (если вы запускаете ownCloud на стороннем хостинге). Но нам сейчас это не понадобится.

ownCloud и Apache

Берем архив с ownCloud и распаковываем в директорию /var/www.

Cp owncloud-7.0.2.tar.bz2 / var/ www/ cd / var/ www/ tar xf owncloud-7.0.2.tar.bz2

Разумеется, все операции под root. Затем нужно переименовать директорию owncloud в название вашего сайта. Например, если для доступа к облачному хранилищу будет использоваться домен mysupercloud.ru, тогда переименовываем так:

Mv owncloud mysupercloud.ru

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

Теперь очень важный шаг, о котором многие забывают, но потом мучаются с правами доступа. И в итоге выставляют на все 777, подвергая свою систему опасности. Web-сервер Apache работает под отдельным пользователем и в отдельной группе. Связано это с тем, что если злоумышленник сможет хакнуть Apache через дыру в самом сервере или через дыру в скриптах сайта, то получит лишь ограниченный доступ к системе. Фактически, каккер сможет перезаписывать только содержимое некоторых файлов в /var/www. Передадим Апачу права на файлы ownCloud:

Chown -R www-data:www-data owncloud

Убедимся, что все в порядке:

Ls -al

Теперь создадим виртуальный Web-сайт, должным образом настроив Apache. Поскольку разработчики Debian любят пользователей, монолитный конфигурационный файл был изящно распилен на части, с которыми уже работать удобнее. На этом сюрпризы от разработчиков Debian не заканчиваются. К услугам пользователей удобный инструментарий a2ensite/a2dissite/a2enmod/a2dismond. Это скрипты на Perl, которые сокращают работу с конфигурационным файлом Apache до минимума.

Переходим в директорию /etc/apache2/sites-available, берем заготовку default и копируем ее под новым именем. Как и в случае с названием директории с owncloud, желательно использовать название домена:

Cp default owncloud

Открываем скопированный файл для редактирования. Очень важно точно указать значения для трех переменных: ServerName, DocumentRoot и Directory. Никаких опечаток, иначе на заработает!

ServerName owncloud ServerAdmin webmaster@localhost DocumentRoot /var/www/owncloud Options FollowSymLinks -MultiViews AllowOverride All Order allow,deny allow from all ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined

То есть, в ServerName мы прописываем имя домена (то, что пользователь будет набирать в адресной строке браузера, чтобы получить доступ к ownCloud). DocumentRoot и Directory указывают на директорию с файлами ownCloud.

Теперь запустим сайт:

A2ensite owncloud service apache2 restart

Сайт нам уже отвечает, хотя установка еще далека от завершения. Внимание: если используется «ненастоящий» домен, то его следует явно прописать в /etc/hosts!

На этом настройка Apache завершается и переходим к настройке MySQL.

ownCloud и MySQL

Вся настройка заключается лишь в том, что нам потребуется создать отдельного пользователя в MySQL (не путать с пользователями операционной системы), создать базу, связать одно с другим и выставить права доступа.

Если вы разбираетесь в MySQL, вы легко выполните это с помощью командной строки и прекрасной утилиты mysql. Остальным я рекомендую воспользоваться web-интерфейсом к MySQL под названием phpmyadmin. Этот софт есть в стандартном репозитории Debian, устанавливается командой apt-get install phpmyadmin и работать начинает практически сразу, ведь LAMP у вас уже настроен. Пользователю остается лишь запустить браузер и перейти по адресу http://localhost/phpmyadmin . В целях безопасности рекомендую подправить конфигурацию Apache, чтобы доступ к phpmyadmin имели только пользователи из локальной сети. Дело в том, что phpmyadmin - на редкость дырявое ПО и каккеры часто сканируют сайты в поисках именно phpmyadmin.

Итак, создаем в phpmyadmin пользователя owncloud и присваиваем ему хитрый пароль. Создаем базу данных owncloud. Даем пользователю owncloud полные права на доступ к базе owncloud. На этом настройка MySQL заканчивается. Переходим непосредственно к установке.

Внимание: создавая базу данных, в пункте «сравнение» указывайте utf8_general_ci.

Настройка ownCloud

Запустите браузер и перейдите по адресу http://owncloud (в вашем случае адрес будет тот, который вы указывали в ServerName). В появившемся окне задайте имя администратора и пароль к этой учетной записи. Чуть ниже нажмите на ссылку «Система хранения данных», нажмите на кнопку MySQL и укажите информацию для доступа к созданной в MySQL базе данных - название базы, имя пользователя и пароль. Нажимайте кнопку «Завершить установку».

Опс! На экране предупреждение, что Apache работает без поддержки протокола WebDAV . Собственно, через этот протокол пользователь и работает со своими файлами на сервере. Раз ownCloud просит WebDAV, я считаю, что ему нужно это дать:

A2enmod dav a2enmod dav_fs service apache2 restart

Снова заходим на главную страницу owncloud и видим радостное приветствие. Любезный ownCloud готов начать нас обслуживать.

В заключении

Если к этой теме будет проявлен дальнейший интерес, то я расскажу о том, как настроить красивые адреса URL (http://owncloud/settings/admin вместо http://owncloud/index.php/settings/admin), как включить безопасный протокол HTTPS вместо HTTP и том, как расширить возможности ownCloud. Спасибо за внимание!

Возможно, вы уже слышали про owncloud. Это сервис, позволяющий вам создать собственные сервис синхронизации данных между несколькими компьютерами под разными операционными системами. Аналогичные сервисы, с которыми вы, возможно знакомы: Dropbox и Яндекс.Диск . Однако, если вам недостаточно места, либо вы не хотите отдавать свои данные на хранение сторонней компании, owncloud именно то, что вам нужно. Кроме полного контроля над своими данными вы также получите возможность хранения файлов и контактов, календарь. Кроме того, у owncloud есть клиенты под Windows, Linux и Android, поэтому проблем с доступом из различных операционных систем не будет. К тому же, установка owncloud достаточно проста.

Давайте рассмотрим установку owncloud на сервере под управлением Debian GNU/Linux.

Добавление репозитория

Самое первое, что нужно сделать,- это добавление репозитория с пакетами.

Для этого достаточно выполнить из-под root’а команду

Echo "deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/ /" > /etc/apt/sources.list.d/owncloud.list

После этого надо добавить ключ репозитория:

Wget -O - http://download.opensuse.org/repositories/isv:/ownCloud:/ownCloud2012/Debian_7.0/Release.key | apt-key add -

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

Apt-get update

Установка

Установка осуществляется одной командой:

Apt-get install owncloud

По зависимостям будет установлено достаточно много пакетов, в том числе веб-сервер apache и php. Все они необходимы для работы owncloud.

Настройка

После того, как все пакеты установлены, откройте в браузере веб-интерфейс owncloud. Адрес по умолчанию будет http://<адрес-вашего-сервера>/owncloud

Вы увидите предупреждение со следующим текстом:

Security Warning

Your data directory and files are probably accessible from the internet because the .htaccess file does not work.
For information how to properly configure your server, please see the documentation.

Для того, чтобы обработка.htaccess заработала, нам надо в файле /etc/apache2/sites-enabled изменить одну строчку:


Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

Выделенную строчку надо поменять на

AllowOverride all

После этого надо перезапустить apache командой

Service apache2 restart

Теперь обновим страничку в браузере. Сообщение исчезло.

Следующий шаг — выбор базы данных. В зависимости от того, сколько пользователей будет работать с системой, вы можете выбрать либо sqlite (используется по умолчанию), если пользователей будет мало, или MySQL/MariaDB/PostgreSQL.

Устанавливаем MySQL командой

Apt-get install mysql-server

В процессе установки у вас будет запрошен пароль пользователя root (администратор сервера баз данных, а не системы). Пароль лучше задавать не совпадающий с паролем системного пользователя root.

После установки даем в консоли команду

Mysql -u root -p

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

Теперь надо создать базу данных

Create database owncloud;

Теперь создаем пользователя

Create user "owncloud"@"localhost" identified by "ваш-пароль";

И выдаем ему права на базу данных:

Grant all privileges on owncloud.* to "owncloud"@"localhost";

После этого необходимо из консоли проверить, что все работает правильно. Выходим из консоли mysql командой «\q» и входим под пользователем owncloud:

Mysql -u owncloud -p

Вводим пароль, который мы указывали при создании пользователя, и, если все сделано правильно, вы увидите приглашение mysql

Выходим командой «\q» и возвращаемся в веб-интерфейс.

Вводим имя администратора и пароль администраторской учетной записи:

Username: <имя-пользователя-администратора>
Password: <пароль-администратора>

Выбираем в качестве базы «MySQL/MariaDB», вводим:

Database User: owncloud
Database Password: <ваш-пароль>
Database Name: owncloud

Теперь можно нажать кнопку «Finish setup».

Если все верно, вы увидите вот такую картинку:

Теперь можно приступать к работе. Кликнув по ссылкам, вы можете скачать клиент для Windows, Linux, Android или под операционные системы компании Apple.
Войдя под администратором вы можете создавать учетные записи для других пользователей.

Вот, собственно, и всё. Установка, как видите, действительно не сложная. А для повышения безопасности можно работать с owncloud не по протоколу HTTP, а по протоколу HTTPS. Для этого надо сгенерировать и установить на веб-сервер цифровой сертификат. Как это сделать на nginx’е и apache, можно посмотреть

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

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

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

Кто создал OwnCloud?

Разработчик Фрэнк Карличек решил написать OwnCloud после беседы о конфиденциальности данных, предупредив людей о конфиденциальности с поставщиками облачных решений, такими как Dropbox:

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

Он описывает свой процесс мышления больше в блоге: .

Karlitschek намеренно использовал технологии с открытым исходным кодом, чтобы код «был полностью прозрачным (вряд ли он будет содержать бэкдоры для моих данных)».

Он также хотел поддержать расширения приложений для поддержки приложений типа новостей Google, сканирования вирусов и регистрации файлов.

Какие поддерживаются языки?

Карличек сказал, что они «оценили различные варианты поиска правильной технологии, которая работает на каждой соответствующей платформе, масштабируется от крошечных серверов до больших кластеров, обладает всеми необходимыми функциями и известна большому числу разработчиков. Поэтому мы выбираем PHP и JS для серверной части, C ++ для клиентов Desktop, Objective-C для iOS и Java для Android ».

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

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

Версия для печати

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

Хостинг OwnCloud

Существует несколько вариантов размещения OwnCloud. Вы можете разместить его на своих выделенных серверах. Вы можете установить OwnCloud в качестве приложения на виртуальном сервере в хостинговой компании, такой как Digital Ocean; ниже я опишу, как сделать это. Или вы можете подписаться на поставщика услуг OwnCloud (ASP). Некоторые из них даже предлагают планы freemium, но не забудьте оценить репутацию, конфиденциальность и безопасность, предоставляемые вашим ASP.

Еще один интересный вариант предлагают в MacMiniColo. Они опубликовали руководство по установке и администрированию OwnCloud: Установка Owncloud на Mac mini-сервере (Mac Mini Colo Blog) . Они предоставляют выделенный серверный сервер, который позволяет отправлять им настроенный пользователем MacMini или приобретать один из них.

Установка OwnCloud в Digital Ocean

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

По этой причине в этом уроке я расскажу вам, как установить OwnCloud в Digital Ocean . Если вы уже читали некоторые мои уроки, вы знаете, что я их поклонник по ряду причин . Digital предлагает множество предварительно сконфигурированных приложений в виде установок одним щелчком мыши, и OwnCloud теперь является одним из них.

Для этого урока я собираюсь следовать руководству Digital Ocean по использованию OwnCloud ; оно написано одним из их великих менеджеров сообщества, AndrewSB .

Начинаем

Создайте дроплет

На панели инструментов Digital Ocean нажмите кнопку Create Droplet и введите нужное имя хоста. Я собираюсь использовать owncloud.lookahead.io . Digital Ocean рекомендует иметь память не менее 1 ГБ, для которой требуется дроплет в 10 долларов США в месяц.

Обычно вы можете использовать регион по умолчанию, рекомендованный Digital Ocean, если вам не нужно общаться в подсети Digital Ocean с другими дроплетами, которые у вас есть:

Перейдите на вкладку Приложения и нажмите кнопку imageCloud 8.x :

Отправьте форму, и вы должны увидеть экран прогресса создания дроплета:

Когда все будет готово, вы увидите свой дроплет на панели:

Теперь настройте DNS-имя своего домена, чтобы указать на дроплет, то есть установите для A-записи для субдомена или имени домена IP-адрес:

Вы также получите адрес электронной почты с паролем для сервера:

Как только ваши изменения DNS будут применены, вы можете посетить свой сайт, но вы получите это предупреждение. OwnCloud требует, чтобы вы добавили этот домен в список доверенных доменов.

Когда вы нажмете серую кнопку, вы должны увидеть общий экран входа в систему:

Войдите в свою панель управления OwnCloud

Однако вы, возможно, заметили, что у нас еще нет учетных данных нашей панели:

Чтобы их получить, используйте учетные данные входа SSH и приложение терминала для входа на ваш сервер:

При входе в систему вы увидите учетные данные Dashboard. Ubuntu также попросит вас установить новый пароль root.

Затем вы можете вернуться в браузер и войти в свой OwnCloud.

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

Если вы , как описано здесь, то этого не случится.

Хотя я не мог найти административную область для установки доверенного домена, вставка предыдущего URL-адреса позволила мне это сделать.

Http://104.236.211.122/index.php/settings/admin?trustDomain=owncloud.lookahead.io

Затем я смог войти в систему с моим доменным именем.

Обеспечение доступа к HTTPS

Образ Digital Ocean OwnCloud поставляется со встроенным сертификатом SSL. Я рекомендую включить Enforce HTTPS в меню администрирования.

Затем вы можете войти в систему с помощью HTTPS. Однако первоначальный сертификат не проверяется:

Руководство Digital Ocean по использованию OwnCloud предоставляет дополнительную информацию о покупке действительного сертификата и настройке его на вашем сервере.

Шифрование ваших облачных файлов

Вы также можете включить приложение Encryption, которое шифрует хранилище, хранящееся на вашей камере Digital Ocean. Нажмите раскрывающийся список Files и нажмите + Apps :

Включите фильтр Not enabled для Enable Server-side Encryption :

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

Сравнение цен

Если вы используете Dropbox, то он бесплатен до 2 ГБ. Однако вы можете получить дополнительное хранилище через рефералы. В моей бесплатной учетной записи сейчас хранится 10 ГБ. За $ 9,99 в месяц вы можете получать 1 ТБ в месяц. Бизнес-план начинается с 75 долларов в месяц для пяти пользователей с неограниченным хранением.

Хостинг в Digital Ocean не обеспечивает сопоставимое хранение по этим ценам. Дроплет с памятью объемом 1 ГБ в Digital Ocean включает в себя жесткий диск емкостью 30 Гбайт в месяц около 10 долларов США, но хранилище не очень хорошо масштабируется по цене. Например, 80-гигабайтный диск составляет 80 долларов США в месяц, а 640-гигабайтный диск - 640 долларов США в месяц, в первую очередь потому, что Digital Ocean использует исключительно SSD-накопители.

Другие хостинг-провайдеры могут предлагать больше хранилища за доллар, чем Digital Ocean, но при более низких скоростях доступа.

Что дальше?

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

Пожалуйста, не стесняйтесь оставлять свои вопросы и комментарии ниже. Вы также можете связаться со мной в Twitter

O wnCloud является популярным веб-приложением используется для синхронизации данных и обмена файлами. Он позволяет пользователям легко управлять своими файлами, контактами, календарями, списками дел и многое другое, что делает его отличной альтернативой популярному Google Drive, Dropbox, ICloud и других облачных платформ. OwnCloud является кросс-платформенным и поддерживает все популярные операционные системы, но эта статья была написана специально для . На момент написания последней версии OwnCloud является 10.0.7.

1. Предпосылки

  • PHP> = 5.6 (PHP 7.0 или выше рекомендуется), со следующими расширениями включенными в PHP: XML (Expat), curl, PDO, Phar, GD Graphics Library version 2.0.x+, DOM, ctype, JSON, iconv, intl, mcrypt, openssl, bz2, Zlib и Zip.
  • Apache Web Server> = 2,0 скомпилирован с модулем mod_rewrite
  • MySQL> = 5.x (MySQL 5.5 или более поздней версии), MariaDB 5.5+, PostgreSQL или SQLite , установленных на вашем .

2. Обновление системы

Как обычно перед установкой системных пакетов на сервере, сначала обновите систему:

# sudo apt-get update && apt-get upgrade

3. Установка OwnCloud

# wget -qO- https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key | sudo apt-key add - OK

Убедитесь в том, что apt-transport-https устанавливаются, так как мы будем нуждаться в этом для следующего шага:

# sudo apt-get install apt-transport-https Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: aspell aspell-en dictionaries-common emacsen-common libaspell15 libexttextcat-2.0-0 libexttextcat-data liblua5.1-0 libyajl2 Use "apt autoremove" to remove them. The following NEW packages will be installed: apt-transport-https 0 upgraded, 1 newly installed, 0 to remove and 54 not upgraded. Need to get 26.1 kB of archives. After this operation, 215 kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 apt-transport-https amd64 1.2.26 Fetched 26.1 kB in 0s (60.8 kB/s) Selecting previously unselected package apt-transport-https. (Reading database ... 35616 files and directories currently installed.) Preparing to unpack .../apt-transport-https_1.2.26_amd64.deb ... Unpacking apt-transport-https (1.2.26) ... Setting up apt-transport-https (1.2.26) ...

Создайте файл owncloud.list в /etc/apt/sources.list.d так что мы могли добавить репозиторий OwnCloud к серверу:

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

Теперь обновите системные пакетов снова, чтобы мы могли установить пакеты OwnCloud:

# sudo apt-get update Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease Hit:2 http://archive.ubuntu.com/ubuntu xenial-updates InRelease Hit:3 http://archive.canonical.com/ubuntu xenial InRelease Hit:4 http://security.ubuntu.com/ubuntu xenial-security InRelease Ign:5 https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04 InRelease Get:6 https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04 Release Get:7 https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04 Release.gpg Get:8 https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04 Packages Fetched 2203 B in 2s (1030 B/s) Reading package lists... Done

Установка OwnCloud, выполнив следующую команду:

# sudo apt-get install owncloud-files Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: owncloud-files 0 upgraded, 1 newly installed, 0 to remove and 51 not upgraded. Need to get 0 B/35.1 MB of archives. After this operation, 118 MB of additional disk space will be used. Selecting previously unselected package owncloud-files. (Reading database ... 35869 files and directories currently installed.) Preparing to unpack .../owncloud-files_10.0.7-1.1_all.deb ... Unpacking owncloud-files (10.0.7-1.1) ... Setting up owncloud-files (10.0.7-1.1) ...

Теперь мы можем перейти к следующему шагу.

4. Создание базы данных MySQL для OwnCloud

Войдите в MySQL с корневой учетной записью:

# mysql -u root -p

Теперь мы создадим базу данных MySQL для OwnCloud с помощью следующего запроса:

Mysql> CREATE DATABASE owncloud;

Затем выполните следующий запрос для добавления отдельного пользователя для OwnCloud, который будут взаимодействовать с базой данных:

Mysql> GRANT ALL PRIVILEGES ON owncloud.* to "owncloud"@"localhost" IDENTIFIED BY "enter_username_password_here";

Выполните следующую команду, чтобы применить привилегии, которые мы поставили:

Mysql> FLUSH PRIVILEGES;

Теперь мы можем выйти из сеанса MySQL:

Mysql> exit;

5. Настройка OwnCloud

Сначала убедитесь, что следующие пакеты установлены, так как они необходимы OwnCloud:

# sudo apt-get install libapache2-mod-php7.0 \ openssl php-imagick php7.0-common php7.0-curl php7.0-gd \ php7.0-imap php7.0-intl php7.0-json php7.0-ldap php7.0-mbstring \ php7.0-mcrypt php7.0-mysql php7.0-pgsql php-smbclient php-ssh2 \ php7.0-sqlite3 php7.0-xml php7.0-zip

6. Настройка Apache для сервера OwnCloud

Теперь нам нужно будет настроить конфигурацию Apache, чтобы он мог обслуживать каталог ownCloud, добавить следующее содержимое ниже в файл /etc/apache2/sites-available/owncloud.conf с помощью nano или вашим любимым редактором:

# sudo nano /etc/apache2/sites-available/owncloud.conf Alias /owncloud "/var/www/owncloud/" Options +FollowSymlinks AllowOverride All Dav off SetEnv HOME /var/www/owncloud SetEnv HTTP_HOME /var/www/owncloud

Включите следующие модули Apache:

# sudo a2enmod rewrite # sudo a2enmod headers # sudo a2enmod env # sudo a2enmod dir # sudo a2enmod mime

Включите конфигурацию Apache OwnCloud:

# sudo a2ensite owncloud.conf

Теперь перезапустите веб-сервер Apache:

# sudo systemctl restart apache2

Откройте веб-браузер и введите следующий URL-адрес для доступа к веб-интерфейсу OwnCloud:

Http://your_server_ip_address_or_domain_name/owncloud

Отсюда вы можете закончить установку, выполнив действия, описанные ниже:

  • Введите имя пользователя и пароль для учетной записи администратора.
  • Нажмите ссылку Storage & database.
  • Оставьте значение по умолчанию для папки данных.
  • Нажмите на кнопку MySQL/MariaDB.
  • Заполняем поля с информацией базы данных, которую мы установили выше.
  • Нажмите Готово.

Вот, теперь вы должны были успешно установить OwnCloud 10 на сервере.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: