- Что дальше?
- Что такое owncloud?
- Схема
- 1 Создаём Jail
- 2 Открываем доступ по SSH к данному Jail
- 1: установка owncloud
- 2 установка и подготовка к работе owncloud
- Установка ownCloud
- 1 Устанавливаем необходимые пакеты
- 10 Скачиваем и устанавливаем актуальную версию OwnCloud
- 11 Создаём задание в crone:
- 2 Создаём самоподписанные ключи и сертификаты
- 3 Включаем автозапуск web-сервера, PHP и базы данных
- 4 Устанавливаем редактор для удобного редактирования конфигов
- 5 Корректируем конфиг веб-сервера nginx
- 6 Корректируем конфиг php
- 7 Корректируем php-fpm.conf:
- 8 Корректируем /var/db/mysql/my.cnf:
- 9 Запускаем веб-сервер nginx, PHP, MariaDB и настраиваем базу данных:
- 2: настройка apache
- Установка и настройка NGINX
- 3: создание базы данных mysql
- Настройка репликации master — master MySQL
- 1 Устанавливаем fail2ban из портов:
- 2 Настраиваем логирование в ownCloud:
- 3 Создаём файл фильтра для fail2ban:
- 4 Редактируем файл настроек сервисов:
- 5 Проверяем работает ли наш фильтр и может ли он найти в логе ownCloud нужные строки с попытками неудачного входа:
- 6 Настраиваем действия, которые будут производится в случае неудавшихся попыток входа:
- 7 Запускаем fail2ban:
- 4: настройка owncloud
- 5 уведомление о блокировке ip-адреса
- Клиенты
- 1 Настраиваем уведомления pushover о неудачных попытках входа и бане:
- Войдите в свою панель управления owncloud
- Если подняли owncloud у себя дома | реальные заметки ubuntu & mikrotik
- Какие поддерживаются языки?
- Кто создал owncloud?
- Создайте дроплет
- Сравнение цен
- Установка owncloud в digital ocean
- Установка и настройка owncloud на виртуальный сервер
- Хостинг owncloud
- Шифрование ваших облачных файлов
- Заключение
Что дальше?
В будущих статьях я планирую изучить приложения для настольных компьютеров и смартфонов для iOS и некоторые расширения приложений OwnCloud, такие как Calendar и News.
Что такое owncloud?
OwnCloud предоставляет бесплатный сервер обмена файлами с открытым исходным кодом, сервер-приложение и платформу с приложениями для настольных компьютеров и смартфонов, все это позволяет создавать собственное или корпоративное облако под вашим контролем.
Dropbox оказался под пристальным вниманием в связи с вопросами конфиденциальности и безопасности, а также его спорное решение о назначении бывшего госсекретаря администрации Буша Кондолизы Райс в свой совет директоров. OwnCloud позволяет размещать и защищать файлы на своем собственном сервере, обеспечивая расширенный контроль над удаленными файлами.
Overview of some of the biggest new features in ownCloud Server 8

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

1 Создаём Jail
Данный шаг описывать не буду. Если у вас получилось установить FreeNAS и он у вас работает, то проблем с данным шагом у вас быть не должно. Создание первого Jail может занять довольно продолжительное время.
2 Открываем доступ по SSH к данному Jail
Удобнее всего дальнейшую настройку выполнять не через web-терминал, а через полноценную программу-терминал. Например,
putty
. Для этого откроем доступ по
SSH
к нашему
Jail
и создадим нового пользователя, от которого и будем проводить дальнейшую настройку.
Выбираем в web-интерфейсе FreeNAS созданный нами Jail и нажимаем внизу кнопку Shell.
В веб-консоли Jail вводим:
# sysrc sshd_enable="YES"
Запускаем демон для работы
ssh
# service sshd start
Создаём пользователя от имени которого будем потом настраивать нашу систему. Пользователь будет иметь привилегии
1: установка owncloud
Пакета ownCloud нет в репозитории Ubuntu. Однако проект ownCloud предоставляет свой выделенный репозиторий для системы Ubuntu, который нужно добавить на сервер.
Сначала загрузите ключ релиза с помощью команды curl и импортируйте его с помощью apt-key и команды add:
2 установка и подготовка к работе owncloud
Присоединяемся с помощью программы-терминала к нашему Jail.
Вводим имя созданного нами пользователя и его пароль.
На приглашение командной строки
$
пишем
su
. Теперь приглашение командной строки сменится на что-то типа
root@ownCloud:/usr/home/superstepa #
Установка ownCloud
Собственно все действия по мануалу и математика из репозиториев.
Система Ubuntu 12.03 LTS — LAMP (при установке LAMP не забудьте пароль root)
Для работы с LDAP необходимо доставить php5-ldap
$sudo apt-get install php5-ldapДля хранения данных мы используем отдельный сервер с доступом по NFS.
На сервере-хранилище NFS-storage
ставим nfs сервер
$ sudo apt-get install nfs-kernel-server
Правим /etc/exports добавляя строчку:
/var/owncloud 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)Создаем папку и меняем ей права:
$sudo mkdir -p /var/owncloud
$sudo chown root:www-data /var/owncloudПерепускаем nfs сервер:
$sudo /etc/init.d/nfs-kernel-server restartС хранилкой закончили.
На серверах-клиентах
nfs ставим:
$ sudo apt-get istall nfs-common
Правим vim /etc/rc.local перед exit 0 добавляем строчку: (для монтирования NFS папки при загрузке системы, пишу в этот файл потому как использование /etc/fstab вызывало тяжело преодолимые проблемы)
1 Устанавливаем необходимые пакеты
Сначала обновляем текущие пакеты:
# pkg upgrade
Затем устанавливаем необходимые для работы ownCloud пакеты (на все возникающие вопросы отвечаем
yes
# pkg install mariadb100-server php56-extensions php56-bz2 php56-curl php56-exif php56-fileinfo php56-gd php56-mbstring php56-mcrypt php56-pdo_mysql php56-openssl php56-zip php56-zlib pecl-APCu pecl-intl
Для того, чтобы включить работу по
10 Скачиваем и устанавливаем актуальную версию OwnCloud
смотрим текущую актуальную версию
ownCloud
. На момент написания статьи это была версия
8.0.2
Скачиваем архив, где вместо 8.0.2 указываем текущую актуальную версию:
11 Создаём задание в crone:
# setenv EDITOR nano // для редактирования будем использовать установленный нами редактор nano
# crontab -u www -e
Прописываем в нём:
*/15 * * * * /usr/local/bin/php -f /usr/local/www/owncloud/cron.php
Если всё было прописано верно, то мы получим следующее системное сообщение:
crontab: installing new crontab
Идём теперь в браузере по адресу
2 Создаём самоподписанные ключи и сертификаты
# cd /usr/local/etc/nginx/
Создаём корневой ключ server.key (алгоритм шифрования
des3
, длиной 1024 bit):
# openssl genrsa -des3 -out server.key 1024
Для этого система дважды попросит ввести парольную фразу. Придумываем её и вводим.
Создаём корневой сертификат:
# openssl req -new -key server.key -out server.csr
Отвечать на вопросы можно как угодно. Главное:
— на первый запрос
Enter pass phrase for server.key
ввести правильный пароль от корневого ключа созданного ранее,
— обязательно ответить на все вопросы, иначе клиент ownCloud в дальнейшем может отказаться от синхронизации файлов,
— запомнить введённые данные, чтобы в дальнейшем можно было легко вспомнить, что сертификат именно Ваш,
— запомнить пароль введённый на вопросе
A challenge password []:
Можно изменить срок действия нашего сертификата, например до 10000 дней, добавив в команду выше аргумент
-days 10000
# cp server.key server.key.org //копируем наш ключ
# openssl rsa -in server.key.org -out server.key //удаляем пароль из ключа
# openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt // Генерируем сертификат
3 Включаем автозапуск web-сервера, PHP и базы данных
# sysrc nginx_enable="YES" php_fpm_enable="YES" mysql_enable="YES"
4 Устанавливаем редактор для удобного редактирования конфигов
Всё-таки мы еще «маленькие» и пользоваться предустановленным редактором
vi
нам еще сложновато, поэтому поставим простенький редактор
nano
(на все возникающие вопросы отвечаем
yes
# pkg install nano
5 Корректируем конфиг веб-сервера nginx
Как настоящие администраторы, всегда перед корректировкой конфига делаем его копию, чтобы в случае возникновения проблем всегда можно было откатиться назад:
# cp /usr/local/etc/nginx/nginx.conf /usr/local/etc/nginx/nginx.old
И редактируем файл конфига:
# nano /usr/local/etc/nginx/nginx.conf
Выход из редактора по нажатию Ctrl X. Не забываем при выходе сохранять изменения.
6 Корректируем конфиг php
# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
# nano /usr/local/etc/php.ini
7 Корректируем php-fpm.conf:
# cp /usr/local/etc/php-fpm.conf /usr/local/etc/php-fpm.old
# nano /usr/local/etc/php-fpm.conf
8 Корректируем /var/db/mysql/my.cnf:
# cp /var/db/mysql/my.cnf /var/db/mysql/my.old
# nano /var/db/mysql/my.cnf
9 Запускаем веб-сервер nginx, PHP, MariaDB и настраиваем базу данных:
# service nginx start && service php-fpm start && service mysql-server start
Если всё было сделано верно, то всё запустится без ошибок и можно попробовать пройти в браузере по адресу
2: настройка apache
Пакет ownCloud, который вы установили, копирует файлы в каталог /var/www/owncloud на сервере, тогда как конфигурация виртуального хоста Apache поддерживает обслуживание файлов из другого каталога. Нужно изменить директиву DocumentRoot в нашей конфигурации, чтобы указать новый каталог.
Чтобы узнать, какие файлы виртуальных хостов ссылаются на ваше доменное имя или IP-адрес, используйте утилиту apache2ctl с параметром DUMP_VHOSTS. Отфильтруйте вывод по домену или IP-адресу сервера, чтобы найти файлы, которые необходимо отредактировать.
sudo apache2ctl -t -D DUMP_VHOSTS | grep server_domain_or_IP*:443 server_domain_or_IP (/etc/apache2/sites-enabled/server_domain_or_IP-le-ssl.conf:2)port 80 namevhost server_domain_or_IP (/etc/apache2/sites-enabled/server_domain_or_IP.conf:1)
В круглых скобках вы можете увидеть каждый из файлов, которые ссылаются на доменное имя или IP-адрес сервера ownCloud. Это файлы, которые вам нужно отредактировать.
Откройте каждый из этих файлов в текстовом редакторе с привилегиями sudo:
sudo nano /etc/apache2/sites-enabled/server_domain_or_IP.conf
Найдите директиву DocumentRoot и укажите в ней каталог /var/www/owncloud.
Сохраните и закройте файл. Повторите этот процесс для каждого из файлов, который ссылается на доменное имя (или IP-адрес, если вы не настроили домен для своего сервера).
После этого проверьте синтаксис своих файлов Apache, чтобы убедиться, что в конфигурации нет опечаток:
sudo apache2ctl configtestSyntax OK
В зависимости от конфигурации вы можете увидеть предупреждение о глобальной настройке ServerName. Если вывод заканчивается строкой Syntax OK, вы можете игнорировать это предупреждение. Если вы видите другие ошибки, вернитесь назад и проверьте файлы, которые вы только что отредактировали, чтобы исправить их.
Если проверка синтаксиса прошла успешно, перезагрузите Apache, чтобы активировать изменения:
sudo systemctl reload apache2
Теперь Apache может обслуживать файлы ownCloud.
Установка и настройка NGINX
На сервере NGINX
$sudo apt-get install nginx
Создаем файл конфигурации для сайта перенаправления
$ sudo vim /etc/nginx/sites-available/cloud
Правим до такого состояния.
3: создание базы данных mysql
Прежде чем перейти к конфигурации в браузере, необходимо настроить базу данных. Во время настройки онлайн нужно будет указать имя БД, пользователя базы данных и пароль, чтобы ownCloud мог подключать и управлять данными в MySQL.
Войдите в MySQL как администратор:
sudo 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:
exit
Настройка репликации master — master MySQL
На cloud1
# vim /etc/mysql/my.cnf
добавляем строчки
[mysqld]
#Replication
log-bin=mysql-bin
binlog_format=mixed
server-id = 1 /* для каждого сервера уникальный */
slave-compressed = 1
binlog-do-db = cloud /* название базы для репликации */
#bind-address = 127.0.0.1 /* что бы можно было подулючаться с других машин*/
На cloud2
# vim /etc/mysql/my.cnf
добавляем строчки
[mysqld]
#Replication
log-bin=mysql-bin
binlog_format=mixed
server-id = 2 /* для каждого сервера уникальный */
slave-compressed = 1
binlog-do-db = cloud /* название базы для репликации */
#bind-address = 127.0.0.1 /* что бы можно было подулючаться с других машин*/
Заводим пользователя для репликации на обоих серверах.
На cloud1
пользователь repl2 с доступом с IP 192.168.1.11 и паролем u_pass (должны быть права на базу cloud и привелегии SELECT, RELOAD, SUPER, REPLICATION SLAVE)
mysql> grant replication slave on *.* to 'repl2'@192.168.1.12 identified by 'u_pass';На cloud2
пользователь repl1 с доступом с IP 192.168.1.12 и паролем u_pass (должны быть права на базу cloud и привелегии SELECT, RELOAD, SUPER, REPLICATION SLAVE)
mysql> grant replication slave on *.* to 'repl2'@192.168.1.11 identified by 'u_pass';
Далее приводим обе базы в идентичное состояние:
На cloud1
mysql> FLUSH TABLES WITH READ LOCK;
mysql> show master status;
------------------ ---------- -------------- ------------------
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
------------------ ---------- -------------- ------------------
| mysql-bin.000009 | 107 | cloud | |
------------------ ---------- -------------- ------------------
1 row in set (0.00 sec)
Делаем дамп базы cloud
1 Устанавливаем fail2ban из портов:
# cd /usr/ports/security/py-fail2ban
# make install clean
2 Настраиваем логирование в ownCloud:
Создаём файл в который будут писаться логи ownCloud при неудачной попытке входа:
touch /var/log/owncloud-acces.log
Файл должен быть доступен для записи пользователю www:
# cd /var/log/
# chown www:www owncloud-acces.log
Включаем логирование неудачных входов в ownCloud:
# nano /usr/local/www/owncloud/config/config.php
3 Создаём файл фильтра для fail2ban:
nano /usr/local/etc/fail2ban/filter.d/owncloud.conf
[Definition]
failregex={"app":"core","message":"Login failed: user '.*' , wrong password, IP:<HOST>","level":2,"time":".*"} // для версий ownCloud<= 7.0.1
{"app":"core","message":"Login failed: '.*' (Remote IP: '<HOST>', X-Forwarded-For: '.*')","level":2,"time":".*"} // для версий ownCloud=7.0.2-7.0.5
{"reqId":".*","remoteAddr":"<HOST>","app":"core","message":"Login failed: .*","level":2,"time":".*"} // для версий ownCloud>=8
По сути это парсер, который во всей той служебной информации, которую ownCloud пишет в свой лог, должен найти ip-адрес того, кто пытался подобрать пароль на вход. Те элементы, что никогда не меняются в записях лога — указаны тут в явном виде. Те, что меняются — заменены на *. Ну а собственно ip-адресс, который мы ищем, заменён на переменную <HOST>.
4 Редактируем файл настроек сервисов:
# cp /usr/local/etc/fail2ban/jail.conf /usr/local/etc/fail2ban/jail.old
# nano /usr/local/etc/fail2ban/jail.conf
5 Проверяем работает ли наш фильтр и может ли он найти в логе ownCloud нужные строки с попытками неудачного входа:
# fail2ban-regex /var/log/owncloud-acces.log /usr/local/etc/fail2ban/filter.d/owncloud.conf
Если всё верно, то внизу выдачи будет строка вида:
Lines: 2 lines, 0 ignored, 2 matches, 0 missed [processed in 0.0 sec]
6 Настраиваем действия, которые будут производится в случае неудавшихся попыток входа:
# cp /usr/local/etc/fail2ban/action.d/bsd-ipfw.conf /usr/local/etc/fail2ban/action.d/bsd-ipfw.local
# nano /usr/local/etc/fail2ban/action.d/bsd-ipfw.conf
Оставляем в нём всё по умолчанию. В нём уже прописано правило, что при отправке в бан, ip-адрес добавляется в table(1) файервола
ipfwactionban = ipfw table <table> add <ip>
Добавляем в сам файервол
ipfw
правило, блокирующее все ip-адреса, находящиеся в таблице table(1), т.к. пока нет никаких правил у файервола что делать с адресами из этой нашей таблицы(1):
# ipfw add 1 deny all from table(1) to me
7 Запускаем fail2ban:
Перед запуском создадим для
fail2ban
файл описывающий действие pushover-notify, о котором была уже речь выше и о котором мы ещё поговорим:
#touch /usr/local/etc/fail2ban/action.d/pushover-notify.conf
Прописываем автостарт fail2ban в /etc/rc.conf:
# sysrc fail2ban_enable="YES"
И запускаем его:
# /usr/local/etc/rc.d/fail2ban start
Если всё сделали правильно, то он запустится, если нет — разбирайтесь где ошибка. Если запустился, то проверяем на бан: заходим со стороннего ip-адреса с неправильным паролем. Должно забанить на время, которое мы указали в файле
jail.conf
4: настройка owncloud
Веб-интерфейс ownCloud доступен по ссылке:
5 уведомление о блокировке ip-адреса
Для push-уведомлений будем использовать сервис pushover.net. Я думаю Вам теперь не составит труда разобраться с его API. Но если возникнут сложности, то пишите в комментариях и я добавлю соотвествующее описание по работе с данным сервисом.
Клиенты
Воткактотак 🙂
1 Настраиваем уведомления pushover о неудачных попытках входа и бане:
# nano /usr/local/etc/fail2ban/action.d/pushover-notify.conf
, где
[API Token/key (application key)]
Войдите в свою панель управления owncloud
Однако вы, возможно, заметили, что у нас еще нет учетных данных нашей панели:
Чтобы их получить, используйте учетные данные входа SSH и приложение терминала для входа на ваш сервер:
При входе в систему вы увидите учетные данные Dashboard. Ubuntu также попросит вас установить новый пароль root.
Затем вы можете вернуться в браузер и войти в свой OwnCloud.
Когда я, наконец, нажал на эту серую кнопку относительно доверенных доменов, у меня возникла проблема; появилась ошибка. Но я смог войти в систему, используя свой IP-адрес в панели браузера. Вот начальная панель управления OwnCloud:
Если вы обновите файлы конфигурации сайта Apache вручную, как описано здесь, то этого не случится.
Хотя я не мог найти административную область для установки доверенного домена, вставка предыдущего URL-адреса позволила мне это сделать.
Если подняли owncloud у себя дома | реальные заметки ubuntu & mikrotik
Мало того, что вы каким-либо образом развернули дома owncloud на Ubuntu. Это может быть Вы сами, а может обратились ко мне где я по шагам Вас провел, сперва Вы говорили что только для себя в локальной сети без доступа в интернет. После уже захотелось с мобильного подключиться к домашнему и пошли различные хотелки.
Шаг №1) Как установить OwnCloud 10 на Ubuntu 18.04 Server
Шаг №2) Проверить какой внешний IP адрес дает Ваш интернет провайдер, если серый то увы не получится подключиться к хранилищу с мобильного или любого другого устройства из вне (кафе, работа и т.д)
Частные «Серые» IP-адреса:
От 10.0.0.0 до 10.255.255.255 с маской 255.0.0.0 или /8От 172.16.0.0 до 172.31.255.255 с маской 255.240.0.0 или /12От 192.168.0.0 до 192.168.255.255 с маской 255.255.0.0 или /16
Напрямую из сети Интернет к частным «серым IP-адресам» -невозможен.
Шаг №3) Если внешний IP-адрес белый, то да. Подключение извне организовать можно. Но вот еще в чем может быть загвоздка: адрес либо динамический, либо статический (покупать как дополнительная услуга у провайдера)
Если адрес динамический то на помощь придет DynDNS, NoIP.
Если Ваш роутер Mikrotik, то задествовать можно заметку
Шаг №4) Если внешний IP-адрес статический, то на домашнем роутере настраиваем обычный «Проброс порта» и будет Вам счастье.
Шаг №5) Но обязательно следует не выставлять в интернет 80/tcp порт без защиты иначе Вас будут пытаться взломать обычным подбором порта или атакой на Web-сервис. Порт для «Проброса порта» ставить выше 1024 меньше шансов что Вас будут пытаться взломать, к примеру 45683, ну в таком виде: WAN:PORT — LAN-IP(OwnCloud):80 or 443. Такая схема будет.
Шаг №6) Не лишним будет на Ubuntu 18.04 Owncloud развернуть обращения только через https (пусть сертификат и самоподписанный), защита от перехвата пароля развернуть fail2ban для защиты от подбора пароля.
Шаг №7) И не говорить что Вы уже сервер сломали несколько раз поднимая OwnCloud 100500 раз, т. к. все инструкции не работают. Ваша задача была на виртуальном окружении (к примеру Virtualbox, Vmware Workstation) разобрать свою пошаговую инструкцию как разворачивается сервис чтобы после перенести все на боевое, проверенное и работоспособное, подстроенное под Ваши нужды. Или же обращайтесь ко мне за n-количество рублей я Вас настрою.
Шаг №8) Также не лишним использовать RAID (1 или 10) для хранения данных, чтобы не обидно было если диск полетит. А полететь он может от всего что Вам и в голову не придет. Запомните теперь Вы царь и бог над Вашими данными, а не как раньше за Вас о резервировании заботились: Yandex-диск, Dropbox-диск, Microsoft OneDrive и т. д.
Шаг №9) Не лишним будет сделать скрипт для резервного копирования чувствительных данных Вашего хранилища OwnCloud.
Шаг №10) Есть еще Вариант, если внешний IP-динамический это на Вашем роутере поднять VPN клиент до Вашей VPS и уже подключаясь к ней (VPS) вы будет работать с Вашим хранилищем на 100% безопасно. Но это трудно, но реализуемо.
Шаг №11) Извне подключаться с Android (OwnCloud Client), Windows или Ubuntu Destkop также есть клиент, настраивать по два подключения: одно на настройки из локальной сети, другой на настройки к WAN (к примеру «Проброс порта») подключению.
Шаг №12) Хорошее железо:
- RAM — минимум 2Gb
- CPU = 1 (2core)
- SSD = к примеру 60 Gb система или HDD (но буфер диска от 64Mb, скорость вращения не ниже 7200, скорость SATA интерфейса 6Gbps
- HDD = к примеру 500 Gb под данные.
Желательно но не обязательно использовать LVM.
Шаг №13) Если подключаетесь из вне и видите ошибку с надписью «Вы пытаетесь получить доступ к серверу с недоверенного домена», то Вам сюда
Вывод: Базовые навыки работы с Linux консолью нужны и понимание что делает та или иная команда в инструкциях которыми Вы следуете. С наскоку вот прям сейчас взять и сделать не получится, оттестируйте. На этом я надеюсь дополнил, что нужно делать после желания развернуть собственное хранилище на базе OwnCloud 10 в среде Ubuntu 18.04 Server.
Если Вам хоть немного помогла данная выжимка на вопрос — что делать дальше?, то просьба поблагодарить на Yandex-кошелек: 41001520055047 любой суммой которую Вы считаете.
С уважением автор блога Олло Александр aka ekzorchik (Telegram: @ekzorchik).
Какие поддерживаются языки?
Карличек сказал, что они «оценили различные варианты поиска правильной технологии, которая работает на каждой соответствующей платформе, масштабируется от крошечных серверов до больших кластеров, обладает всеми необходимыми функциями и известна большому числу разработчиков. Поэтому мы выбираем PHP и JS для серверной части, C для клиентов Desktop, Objective-C для iOS и Java для Android ».
Много лет назад я был частью некоммерческого инструмента с открытым исходным кодом для других некоммерческих организаций. Я помню, как разочаровался, когда наш директор по технологиям выбрал Java для новых версий нашей технологии вместо PHP, который является гораздо более дружественной и доступной платформой для нашего сообщества разработчиков. Вскоре эта организация развалилась по другим причинам.
Я ценю, что Karlitschek имел в виду необходимость использовать платформу, с которой может взаимодействовать большое сообщество разработчиков.
Кто создал owncloud?
Разработчик Фрэнк Карличек решил написать OwnCloud после беседы о конфиденциальности данных, предупредив людей о конфиденциальности с поставщиками облачных решений, такими как Dropbox:
Итак, они предложили написать самому. Конечно же я писал уже вещи в прошлом, в итоге я был уверен, что сделаю это. И вот я начал свою одиссею, во-первых, чтобы защитить себя, моих друзей и моих коллег от слежки правительств и других плохих парней, а позже, когда я увидел, что мировой интерес растет, – решил создать реальный и успешный проект. -OwnCloud Основатель Фрэнк Карлищек
Он описывает свой процесс мышления больше в блоге: Почему я создал OwnCloud и создал его с открытым исходным кодом.
Karlitschek намеренно использовал технологии с открытым исходным кодом, чтобы код «был полностью прозрачным (вряд ли он будет содержать бэкдоры для моих данных)».
Он также хотел поддержать расширения приложений для поддержки приложений типа новостей Google, сканирования вирусов и регистрации файлов.
Создайте дроплет
На панели инструментов Digital Ocean нажмите кнопку Create Droplet и введите нужное имя хоста. Я собираюсь использовать owncloud.lookahead.io. Digital Ocean рекомендует иметь память не менее 1 ГБ, для которой требуется дроплет в 10 долларов США в месяц.
Обычно вы можете использовать регион по умолчанию, рекомендованный Digital Ocean, если вам не нужно общаться в подсети Digital Ocean с другими дроплетами, которые у вас есть:
Перейдите на вкладку Приложения и нажмите кнопку imageCloud 8.x:
Отправьте форму, и вы должны увидеть экран прогресса создания дроплета:
Когда все будет готово, вы увидите свой дроплет на панели:
Сравнение цен
Если вы используете Dropbox, то он бесплатен до 2 ГБ. Однако вы можете получить дополнительное хранилище через рефералы. В моей бесплатной учетной записи сейчас хранится 10 ГБ. За $ 9,99 в месяц вы можете получать 1 ТБ в месяц. Бизнес-план начинается с 75 долларов в месяц для пяти пользователей с неограниченным хранением.
Хостинг в Digital Ocean не обеспечивает сопоставимое хранение по этим ценам. Дроплет с памятью объемом 1 ГБ в Digital Ocean включает в себя жесткий диск емкостью 30 Гбайт в месяц около 10 долларов США, но хранилище не очень хорошо масштабируется по цене.
Другие хостинг-провайдеры могут предлагать больше хранилища за доллар, чем Digital Ocean, но при более низких скоростях доступа.
Установка owncloud в digital ocean
Вы можете установить OwnCloud на свой собственный сервер через страницу загрузки. Вы можете установить его из исходного кода, или с помощью веб-установщика или из предварительно созданных пакетов. Последний вариант хорош для легкого поддержания OwnCloud с последними обновлениями и пакетами безопасности.
По этой причине в этом уроке я расскажу вам, как установить OwnCloud в Digital Ocean. Если вы уже читали некоторые мои уроки, вы знаете, что я их поклонник по ряду причин. Digital предлагает множество предварительно сконфигурированных приложений в виде установок одним щелчком мыши, и OwnCloud теперь является одним из них.
Для этого урока я собираюсь следовать руководству Digital Ocean по использованию OwnCloud; оно написано одним из их великих менеджеров сообщества, AndrewSB.
Установка и настройка owncloud на виртуальный сервер
Всего 15 лет назад жесткие диски на многих домашних компьютерах были размером не больше 120 GB (гигабайт). В те времена сложно было представить чем заполнить такой объем диска. Но шли года, росли хранимые объемы информации и этих старых жестких дисков уже стало не хватать. Сейчас жесткие диски меньше 500 GB многими воспринимаются как небольшие по объему. Но ведь важно не сколько информации, а какая именно. Это могут быть для обычного пользователя дорогие как память фотографии, диплом, научная работа и многое другое, а для организации – огромная кипа различных документов.
Встает вопрос – можно ли всю информацию хранить где-то еще, чтобы исключить вероятность потери, например, в случае выхода из строя жесткого диска? Вариантов довольно много, это и внешний жесткие диски, флешки, оптические носители информации(DVD и CD), на рынке полно простеньких NAS(Network Attached Storage – сетевые хранилища, т.е. мини-компьютеры предназначенные только для хранения информации) и различные облачные сервисы.
Сейчас много разных компаний предоставляют так называемые “облака” для хранения личной информации, самые крупные и известные предложения от Яндекс, Google, MailRu, DropBox и другие. Все они различаются условиями предоставления бесплатного объема хранимой информации. Главными плюсами являются простота использования и доступность из любой точки мира, главное чтобы под рукой оказался Интернет.
Но можем ли мы доверять этим сервисам? Например, в пользовательском соглашении Google есть такие строчки:
Хостинг owncloud
Существует несколько вариантов размещения OwnCloud. Вы можете разместить его на своих выделенных серверах. Вы можете установить OwnCloud в качестве приложения на виртуальном сервере в хостинговой компании, такой как Digital Ocean; ниже я опишу, как сделать это.
Еще один интересный вариант предлагают в MacMiniColo. Они опубликовали руководство по установке и администрированию OwnCloud: Установка Owncloud на Mac mini-сервере (Mac Mini Colo Blog). Они предоставляют выделенный серверный сервер, который позволяет отправлять им настроенный пользователем MacMini или приобретать один из них.
Шифрование ваших облачных файлов
Вы также можете включить приложение Encryption, которое шифрует хранилище, хранящееся на вашей камере Digital Ocean. Нажмите раскрывающийся список Files и нажмите Apps:
Включите фильтр Not enabled для Enable Server-side Encryption:
Нажмите Enable, чтобы начать, а затем снова выйдите из системы и войдите в систему. После чего начнется непрерывный процесс шифрования вашего облака.
Заключение
ownCloud предоставляет возможности популярных сторонних облачных сервисов хранения. ownCloud позволяет совместно использовать хранящийся контент и поддерживает доступ к файлам по ссылкам. Преимущество ownCloud заключается в том, что информация хранится не на сторонних серверах, а на машине, которую вы контролируете.
Изучите интерфейс и дополнительные функции, установите плагины ownCloud – их можно найти здесь.
Tags:
