Pull to refresh

Релиз ownCloud 9.0 — opensource альтернативы Dropbox и другим облачным хранилищам

Open source *PHP *


Вышел новый релиз персональной облачной платформы ownCloud 9.0.

Я уже писал про ownCloud раньше. Я очень люблю этот комбайн из хранилища данных с синхронизацией, версионированием, галереей, календарем, хранением контактов и прочими плюшками. Серверная часть написана на PHP, поддерживаются протоколы WebDAV, CardDAV, CalDAV. Клиентский софт есть под Linux, OS-X, Windows, мобильных платформы и через web интерфейс. В теории может работать с петабайтными объемами данных.

Сервис может работать в федеративном режиме — есть возможность объединять и линковать независимые ownCloud-инстансы, делиться каталогами и другими данными. В качестве файловой системы можно использовать GPFS, GlusterFS и другие распределенные варианты. Хорошо допилена интеграция в инфраструктуру Amazon.

Changelog:
  1. Возможность добавлять комментарии и теги к файлам
  2. Новая система уведомлений
  3. (Федеративный режим) Автодополнение имен пользователей
  4. (Федеративный режим) Списки доверенных серверов
  5. Код для дополненией и основных файлов наконец подписан
  6. Добавили новую систему обновления
  7. Улучшения производительности при совместном доступе к каталогам
  8. Новое API для External Storage
  9. Различные улучшения системы безопасности


Немного иллюстраций


image
Веб-интерфейс с новыми функциями тегов и комментариев

image
Меню открытия доступа к файлу сторонним пользователям


Более подробно о федеративной системе объединения нескольких серверов.

Личные впечатления


Субъективные ощущения от использования сервиса самые положительные. Сейчас используется для хранения и синхронизации данных нашей лаборатории. Доступ к основному серверу через HTTPS. В моем варианте все работает на KVM виртуальной машине, основная система Debian, на виртуальной машине — Ubuntu 14.04 LTS. Это дает определенную гибкость в плане изоляции сервиса от основного сервера и упрощает клонирование, перенос и резервное копирование на случай проблем с обновлением. Проблемы, кстати, бывают. К сожалению, еще не тестировал свежий релиз — планирую сегодня попробовать развернуть на тестовой машине.

Основной набор сервисов, которые обеспечивают работу ownCloud у меня — nginx + php-fpm (версия PHP 5.5.9) + apcu (кэширование) + MariaDB (актуальный форк MySQL). Все работает очень быстро и без особых нареканий. Данные не терял ни разу. Основной плюс для нас — неограниченность доступного места для синхронизации — все упирается в HDD сервера. В случае физической гибели HDD — остается бэкап виртуальной машины с ownCloud, и все данные на клиентах никуда не исчезают. Будет выглядеть просто как обрыв связи.

Конфигурационные файлы


Nginx
upstream php-handler {
server 127.0.0.1:9000;
#server unix:/var/run/php5-fpm.sock;
}

server {
listen 80;
server_name example.net;
# enforce https
return 301 https://$server_name$request_uri;
}

server {
listen 443 ssl;
server_name example.net;

ssl_certificate /etc/ssl/nginx/bundle.crt;
ssl_certificate_key /etc/ssl/nginx/private.key;
ssl_dhparam /etc/ssl/nginx/dh2048.pem;

ssl_stapling on;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:2m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers kEECDH+AES128:kEECDH:kEDH:-3DES:kRSA+AES128:kEDH+3DES:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2:!RC4;
#ssl_ciphers kEECDH+AES128:kEECDH:kEDH:-3DES:kRSA+AES128:kEDH+3DES:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2;

ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
add_header Content-Security-Policy-Report-Only "default-src https:; script-src https: 'unsafe-eval' 'unsafe-inline'; style-src https: 'unsafe-inline'; img-src https: data:; f$
# Path to the root of your installation
root /var/www;
# set max upload size
client_max_body_size 10G;
fastcgi_buffers 64 4K;

rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

index index.php;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){
deny all;
}
location / {
# The following 2 rules are only needed with webfinger
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

try_files $uri $uri/ /index.php;
}

location ~ \.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
fastcgi_pass php-handler;
}

# Optional: set long EXPIRES header on static assets
location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
# Optional: Don't log access to assets
access_log off;
}




Настройки php дефолтные.

Официальная инструкция по обновлению


https://owncloud.org/blog/time-to-upgrade-to-owncloud-9-0/
Tags:
Hubs:
Total votes 39: ↑36 and ↓3 +33
Views 52K
Comments Comments 114