Linux и бесплатные облачные хранилища. Вместе изучаем Linux. Установка облачных хранилищ в Ubuntu

Linux и бесплатные облачные хранилища. Вместе изучаем Linux. Установка облачных хранилищ в Ubuntu

25.06.2019

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

Созданная виртуальная машина с Nextcloud отработала с марта 2017 года практически без сбоев и осенью 2017 года я задумался о статье. У меня осталось много записей и комментариев в части решения различных проблем и нюансов, я долго вынашивал идею всё же привести всё это в порядок и опубликовать и новогодние праздники 2018 года мне в этом помогли. Надо сказать, что статья запоздала как минимум на полгода, но, думаю, что установить и настроить актуальные версии Debian и Nextcloud по аналогии с нижеприведённой информацией не составит большого труда, хотя, как известно, дьявол кроется как раз в деталях.
Ниже читатель познакомится с предпосылками создания своего облака и получит работающие инструкции по стартовой настройке Debian, лёгкому тюнингу среды Gnome3, компиляции, сборке и установке пакетов для Debian, установке и настройке сервисов Apache, SQL и PHP и начала работы с ними, генерации и подключения самоподписного сертификата SSL для виртуального хоста Apache, установка и настройка Nextcloud. Я не стал оформлять эту статью как технический мануал или туториал с длинной вереницей команд, а решил попробовать написать статью как рассказ, но без ущерба технической составляющей. Опытный пользователи Linux вряд ли тут найдут что-то новое, но, возможно, смогут прочитать его как тематическую историю в минутку своего свободного времени.

Быстрая навигация по главе












Предисловие

Наша история начинается в конце 2015 года, когда мной был приобретён новый смартфон. Motorola Droid Turbo оказался производительным аппаратом, с большой памятью, QHD дисплеем с приемлемой (относительно небольшой) диагональю, ёмким аккумулятором и практически чистым Android’ом на борту, что в моих глазах всегда являлось несомненным плюсом. Отделка задней панели баллистическим нейлоном придаёт ему своеобразный стиль, выделяясь на фоне аппаратов эпохи «обмылки». Давно привычные жесты включения фонарика потряхиванием или камеры быстрым помахиванием телефона уже вроде бы никого и не удивляют, но Motorola останется навсегда в истории как первопроходец с безупречной реализацией подобного функционала – к жестам я привык настолько, что даже не знаю где находится значок камеры. В общем, вы уже поняли, что телефон мне нравится всё хорошо и я от него в восторге до сих пор, кроме одного досадного момента – вся память телефона распаяна внутри него. И чтобы потерять наши драгоценные 64 гигабайта (пользовательских данных на самом деле меньше) нужно просто споткнуться так, чтобы телефон выпал из рук и «удачно» упал. Хотя в какой-то день он может просто не включиться. Или когда-то его могут банально украсть.

Все пользователи компьютерной техники делятся на две группы – те, кто делают бекапы и те, кто ещё их не делают. Я из второй группы перешёл в первую лет пятнадцать назад. По крайней мере на первом телефоне резервирование было продумано следующим образом. Все приложения с их настройками ежедневно автоматически бекапились через Titanium Backup на SD карту. На телефон устанавливалась SambaDroid, которая настраивалась таким образом, чтобы расшаривать SD карту телефона только при подключении его к сети с определённым SSID. Как нетрудно догадаться это происходило только при подключении телефона к Wi-Fi маршрутизатору у меня дома. На компьютере периодически запускался BitTorrent Sync, который на всякий случай запирался через файрвол в локальной сети (разрешалась активность только по локальным адресам), и при обнаружении расшаренной карты синхронизировал её содержимое с папкой на компьютере. В случае поломки телефона можно было просто вытащить SD карту с данными. В любом другом случае – всегда есть бэкап карты памяти на компьютере. Если в этот же день сломается компьютер - есть холодный бекап диска с данными, который находится в другом доме. Сон спокойный, здоровый, крепкий, поэтому руки от напряжения не трясутся и, как следствие, телефон никогда и не падает.

А что делать с этим новым телефоном? Приложения так же бекапятся через Titanium Backup. Но SD карта не вытаскивается, а SambaDroid, отлично работавшая на Android 2.х на линейке 4/5/6 ведёт себя нестабильно, да и от BitTorrent Sync я через некоторое время отказался. Наверняка можно было бы найти аналогичное решение, но я загорелся универсальным облачным решением. Казалось бы, вывод напрашивается сам собой и очевиден – есть Google Drive и куча приложений, которые синхронизируют указанные данные с облаком, обеспечивая (в теории) End-to-End шифрование. Но… с таким подходом эта статья бы никогда не была написана! Тем более автор в 2018 году даже не собирается подключать гуглоаккаунт к телефону и уж тем более не думает о синхронизации фотографий своих котиков с какими-то другими сервисами. Да, у меня паранойя, недоверие к корпорациям, желание держать личные данные под своим контролем, желание независимости от работы другого сервиса (который может и закрыться) и я не хочу платить за куцые гигабайты в облаке.

Пока я думал о том, что нужно что-то делать в плане исправления этой ситуации пролетел весь 2016 год и я понял, что вот, прямо сейчас надо уже реально озаботиться этой проблемой. Хотелось всё сделать красиво, с прицелом на будущее, на универсальность, надежность и, разумеется, автоматизм. Так как я активно не приемлю слишком уж большое и навязчивое участие корпораций в личной жизни решено было попробовать сделать своё персональное облако в локальной сети, используя ownCloud.
Цитата из википедии:

ownCloud - это Свободное и открытое веб-приложение для синхронизации данных, общего доступа к файлам и удалённого хранения документов в «облаке». ownCloud написан на языках программирования PHP и JavaScript. ownCloud работает с базами данных SQLite, MariaDB, MySQL, Oracle Database и PostgreSQL, и работает на серверах под управлением Linux, в том числе на Raspberry Pi. Разработку ownCloud начал один из разработчиков KDE, Франк Карлитшек, в январе 2010 г. Он стремился создать бесплатную альтернативу коммерческим облачным сервисам хранения данных. В отличие от них, ownCloud можно установить на собственный сервер без дополнительных затрат.

Возможности:
- Хранение файлов с использованием обычных структур каталогов, или с использованием WebDAV
- Криптография
- Синхронизация между клиентами под управлением Windows (Windows XP, Vista, 7 и 8), Mac OS X (10.6 и новее) или Linux
- Календарь (также как CalDAV)
- Планировщик задач
- Адресная книга (также как CardDAV)
- Потоковое мультимедиа (используется Ampache)
- Администрирование пользователей и групп (с использованием OpenID или LDAP)
- Расшаривание контента между группами или используя публичные URL
- Онлайн текстовый редактор с подсветкой синтаксиса и сворачиванием. Анонсирована поддержка онлайн-версий редакторов LibreOffice.
- Закладки
- Механизм сокращения URL
- Фотогалерея
- Просмотрщик PDF (используется PDF.js)
- Просмотрщик ODF файлов (.odt, .odp, .ods)
- Модуль логирования


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

У меня уже были сохранены некоторые ссылки на материал по установке и настройки ownCloud, но когда я начал разбираться с ним, то обнаружил, что в 2016 году главный разработчик ownCloud (Франк Карличек) покинул компанию и объявил о создании форка - Nextcloud. В отличии от ownCloud, который платен при некоторых условиях, Nextcloud бесплатен полностью. Учитывая то, что работу над новым форком возглавил имеющий большой опыт подобной разработки Франк Карличек, я решил выбрать Nextcloud. В начале 2017 года актуальной версией Nextcloud была версия 11.0.2 и именно её установка и настройка будет описана ниже. На январь 2018 года актуальной версией является 12.0.4, но, я думаю, никаких принципиальных отличий в установке и настройке не должно быть.

Постановка задачи

Поначалу всё казалось простым и я даже предположить не мог, что посидеть «пару выходных» растянется аж на два, два с половиной интересных месяца. Нередко красноглазил по ночам и задавал умные и не очень вопросы на тематических форумах. Мой совет новичкам – если что-то хотите сделать, не пугайтесь объёму работы и делайте. Главное, чтобы получилось хоть что-то в первый раз. Путь даже оно работает криво. Можно делать не понимая, как обезьяна, копировать длинную череду команд нередко доходя до места где что-то сбоит и просто ничего не получается. Может быть была допущена ошибка ранее, может опечатка в команде, может автор в своём мануале пропустил строку кода/команды, может быть в примере релиз ОС другой и на вашем работать не будет, может быть библиотеки не те – да мало ли что ещё может быть! Но когда что-то получится ты удивлённо скажешь: «Черт подери – заработало!» Это стоит того и будет началом появления азарта, стимулом разбираться дальше и уверенность в том, что получится: ведь если получилось один раз, то значит получится и в следующий, надо просто разбираться.

Итак, нужно определиться что именно нужно делать. Имеется пара телефонов, которые нужно подключить к облаку. Кроме этого хотелось бы еще подключить к нему и компьютер – объём дискового пространства в облаке теперь зависит только от моего желания и мне не нужно постоянно доплачивать за 10/20/30 гигабайт – я могу просто купить жесткий диск на пару терабайт. Центральным звеном в домашней сети является Wi-Fi маршрутизатор – именно к нему подключены телефоны через Wi-Fi, компьютер и ещё один компьютер, который выполняет роль нечаянного «сервера»: изначально компьютер собирался под задачи несостоявшегося HTPC , а сейчас на нём просто работает софт виртуализации от VMWare. VMWare Workstation имеет свой собственный виртуальный маршрутизатор, к которому пока подключена только одна виртуальная машина с FTP сервером. Решение напрашивается само собой – создать и подключить ещё одну виртуальную машину, через сетевые настройки VMWare пробросив на неё порты 80 (HTTP) или 443 (HTTPS). Решение модульное и элегантное в том плане, что абсолютно аппаратно-независимое и единожды настроенную виртуальную машину можно будет легко развернуть где угодно, на любом обычном компьютере.

Создание и базовая настройка виртуальной машины

Nextcloud – совсем грубо говоря, это сайт, который крутится на веб-сервере. В качестве веб-сервера я выбрал LAMP = Linux + Apache + MySQL + PHP. Это значит, что всё это нужно установить и настроить. А чтобы оно правильно работало надо понимать что устанавливать и как настраивать.

С Linux я сталкиваюсь только периодически и это больше ещё одно хобби, чем необходимость. Но раз уж я замахнулся на универсальность, то на этот раз я решил разбить всю работу на три логических части, каждая из которых должна заканчиваться вполне определённым и универсальным результатом. Для начала необходимо сделать себе удобную среду для работы, то есть не просто установить систему на виртуальную машину, но настроить её под себя, приблизить её к тому виду, который мне удобнее и привычнее. Второй этап – доведение этой машины до функционирующего веб-сервера. Третий – превращение веб-сервера в облако.

В качестве операционной системы был выбран Debian 8.7.1. В VMWare Workstation создаётся виртуальная машина, которой отводится один двухпотоковый процессор, два гигабайта оперативной памяти и жёсткий диск объёмом 120 гигабайт. Режим работы сетевой карты – NAT. Скачиваем ISO образ операционной системы для архитектуры amd64 . После скачивания подключаем образ к виртуальному приводу и запускаем виртуальную машину. Установка операционной системы довольно банальна и её можно выполнить даже без мурзилок, которых предостаточно в интернете. В качестве графического окружения был выбран Gnome3, а также установлены «Standard system utilities» и «Print Server». Жесткий диск в процессе установки разбит на два раздела - общий раздел (/, /home, /usr и т.д.) и swap. Нового созданного пользователя обозвали нейтрально «user».

Сразу после установки пользователю показывается пустой рабочий стол. Файловый менеджер наутилус - типа проводника Windows, никогда не понимал почему им пользуются. Меню приложений не блещет своим структурированием. NumLock после загрузки всегда отключен. От текстовых редакторов nano или vi начинающий линуксоид вообще впадает в уныние. Надо всё это как-то исправлять. Нижеприведённое описание системы «под себя». О вкусах не спорят: кому-то понравится, кому-то – нет. Замечу, что без преодоления трудностей профессионального роста не будет и чем больше копаешься в чём-то - тем больше понимаешь как это работает.

Настройка в панели управления

Я привык переключать раскладку клавиатуры кнопками CTRL и SHIFT. Возможно в этом виноват драйвер клавиатуры со времён MS DOS 6.22, но что ж теперь поделать – привычка вторая натура. Кроме того, я не хочу, чтобы виртуальная машина засыпала или гасила экран и не хочу после каждого запуска вводить пароль.

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

Язык и регион → Добавить русский язык в источники ввода.
- Клавиатура → Комбинации клавиш → Ввод → Клавиша модификатор переключает источники ввода → Назначить кнопку переключения языков Ctrl+Shift (если невозможно установить такое сочетание - пропустить этот шаг, настроим в разделе «Настройка gnome», который приведён ниже).
- Клавиатура → Комбинации клавиш → Дополнительные комбинации → Добавить новый пункт с названием «Terminal» и командой «x-terminal-emulator». После добавления щёлкаем по надписи «Выключен» и вводим комбинацию двух клавиш: Super (Win) + t.
- Мониторы → Установить разрешение экрана под текущий дисплей, так как по умолчанию установлено некомфортное 800х600.
- Электропитание → ОТКЛ выключение дисплея.
- Подробности → Съёмный носитель → ОТКЛ автозапуск при подключении носителей.
- Пользователи → ВКЛ автоматический доступ для пользователя user.

Настройка BASH

Следующий важный этап – настройка терминала. С командной строкой работать придётся очень много. Мало того, некоторые, если не многие, вещи в Linux проще и удобнее делать через терминал и именно поэтому в предыдущем пункте мы сделали комбинацию клавиш для быстрого вызова терминала. Bash - это интерпретатор командного языка, выполняющий команды, поступающие с клавиатуры. Bash умеет подсвечивать разным цветом файлы, папки, сетевые папки, файлы с различными правами доступа. С подстветкой становится ориентироваться несколько проще и веселее.

Важное замечание. Строки команд, начинающиеся с символа $, будут обозначать, что команду необходимо ввести от лица пользователя – нужно просто открыть терминал (ищется в меню приложений или просто нажимается комбинация Super+T) и ввести команду. Если строка начинается с символа # - это значит, что ввод должен производиться от имени суперпользователя (root). Для этого нужно открыть терминал пользователя и ввести команду:

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

Итак, как мне «раскрасить» терминал? Для этого выполняем команду:

$ nano /home/user/.bashrc

По этой команде в текстовом редакторе nano откроется конфигурационный файл bashrc. В этом файле нужной найти и раскомментировать строку «force_color_prompt=yes». Ниже ищем строку следующего вида (ниже условия if [ "$color_prompt" = yes ]; then):

PS1="${debian_chroot:+($debian_chroot)}\[\033\u@\h\[\033:\[\033\w\[\033\$ "

и копируем её (Shift+Ctrl+C), после чего редактор можно закрыть (Ctrl+X) с сохранением сделанных изменений.

# nano /root/.bashrc

Опять открывается конфигурационный файл, но уже для суперпользователя. Ниже закомментированной строки "#PS1=..." нужно вставить (Shift+Ctrl+V) скопированную строку с небольшим изменением (с заменой числа 32 на 31):

PS1="${debian_chroot:+($debian_chroot)}\[\033\u@\h\[\033:\[\033\w\[\033\$ "

Это небольшое изменение изменит цвет приглашения Bash: пользовательское приглашение user@debian будет подсвечиваться зелёным, а суперпользовательское root@debian – красным. Это поможет от нечаянной путаницы, когда по ошибке вводятся команды не от того пользователя от которого нужно.

Настройка репозиториев

Репозиторий – это база пакетов, доступных для установки. Важно поддерживать эту базу в актуальном состоянии. Сразу после установки у нас прописан базовый репозиторий и ссылка на установочный DVD, который содержит какое-то количество популярных пакетов. Для работы с репозиториями можно использовать программу synaptic с графическим интерфейсом. Но гораздо проще отредактировать список вручную через обычный текстовой редактор:

# nano /etc/apt/sources.list

Проверяем список репозиториев на соответствие нижеприведённому списку.

# security updates
deb security.debian.org
deb-src security.debian.org jessie/updates main contrib non-free
# jessie-updates
deb httpredir.debian.org/debian
deb-src httpredir.debian.org/debian jessie-updates main contrib non-free
# binary and source packages
deb httpredir.debian.org/debian jessie main contrib non-free
deb-src httpredir.debian.org/debian jessie main contrib non-free
# backports
# deb httpredir.debian.org/debian jessie-backports main contrib non-free
# deb-src httpredir.debian.org/debian jessie-backports main contrib non-free

Репозиторий Backports прописан, но отключен. Строго говоря его можно и не прописывать, но если прописать сразу, то потом отключать или подключать этот репозиторий будет проще – нужно будет просто закомментировать или раскомментировать требуемые строчки. Зачем он вообще нужен? Дело в том, что наряду с тем, что Debian является одним из самых стабильных дистрибутивов, как следствие, ПО в его репозиториях зачастую прилично устаревшее. Подключение Backports – это простой способ получить гораздо более новую версию какого-то софта (даже новее, чем в ветке testing Debian). Но нужно быть очень внимательным, так как при установке какой-то программы по зависимостям могут подтянуться другие пакеты, которые могут сломать систему из-за несовместимости старого софта с новыми пакетами. Backports – этот тот случай, когда вы точно знаете зачем это делаете.

После любого изменения содержимого файла sources.list нужно обязательно выполнить синхронизацию с репозиториями:

# apt-get update

Обязательно смотрим лог – никаких ошибок быть не должно. В противном случае нужно проверить корректность содержимого файла sources.list.

Обновление операционной системы

Чтобы узнать текущую версию системы выполним команду:

$ cat /etc/debian_version

Если система установлена из образа по вышеприведённой ссылке, то её номер будет 8.7.

Для обновления системы существует две команды: apt-get upgrade и apt-get dist-upgrade. Первая команда только обновит установленные пакеты, но при этом могут возникнуть конфликты и неудовлетворённые зависимости. Это некое безопасное обновление, при котором старые программы точно не портятся, но новые могут и не заработать. Вторая же команда удалит старые пакеты, разрешит конфликты, доставит необходимые зависимости и доставит новые пакеты, если требуется. При возникновении конфликтов она будет пытаться произвести обновление наиболее важных пакетов за счет менее важных. Этакое более умное обновление.

Обновим систему:

# apt-get dist-upgrade

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

Установка программного обеспечения

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

# apt-get install mc
# apt-get install gksu
# apt-get install numlockx
# apt-get install libcanberra-gtk-module
# apt-get install libqt5webkit5 libqt5svg5 coreutils
# apt-get install doublecmd-gtk
# apt-get install galculator
# apt-get install samba smbclient cifs-utils
# apt-get install jigdo-file
# apt-get install audacious
# apt-get install smplayer
# apt-get install firefox-esr
# apt-get install gufw

mc – это старый добрый Notron Commander только в Linux. Забываем про команды ls, cd, mkdir, rm и прочие.

gksu – позволит запускать программы с графическим интерфейсом от имени суперпользователя, а так же добавит в меню приложений терминал суперпользователя, который можно будет запускать сразу, а не выполнять последовательность «терминал → $ su → ввод пароля суперпользователя».

numlockx – поможет решить проблему с режимом numlock после загрузки системы, так как по умолчанию он всегда выключен.

Пакеты libcanberra-gtk-module, libqt5webkit5 libqt5svg5 coreutils нужны для функционирования двухпанельного менеджера Double Commander и текстового редактора Notepadqq, который мы установим чуть позже.

doublecmd-gtk – аналог Total Commander для Linux.

galculator – просто калькулятор, который умеет переключаться в инженерный вид.

samba smbclient cifs-utils – пакеты, необходимые для обеспечения работы в сети: расшаривание папок, доступ к расшаренным папкам, монтирование сетевых ресурсов.

jigdo-file – это инструмент для закачки и обновления образов CD, DVD, BD. например, если вы когда-то захотите создать полностью автономный и полный официальный репозиторий из Blu-Ray дисков дистрибутива Debian, то именно этот «торрент» нам понадобится, так как диски Blu-Ray распространяются в первую очередь через jigdo.

audacious – аудиоплеер.

smplayer – видеоплеер.

firefox-esr – браузер не нуждающийся в представлении.

gufw – графическая оболочка для утилиты настройки брандмауэра.

Вышеприведённые программы будут несколько дополнять базовый пакет ПО установленной системы, который немал, если при установке системы был выбран стандартный набор утилит. Функции MS Office выполняет пакет программ LibreOffice, есть графический редактор GIMP, Transmission для торрентов, почтовый клиент Evolution, просмотрщик фотографий, простой текстовой редактор gedit и прочее ПО. Аудио и видеоплееры в стандартном наборе тоже есть, но audacious и smplayer будут являться более функциональными и удобными программами.

Настройка программного обеспечения

numlockx решает проблему с режимом numlock после загрузки системы. После установки пакета нужно просто выполнить команду:
# numlockx on
И теперь после загрузки операционной системы NumLock будет всегда включен.

Файловый менеджер Double Commander я привёл к более минималистическому виду произведя следующие действия в его меню:

Вид → Краткий (выполнить на обоих панелях)
- Настройки → Параметры → Инструменты → Терминал → В разделе «Команда запуска терминала» прописать «x-terminal-emulator», поле параметров оставить пустым
- Настройки → Параметры → Шрифты → все шрифты =11, шрифт «Просмотрщика (режим „Книга“)» =14
- Настройки → Параметры → Просмотр файлов → Выбрать метод сортировки «Естественная сортировка: алфавитно-числовая»
- Настройки → Параметры → Просмотр файлов → Установить опцию «Показывать системные и скрытые файлы»
- Настройки → Параметры → Вид окна → Установить только след. опции:
- Главное меню
- Панель инструментов + Плоские
- Кнопка списка дисков
- Строка свободного места на диске + Кратко
- Текущий путь
- Заголовки табуляторов
- Строка состояния
- Кнопки функциональных клавиш
- Плоский интерфейс
- Панель фоновых операций

Видеоплеер SMPlayer так же был немного настроен через меню пункт «Настройки»:

Панели → ОТКЛ Главная панель и Языковая панель
- Настройки → Основные: ОТКЛ «Запоминать настройки всех файлов»
- Настройки → Внешний вид: Автоматически изменять размер - ВКЛ «Когда это нужно»
- Настройки → Внешний вид: ОТКЛ «Запоминать позицию и размер»
- Настройки → Обновления: ОТКЛ «Проверить обновления» и ОТКЛ «Открыть страницу с информацией после обновления»

Из минимальных расширений для firefox стоит упомянуть Ghostery, с помощью которого можно блокировать многие следящие жучки и рекламу, и friGate, расширяющий возможности браузера по настройке прокси (прокси нам, конечно ни к чему, но вдруг понадобится – так он всегда тут, под рукой). Отмечу, что стоит ставить friGate версии 2.2.1.1 (из архивов), так как ветка 3.х демонстрирует полную победу «эффективного» менеджмента и маркетинга над здравым смыслом.

Что делать, если в браузере нужен Flash Player? На странице загрузки Adobe Flash Player выбираем.tar.gz для Linux и скачиваем предложенный файл. Из архива необходимо «достать» libflashplayer.so и скопировать его в /home/user/.mozilla/plugins. Все действия можно сделать через Double Commander – он умеет заходить в архивы как папки. Ниже я привёл как это сделать через команды в терминале:

Можно получить исходный код текущего проекта с svn:

Можно просто скачать исходный код и распаковать файл:

$ tar xzf doublecmd-0.7.8-src.tar.gz

Допустим мы получили папку с исходным кодом и она находится по пути /home/user/work/doublecmd.

$ fakeroot
$ startlazarus

В соответствии с файлом doublecmd\doc\INSTALL.txt (для актуальной версии уточнить пакеты на в разделе «Building from source») нужно подключить или скомпилировать пакеты к lazarus, а после подключения последнего пакета пересобрать lazarus. Делается это следующим образом: следуем в меню Package → Open package file (.lpk) → Выбираем требуемый файл и открываем его → В открывшемся новом окне нажимаем кнопку «Use» после чего выбираем «Install», если пункт «Install» недоступен, то просто нажимаем на кнопку «Compile». Все компоненты находятся в папке components исходного кода. Нам нужно подключить следующие компоненты:

- chsdet/chsdet.lpk
- CmdLine/cmdbox.lpk
- multithreadprocs/multithreadprocslaz.lpk
- dcpcrypt/dcpcrypt.lpk
- doublecmd/doublecmd_common.lpk
- KASToolBar/kascomp.lpk
- gifanim/pkg_gifanim.lpk
- viewer/viewerpackage.lpk

После подключения последнего компонента нужно утвердительно ответить на вопрос о пересборке IDE либо самостоятельно запустить пересборку через меню «Сервис».

Если пересборка успешно завершилась, то можно попробовать откомпилировать проект, открыв через Lazarus файл doublecmd/src/doublecmd.lpi и запустив компиляцию (кнопка F9). После успешной компиляции (в процессе могут показываться предупреждения, но ничего страшного – главное, чтобы фатальных ошибок не было) должен отрыться Double Commander. Если этого не произошло то, с высокой долей вероятности, в процессе компиляции возникла ошибка и надо разбираться что с ней делать и как жить дальше. Можно попытаться решить проблему логически, но при отсутствии опыта шансов, конечно, очень мало. Поэтому нежно забираем текст ошибки в буфер обмена и идём с ней прямо в неведомые дали интернета.
После успешной компиляции проекта закрываем IDE.

Итак, мы получили в папке с исходным кодом бинарный файл doublecmd, который запускается. Всё хорошо, но… а как сделать нормальный пакет? Вот тут нам поможет папочка install. Если вдумчиво понаблюдать за кодом файла create_packages.sh, само название которого сильно обнадёживает, то можно сделать далеко идущие выводы о том, что нам нужно в части параметров, которые нужно прописывать при запуске скрипта. По применению этого скрипта возможно даже есть какая-то документация, но мне хватило логического осмысления кода. Одна просто запуск на исполнение этого файла мне ничего не давал так как процесс постоянно сбоил и останавливался на ошибках, как правило, отсутствия нужных путей. Для успешной сборки пакета нужно немного подправить скрипт create_packages.sh.

svn export ../ $BUILD_DC_TMP_DIR

Ниже прописываем:
cp -vR /home/user/work/doublecmd/ $BUILD_DC_TMP_DIR

Ищем в коде строку и комментируем или удаляем её:
linux/update-revision.sh ../ $BUILD_DC_TMP_DIR

Если код получен с svn, то эти два изменения можно и не делать, но при скачивании кода отдельным архивом без этих правок сделать пакет не получалось.
Далее ищем строку и опять комментируем/удаляем:
export MAINTAINER=«Alexander Koblov »

Вместо неё прописываем себя:
export MAINTAINER=«Vlastelin Mira»

Далее ищем строку и снова комментируем/удаляем:
checkinstall -D --default --pkgname=doublecmd --pkgversion=$DC_VER --pkgarch=$DEB_ARCH --pkgrelease=1.$lcl --pkglicense=GPL --pkggroup=contrib/misc --requires=libx11-6 --nodoc --pakdir=$PACK_DIR $BUILD_DC_TMP_DIR/install/linux/install.sh

Ниже прописываем то же самое, но с небольшим изменением, которое позволит после сборки пакета автоматически не устанавливать его в систему и сохранит собранный пакет:
checkinstall -D --install=no --default --pkgname=doublecmd --pkgversion=$DC_VER --pkgarch=$DEB_ARCH --pkgrelease=1.$lcl --pkglicense=GPL --pkggroup=contrib/misc --requires=libx11-6 --nodoc --pakdir=$PACK_DIR $BUILD_DC_TMP_DIR/install/linux/install.sh

Запускаем генерацию пакета для Debian в сессии fakeroot из которой мы и не выходили:

$ ./create_packages.sh -D --ws=gtk2 --cpu=x86_64

Наблюдаем за магией в консоли – там столько всего происходит! После успешной сборки пакета выходим из сессии fakeroot:

Полученный пакет, например, doublecmd_0.7.8-1.gtk2_amd64.deb, будет находиться в /doublecmd/install/linux/release/ откуда его можно установить обычной командой:

Поздравляю, тебе досталась, возможно, первая в мире статья, в которой системы персонального файлохранилища, разворачиваемые на домашних серверах и NAS’ах, не называют «персональным облаком». На этом радости не заканчиваются - мы сравним лучшие продукты этого класса. В качестве бонуса мы поговорим о нескольких интересных устройствах, на базе которых можно все это богатство разворачивать с максимальным комфортом.

Есть очень простой способ понять, нужно ли тебе поднимать собственное хранилище, или же можно обратиться к услугам Dropbox. Стоимость дисков в пересчете на терабайт достигает 50 долларов в рознице. Железо может быть самым разным, от старого ПК до Raspberry Pi или традиционного NAS. Стоимость аренды облачного пространства в пересчете на три года (при том что средняя длительность службы современных дисковых накопителей значительно больше этого периода) существенно превышает эту сумму на один-два порядка (так, недавно появившийся у Dropbox «бизнес-аккаунт» будет стоить 750 долларов за терабайт, причем число участников ограничено пятью). Таким образом, если тебе нужно иметь доступ к большим объемам данным или же организовать хранилище для группы пользователей - это однозначно твой путь.

BitTorent Sync

В BitTorrent Sync используется подход, принципиально отличный от других систем. Синхронизация построена на основе децентрализованного peer-to-peer протокола. Если файл доступен сразу на нескольких устройствах, они могут передавать его одновременно, достигая при этом максимально возможной скорости. Для начала синхронизации каталога необходимо через веб-интерфейс указать каталог и сгенерировать для него секретный 20-байтный ключ, который одновременно и определяет права доступа (ключ может давать полные права или права только на чтение, при этом синхронизация с другими устройствами будет односторонней), и уникально идентифицирует этот каталог. На другом устройстве с установленным BitTorrent Sync теперь необходимо выбрать локальную папку и указать этот код (на мобильном устройстве можно отсканировать QR-код непосредственно с экрана компьютера). Все. Не требуется указывать никаких адресов сервера - устройства с одним и тем же кодом найдут друг друга автоматически. Для этого используется несколько механизмов: поиск в локальной сети с помощью широковещательных пакетов, пиры могут обмениваться друг с другом информацией о других известных им пирах, пир может быть задан статически указанием адреса и порта, может быть использована DHT либо BitTorrent трекер-сервер, который пиры уведомляют о своей доступности и который может быть ими использован для проксирования трафика при невозможности установить прямое соединение.

Безопасность

При передаче файлы шифруются (AES-128) и не сохраняются на каких-либо устройствах, кроме тех, что были авторизованы пользователем. Для взаимной аутентификации устройств используется SRP. Сама компания BitTorrent хотя и имеет доступ к статистике сервиса, но заявляет, что никакие данные пользователей ей принципиально не могут быть доступны.

Совместимость

Работает под OS X, Windows (начиная с XP), Linux (включая платформы ARM и PowerPC), FreeBSD, Android, iOS.

Установка

Под Ubuntu самое простое - поставить из репозитория, всего тремя строчками

$ sudo add-apt-repository ppa:tuxpoldo/btsync $ sudo apt-get update $ sudo apt-get install btsync

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

$ ps ax|grep btsync 8413 ? Sl 0:04 /usr/lib/btsync/btsync-daemon --nodaemon --config /etc/btsync/debconf-default.conf

Для настройки синхронизации каталогов необходимо зайти на страницу http://localhost:8888 . На ней доступно добавление/удаление каталогов, показывается их размер и статус синхронизации, можно посмотреть секретный код каталога и сгенерировать его заново (все клиенты со старым ключом потеряют к нему доступ). Также можно задать имя устройства, которое будет отображаться на других клиентах, порт (по умолчанию он выбирается случайным при запуске), установить ограничения на скорость загрузки и выгрузки, включить UPnP и сменить пароль доступа к веб-интерфейсу. Для других настроек необходимо заглянуть в конфигурационный файл (в Ubuntu лежит здесь):

$ sudo nano /etc/btsync/debconf-default.conf

Если в него были внесены изменения, сервис нужно перезапустить:

$ btsync-restart

Примеры конфигурационных файлов лежат здесь:

$ ls /etc/btsync/samples/ complex.conf simple.conf user-new.conf user-old.jdoe.conf

В случае если BitTorrent Sync не может синхронизировать какой-то файл (это можно понять по тому, что в веб-интерфейсе, несмотря на то что устройство подключено к каталогу, постоянный объем данных постоянно остается несинхронизированным), необходимо заглянуть в журнал. По умолчанию в Ubuntu его размещение - /var/lib/btsync/sync.log . Если процесс синхронизации нужно запускать под текущим пользователем, можно установить другой пакет:

$ sudo apt-get install btsync-user

В этом случае настройки будут доступны (после запуска) по адресу http://localhost:8888. Установка BitTorrent Sync, к примеру, на WD My Book Live ненамного сложней. Сначала нужно загрузить и распаковать архив:

# mkdir ~/btsync && cd ~/btsync # wget http://btsync.s3-website-us-east-1.amazonaws.com/btsync_powerpc.tar.gz # tar -xvf btsync_powerpc.tar.gz

Создадим конфигурационный файл по умолчанию:

# ./btsync --dump-sample-config > btsync.conf

Добавим файл автозапуска:

# nano /etc/init.d/btsync #! /bin/sh # /etc/init.d/btsync case "$1" in start) /root/btsync/btsync --config /root/btsync/btsync.conf ;; stop) killall btsync ;; *) echo "Usage: /etc/init.d/btsync {start|stop}" exit 1 ;; esac exit 0

# chmod 755 /etc/init.d/btsync # update-rc.d btsync defaults

И стартуем:

# /etc/init.d/btsync start

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


Выводы

Поскольку центрального хранилища в BTSync нет, все участники равны, и, если две группы участников некоторое время выйдут из синхронизации, потом будет сложно разобраться в том, какая из версий основная. Синхронизация через HTTP/HTTPS не поддерживается (в конце концов, это же торрент-протокол), поэтому далеко не всегда он сможет пройти через сетевые экраны, и в современной защищенной корпоративной среде ему приходится туго. Нет возможности дать общий доступ к отдельному файлу/каталогу через веб. Администрирование большого количества каталогов и устройств затруднено. Невозможно дать доступ для синхронизации к каталогу, находящемуся внутри уже синхронизируемого каталога. Недостатки BTSync - нельзя синхронизировать подпапку уже синхронизированной папки. BitTorrent Sync производит отличное впечатление профессионально сделанного сервиса и прекрасно покрывает задачи синхронизации огромных объемов данных между любым количеством пользователей при сравнительно небольшом количестве синхронизируемых каталогов и в не очень закрытых сетях. Он удобен в установке и использовании и надежен. Но функционал его строго ограничен, и это решение может оказаться не очень подходящим для более сложных задач.

OwnCloud

OwnCloud - одна из самых старых, развитых и наиболее известных систем. Она распространяется в исходных кодах и предоставляет очень широкий функционал: хранилище файлов с версионированием, календарь, задачи, контакты, новости, закладки, просмотр документов, музыкальные и фотогалереи, синхронизация всего этого с настольными компьютерами и мобильными устройствами, совместный доступ через веб, поиск по содержимому файла. Использование в качестве внешних хранилищ Dropbox, FTP, S3, WebDAV. Возможность написания собственных плагинов. Поддержка LDAP. Это далеко не полный перечень того, что может OwnCloud. Функционально она превосходит многие бесплатные сервисы, в том числе предоставляемые Google (Mail, Calendar, Contacts, Tasks, покойный уже Reader и другие), но при этом может быть полностью развернута в своей сети. Также поддерживается шифрование на серверной стороне.

Клиент для синхронизации использует протокол HTTP/HTTPS и поддерживает прокси, соответственно, будет работать в большинстве корпоративных сетей через сетевые экраны и прокси. Конечно, синхронизация будет медленнее, чем у BitTorrent Sync, зато он работает практически везде. Пользователи могут не только предоставлять доступ к файлам и папкам через веб, но и раздавать их зарегистрированным пользователям для синхронизации, при этом они будут доступны в папке Shared. К сожалению, не поддерживается синхронизация между серверами и нет горячего резервирования из коробки. Можно только сделать резервную копию. Хотя в случае отказа сервера на клиентских устройствах копии сохранятся, в схеме с центральным хотелось большей надежности, чем дает ручное восстановление из бэкапа при отказе.

Совместимость

Работает под Windows, OS X, Linux, iOS, Android. Сервер можно поднять даже под OpenWRT, и она заработает (хотя и не быстро) даже на домашнем маршрутизаторе, есть версия для ARM (ни то, ни другое Dropbox никогда не планировал даже для клиента). Поддерживается широким перечнем коммерческих сетевых хранилищ: WD My Book Live, QNAP, Synology… К сожалению, официальные клиенты OwnCloud для мобильных устройств платные, но, поскольку сервер поддерживает открытые протоколы (WebDAV для доступа к файлам, CalDAV - для календаря и так далее), использовать только их необязательно. Написан OwnCloud на PHP, и для его развертывания на выбор доступен широкий выбор стандартных средств: веб-серверы Apache, nginx, lighttpd и другие, базы данных SQLite, MySQL, PostgreSQL и другие.

Установка

Сервер ставится просто (хотя в репозиториях Ubuntu 13.04 и есть пакет OwnCloud, но он старой версии): Добавляем ключи:

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

И ставим:

$ sudo apt-get install owncloud

Если нужно установить только клиент, то:

$ sudo apt-get install owncloud-client

Поставили сервер - открыли в браузере http://localhost/owncloud . В окне первого запуска нужно указать, что будет использоваться SQLite (не рекомендуется, если пользователей больше одного, но для пробы вполне подойдет), имя-пароль администратора - и вуаля! В клиенте необходимо для начала синхронизации указать адрес сервера. На самом деле нужно проверить и подправить еще несколько параметров. По умолчанию PHP ограничен максимальный размер загружаемых файлов. В файле /etc/php5/apache2/php.ini нужно изменить параметры uploadmax filesize и postmax size, задав их, скажем, равными 2 и 2,2 Гб соответственно:

$ sudo nano /etc/php5/apache2/php.ini # upload_max_filesize = 500 MB upload_max_filesize = 2 GB # post_max_size = 600 MB post_max_size = 2.2 GB

И рестартовать Apache:

$ sudo service apache2 restart

Также не помешает проверить, что в настройках Apache разрешено использование файлов.htaccess и mod_rewrite: убедиться, что в разделе /var/www файла виртуальных хостов Apache (как правило, /etc/apache2/sites-enabled/000-default) AllowOverride установлен в All, выполнить a2enmod rewrite и a2enmod header и рестартовать Apache (подробнее см.). Безусловно, веб-сервер будет необходимо переключить на работу по HTTPS. Модификации конфигурационных файлов, необходимые при применении nginx вместо Apache, приведены .

Безопасность

Данные между клиентом и сервером передаются по протоколу HTTPS (если, конечно, он включен). Шифрование файлов, как уже отмечалось, поддерживается только на серверной стороне. Это значит, что тот, кто контролирует сервер, может получить к ним доступ.

Выводы

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

AeroFS

AeroFS предназначен для синхронизации файлов и предоставления к ним общего доступа. Обмен данными идет между устройствами напрямую, сервер используется для управления и администрирования пользователей; поддерживается версионирование фалов. Попробовать AeroFS можно без развертывания сервера, воспользовавшись облачным сервисом, который в бесплатной версии поддерживает до трех участников (teammates) и одного внешнего пользователя (collaborator) без ограничений на объем (так как файлы не хранятся на сервере) и количество устройств на одного пользователя.

Совместимость

Сервер Team Server работает под Windows, Linux, OS X. Клиент AeroFS Desktop поддерживает Windows, Linux, OS X, Android.

Безопасность

По заявлению разработчиков, все данные, передаваемые между устройствами, шифруются с помощью AES-256-CBC. Файлы не хранятся на серверах, хотя могут проксироваться через relay-сервер, если устройствам не удалось установить прямое соединение друг с другом. Подробнее .

Установка

Для установки клиента под Ubuntu необходимо загрузить deb-пакет и установить его:

$ sudo dpkg -i aerofs-installer.deb

Затем нужно запустить Applications → Internet → AeroFS. При щелчке правой кнопкой мыши на появившейся в трее иконке появится меню, похожее на меню Dropbox. В настройках можно задать свое имя и имя компьютера, локальный каталог для синхронизации, ограничить полосу пропускания и так далее. Также с его помощью можно предоставить общий доступ к каталогу, указав список почтовых адресов тех, кому дается доступ. При нажатии на кнопку «Network Diagnostics…» можно просмотреть список компьютеров, доступных для данного устройства. Есть клиенты для работы в командной строке: aerofs-cli - демон и aerofs-sh - работа в интерактивном режиме. Аналогичная процедура нужна для установки сервера:

$ sudo dpkg -i aerofsts-installer.deb

Запустим:

$ aerofsts

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

По завершении начальной настройки сервер автоматически синхронизирует локальный каталог с другими устройствами, идентифицировав пользователя AeroFS по почтовому адресу, введенному при настройке. При этом, хотя и установленный локально, сервер будет являться частью облака AeroFS и на него будут распространяться ограничения бесплатной версии (три участника и один внешний пользователь). В системном трее появится точно такая же иконка, как у клиента, отличающаяся выпадающим меню. В нем будет пункт Manage Team, ведущий на страницу администрирования, и не будет Pause syncing for an hour и Invite a friend to AeroFS.

Как и в случае с клиентом, для сервера есть варианты для работы из командной строки: aerofsts-cli и aerofsts-sh.

Выводы

Если число пользователей, требующих разных прав доступа, никогда не превысит трех (число устройств, напомним, не ограничено), можно присмотреться к Seafile поближе - сервис очень простой и удобный, хотя и ограниченный по функциональности. Если же пользователей может в перспективе стать больше, то начиная с четырех придется платить по 10 долларов в месяц за каждого (!) участника (число внешних пользователей при этом будет неограниченным).

Seafile

Seafile создан китайскими разработчиками и распространяется в исходных кодах. Он позиционируется как средство синхронизации файлов и совместной работы для команд. Seafile, как и OwnCloud, использует центральное хранилище, к которому подключаются клиенты. Серверная часть существует в двух редакциях: Open Source и Professional. Пользователи профессиональной версии, кроме технической поддержки, получают дополнительные функции, такие как возможность использовать Amazon S3 в качестве хранилища файлов, WebDAV, поиск файлов, предварительный просмотр для файлов doc и ppt, масштабирование, повышенную доступность и улучшенную интеграцию с почтой. Профессиональная версия доступна также для персонального использования с ограничением до пяти пользователей. Поскольку Seafile позиционируется не только как сервис файловой синхронизации, но и как средство совместной работы, в нем предусмотрены такие инструменты, как встроенная вики, ведение списков задач, общий доступ к файлам через веб, онлайн-просмотр файлов с дискуссиями, управление учетными записями и группами, поддержка LDAP, обмен сообщениями.

Seafile основан на модифицированной под задачи файловой синхронизации модели Git. Основным понятием в Seafile является библиотека (аналог Git-репозитория), которая соответствует группе каталогов. В отличие от Git, файлы разделяются на блоки для более эффективной передачи по сети и хранения. Для начала синхронизации нужно загрузить библиотеку с сервера к себе на диск. При необходимости можно создавать sub-library для подкаталогов. Можно не только давать права пользователям и группам на синхронизацию библиотек, но и открывать общий доступ через веб как к отдельным файлам, так и к каталогам с правами только на чтение или и на чтение, и на запись. В качестве сервера баз данных Seafile может использовать SQLite, MySQL, PostgreSQL, веб-серверы Apache и nginx. Воспользоваться Seafile можно и без установки своего сервера - облачный сервис Seacloud, построенный на основе Seafile, в бесплатном тарифном плане предоставляет 1 Гб бесплатного дискового пространства и 5 Гб включенного трафика. Для оценки возможностей, предоставляемых Seafile, можно ознакомиться с демо-версией .

Совместимость

Сервер работает под Linux (существует специальная версия для Raspberry Pi) и Windows. Клиенты для настольных систем есть для Windows XP, 7, Vista, Linux (как апплеты, так и терминальные), Mac OS X 10.6+. Мобильные клиенты работают на Android и iPad/iPhone.

Безопасность

Библиотеке при ее создании можно задать пароль, с которым она будет зашифрована алгоритмом AES-128. Также на основе пароля генерируется специальный токен, который будет потом использоваться сервером для проверки возможности доступа к библиотеке. После задания пароль изменить нельзя, можно только создать новую библиотеку. Дальнейшее шифрование/дешифрование файлов с использованием пароля, по утверждению авторов, осуществляется только на клиентской стороне. Обмен между клиентом и сервером также шифруется AES-128.

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

Зарегистрируемся в сервисе seacloud.cc. На странице загрузки выберем версию клиента, соответствующую нашей системе. Для Ubuntu это deb-пакет, устанавливаемый обычным способом, например:

$ sudo -i seafile_1.8.1_amd64

Запустим:

$ seafile-applet

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

Выставляем настройки
синхронизации

Если у Windows-клиента предусмотрена возможность автозапуска, то под Linux нужно вручную, скажем, добавить запуск апплета в cron:

$ crontab -e

Добавить строку:

@reboot /usr/bin/seafile-applet

Поэкспериментировав с клиентским приложением, подключенным к Seacloud, продолжим с серверной частью. Для установки сервера необходимо загрузить архив со страницы http://seafile.com/en/download/ и разархивировать его:

$ mkdir haiwen $ mv seafile-server_* haiwen $ cd haiwen $ tar -xzf seafile-server_*

$ mkdir installed $ mv seafile-server_* installed

Установить дополнительные пакеты:

$ sudo apt-get update $ sudo apt-get install python2.7 python-setuptools python-simplejson python-imaging sqlite3

Запустить установщик

$ cd seafile-server-* $ ./setup-seafile.sh $ ulimit -n 30000

и ответить на несколько вопросов, подтвердив в конце правильность данных:

This is your config information: server name: server-name server ip/domain: 192.168.1.1 server port: 10001 seafile data dir: /home/alykoshin/haiwen/seafile-data seafile port: 12001 httpserver port: 8082 If you are OK with these configuration, press to continue.

Обратите внимание, что адрес/домен должен быть именно тем адресом или доменом, по которому к нему будут обращаться клиенты, то есть если у сервера несколько адресов (приватный и публичный), работать с ним клиенты смогут только по одному из них. И еще пара ответов:

This is your seahub admin username/password admin user name: [email protected] admin password: ************** If you are OK with these configuration, press to continue.

Для запуска сервера необходимо стартовать два сервиса: $ ./seafile.sh start $ ./seahub.sh start


Синхронизация в про-
цессе

После запуска сервера администрирование доступно по адресу http://localhost:8000/. Для входа необходимо указать почтовый адрес и пароль, введенные при установке. Новые пункты System Admin и Workspace в верхней строке предоставляют доступ к системному администрированию и уже привычному рабочему пространству Seafile соответственно. Создадим новую библиотеку и загрузим ее. В открывшемся веб-интерфейсе локального клиента мы увидим обе библиотеки, и с seacloud.cc, и с нашего локального сервера.


Seafile показывает
статус нашей папки

Автоматический запуск можно настроить аналогично настройке автозапуска BitTorrent Sync под WD My Book Live выше. Подробнее установка описана в интернете .

Резервное копирование

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

Amazon Glacier

Чуть больше года назад Amazon запустила облачный сервис под названием Glacier (ледник), предназначенный для хранения резервных копий, с крайне низкой стоимостью хранения данных (1 цент за гигабайт данных) и большим временем доступа к сохраненной на нем информации - несколько часов. В целом Glacier очень интересный вариант для резервного хранения, однако при оценке общих затрат на него следует учитывать, что Амазон взимает плату не только за хранение, но и за передачу данных и запросы к хранилищу. Для его использования можно применять утилиту s3sync, с помощью которой настраивается синхронизация в облачное хранилище S3, и уже в нем настроить политику переноса данных в Glacier. Альтернативой s3sync является файловая система s3fs, которая позволяет удаленно смонтировать bucket S3.

Домашние сетевые хранилища

WD My Book Live и WD My Book Live Duo

Тем, кто не хочет играть в конструктор и собирать сетевой накопитель самостоятельно, стоит посмотреть на продвигаемые как персональное облачное хранилище продукты Western Digital. My Book Live содержит один жесткий диск емкостью 1, 2, 3 Tб и порт гигабитного Ethernet. В накопителе My Book Live Duo находятся два жестких диска суммарной емкостью 4, 6, 8 Тб, которые можно либо использовать в нерезервируемой конфигурации, либо зеркалировать в массив RAID 1. Кроме того, в него добавлен USB-порт, которого нет в версии с одним диском. Тихий, небольшой, стильно выглядящий, напоминающий дизайном толстую (очень) черную книгу. Внутри - процессор ARM и полнофункциональный Debian. В Сети можно найти много инструкций по установке и настройке на нем многих популярных программ.

Raspberry Pi

С Raspberry Pi нельзя добиться скоростей, доступных настоящим NAS’ам и домашним серверам. Для серьезных жестких дисков понадобится дополнительное питание, а для подключения будут доступны только USB-порты, никаких SATA/eSATA. Однако у «малинки» есть ощутимое преимущество - ее поддерживают разработчики почти всех описываемых в статье продуктов. В большинстве случаев проблем не возникнет и с двумя другими платформами, но Raspberry Pi остается явным фаворитом.

Seagate GoFlex Net/Home

Решение от Seagate - это брендированная версия популярного на Западе, но почти неизвестного у нас семейства Pogoplug. Во многом это похоже на то, что предлагает Western Digital. Версия Net позволяет установить два фирменных диска объемом от 0,5 до 1,5 Тб каждый, версия Home поставляется сразу с диском и замены не предполагает. Внутри - полноценная NAS-платформа от Marvel с процессором, работающим на частоте 1,2 ГГц и 128 Мб памяти. Доступен гигабитный Ethernet-разъем и один USB-порт. Очень легко перепрошивается на Arch Linux, также совместим с последними версиями Debian.

Заключение

Каждый из четырех инструментов синхронизации и совместной работы с файлами, рассмотренных в статье, имеет положительные и отрицательные стороны. Описанные программы не единственные - за рамками обзора остался, к примеру, SparkleShare, использующий систему контроля версий Git. Идеального инструмента, к сожалению, среди них нет. Однако можно точно сказать, что с их помощью можно избавиться от Dropbox-зависимости и развернуть собственный приватный сервис с несопоставимо большим объемом и за существенно меньшие деньги, не подвергая свои приватные данные рискам хранения на внешнем хостинге.

Покажи эту статью друзьям.

Посмотрело: 1266

В попытках подмонтировать MS Onedrive в линуксе возникла мысль - а какие вообще бывают облака, которые нормально монтируются в папку и при этом предлагают максимальный объем? Ниже - небольшой список сервисов и впечатления от попыток примонтировать их.
Сразу скажу - это все делалось только для удовлетворения любопытства, а не для последующего использования - потому не могу сказать, как себя поведут предложенные решения в долговременном плане. Но, возможно, кому-то будет полезно.
Облака выбирались по двум параметрам - максимальный бесплатный объем (желательно получаемый без нескольких десятков регистраций по вашей реферральной ссылке) и возможность монтирования в папку под линуксом.

Процесс тестирования состоял из
1) Регистрация или вспоминание пароля (если я уже был зарегистрирован на этом сервисе)
2) Попытка добавить свободное место по реферральной ссылке - чтобы проверить, как выглядит процесс и насколько просто самостоятельно «накрутить» себе место.
3) Попытка подключить облако в папку под линуксом (там, где работает WebDAV - использовал davfs2, где не работает - другие доступные варианты).
4) Если попытка удачная, то несколько попыток загрузить разные файлы - какая-нибудь мелочь в пределах мегабайта, 50-70 мегабайт и 1,6 гигабайта.
Эксперименты производились на hetzner"овском VPS с одним ядром и гигабайтом оперативки (debian stable).

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

MediaFire

- при регистрации дают 10 гигабайт, можно поднять до 50 гигабайт разными «квестами»:

У меня почему-то сразу было 50 гигабайт (давно регистрировался), потому получил ещё 5 постами в твиттере и фэйсбуке и установкой десктопного клиента. После этого мне перестало отображать список акций и сказало «всё, хватит». 8 гигабайт можно получить самостоятельно, еще 32 - за регистрации по вашей реферральной ссылке, за каждую регистрацию по гигабайту. Ничего дополнительно ставить не надо, так что, если не лень, всё можно с одного компьютера сделать - только сперва заиметь 32 емейла. :)

Работа под линуксом производится при помощи . В него входит ftp-подобная утилита и модуль для FUSE. Инструкция по установке по ссылке актуальная, самому ничего додумывать не пришлось. Работает довольно стабильно, файл размером в 1,6 гигабайта загрузился.


Замеченных недостатков два:
1) скорость загрузки невелика, примерно 800 мегабайт в час (точнее можете сами прикинуть по картинке выше).
2) когда что-то загружается, то у пользователя отрубается возможность использовать df, к примеру. Подвисает до конца загрузки. На мелких файлах некритично, а вот на больших…

Но, в целом, соотношение доступного объема и возможностей неплохое. Считаю, что вполне можно использовать.

hubic.com

- при регистрации дают 25 гигабайт, можно получить еще 5, если прийти по реферралу и 25 гигабайт набрать реферралами (по 5 гигабайт за каждого зарегистрировавшегося) - итого 55 гигабайт. Клиент при регистрации ставить не требуется, так что до максимума аккаунт можно увеличить за несколько минут, было бы пять запасных ящиков. WebDAV отсутсвует, есть (синхронизация), пока что beta-версия. Для монтирования в папку - . Устанавливается и настраивается по инструкции, никаких подводных камней не встретил.
С использованием проблем нет (кроме заявленных в документации - нельзя переименовывать папки и копировать файлы в корень). Скорость загрузки хорошая.

К использованию пригодно.

mega.co.nz

- сразу дают 50 гигабайт, увеличивать - только за деньги. Для бесплатных пользователей есть ограничение на 10 гигабайт трафика в полчаса. То есть если засунете туда за 10 минут 10 гигабайт, то на полчаса вас тормознут. WebDAV нет, есть , в том числе под Linux.
Либо можно использовать (на ) - создание аккаунта, загрузка и скачивание файлов и программа для монтирования хранилища в папку. Для debian unstable есть deb-пакет, но я пользуюсь stable, потому пришлось собрать из исходников, никаких подводных камней в процессе не было. Но обнаружились после установки - как выяснилось, копирование файлов тут еще не реализовано. Можно только создавать папки и удалять файлы. Потому пришлось копать дальше.
Выкопал . Тут со сборкой было не так просто (пара библиотек по другому называлась, пришлось свап-файл добавлять - оперативка кончилась), но в итоге всё скомпилировалось, запустилось и заработало.
Особенности:
1) MegaFuse работает как демон, то есть надо либо запихивать его в screen, либо делать из него сервис.
2) Гоняет файлы через /tmp - сперва копирует туда, потом загружает на сервер - следите за свободным местом.
Скорость загрузки в районе 600-1000 килобайт/секунду, 1,6GB загрузилось, процессора и ОЗУ MegaFuse требует не особо много.

К использованию пригодно (за минусом слегка замороченной настройки). Но достаточно большой объем без лишних телодвижений и хорошая скорость эту замороченность вполне искупают.

cubby.com

- изначально дают 5 гигабайт, можно поднять до 25 реферралами (по гигабайту за штуку, требуется установка клиента). Есть , ограничений на размер файла не заявлено, 1,6GB загрузилось нормально. Правда если грузить в корень, то файлы попадают непонятно куда. Надо складывать их в папки (cubbies в местной терминологии).
В целом - неплохой сервис, если раскрутить его до 25 гигабайт. Разве что репутация logmein может напугать (они когда-то прекратили бесплатно предоставлять услугу удаленного управления, предупредив за день до этого). Но, думаю, что для облачного хранилища подобное не страшно - вы же не будете хранить единственную копию своих файлов в чужом облаке? :)
К использованию пригодно.

box.com

- 10 гигабайт, бесплатно увеличивать не дают. Но у некоторых могли остаться 50 гигабайт со времён box.net (у меня остались). Есть ограничение размера файла для бесплатного пользователя - 250 мегабайт.
Есть , работает без проблем, скорость загрузки хорошая.
К использованию ограниченно годен. Но если у вас тут осталось 50 гигабайт, а максимальный размер файла не волнует - то могу рекомендовать.

copy.com

- 15 гигабайт сразу + 25 гигабайт реферралами (5*5, требуют установки клиента) - итого 40 гигабайт. Если зарегистрироваться по , то сразу при регистрации дают 5 гигабайт (но не знаю, считают ли их в общую кучу или это отдельно добавляется, как у hubic).
Есть (включая ), но там только синхронизация.
Существует в папку, но у меня он нормально не заработал.
Да, папка монтируется. Можно туда зайти, создавать папки, копировать какие-то мелкие файлы. Но когда пытаюсь скопировать файл на 50 мегабайт, то получаю:

Так что, в целом, хоть сервис и неплохой, по конкурсу не прошел. Хотя если вас устроит только синхронизация - почему бы и нет? Объем, неплохие возможности, довольно высокая скорость закачки, не заявлено ограничений на размер файла.

4shared

- бесплатно даётся 15 гигабайт, увеличить нельзя. Аккаунт живёт полгода с момента последнего посещения, но есть напоминание о том, что срок действия заканчивается. Максимальный размер файла - 2 гигабайта. Имеется официальный WebDAV, работает нормально.
Пользоваться можно, но есть более интересные варианты.

Яндекс.Диск

- изначально даётся 10 гигабайт, до 20 можно поднять реферралам (по 500 мегабайт, требуется установка клиента). Иногда бывают временные акции, которые дают пару-тройку гигабайт на год-два. Но года два или три назад была акция по раздаче 200 гигабайт пострадавшим от их программы-синхронизатора, потому встречаются люди с бесплатными 200+ гигабайтами. Есть . Работает без проблем. Максимальный размер файла - 10 гигабайт.
Можно рекомендовать к использованию в том случае, если вам не надо очень много места или вы из тех, кто получил 200 гигабайт. Я не из таких, потому яндекс.диском пользуюсь нечасто. У меня даже всего 7 гигабайт там лимит был, пришлось поддержку просить увеличить до 10 для порядку.

CloudMe

- 3 гигабайта, реферралами увеличивается до 19 гигабайт по 500 мегабайт с каждого зарегистрировавшегося (и 500 самому зарегистрировавшемуся, достаточно только подтвердить почтовый ящик). Есть официальный , никаких сложностей в его использовании не заметил.
Для бесплатного пользователя есть ограничение на размер файла - 150 мегабайт.
В целом - вариант приемлемый, но интересен может быть разве что в том случае, если не устраивает Яндекс.Диск.

OneDrive

- бесплатно дают 15 гигабайт, можно довести до 23 гигабайт (3 за автозагрузку фотографий, 5 за приведенных клиентов). У меня бесплатных гигабайт тут 40 - давний пользователь (и еще можно 5 получить). Ограничение на размер файла - 10 гигабайт. Имеется WebDAV, но из-за особенностей авторизации работает только под windows, а davfs обламывается.
Потому для монтирования папки придётся использовать связку из двух программ - и .
В принципе, оно работает. Но с кучей оговорок. Ресурс монтируется, да:

Но при попытке что-то скопировать начинается:

Потому пришлось отказаться от монтирования и использовать onedrive-cli для загрузки файлов. Он работает, правда ругается.

Но файлы при этом загружает нормально и довольно шустро - файл размером 70 мегабайт грузился меньше минуты, а на тот же MediaFire этот же файл закачивался минут десять. Файл размером 1,6gb тоже загрузился удачно, хотя в том случае ругани было на экран, а не одна строчка.
В общем, бесплатный onedrive для использования под Linux я не рекомендую. Есть более интересные варианты.

ADrive.com

- бесплатно дают 50 гигабайт, но на этом для бесплатного пользователя почти всё ограничивается (минимальная подписка - 100 гигабайт за 25$ в год). Зато у подписчиков есть не только WebDAV, но и scp, ftp, rsync. Именно потому и упоминаю в списке этот сервис.

Облако Mail.ru

. Бесплатно предлагают 25 гигабайт, увеличение только за деньги. Хотя, думаю, у многих там есть 100 гигабайт или даже терабайт (я во время написания статьи наводил у себя в облаках порядок и нашел именно терабайт на mail.ru:)). Основная проблема бесплатного аккаунта (даже с терабайтом) - ограничение на максимальный размер файла, 2 гигабайта. Хотя для владельцев бесплатного терабайта имеется спецтариф, который снимает это ограничение (500 рублей в год - и можно загружать файлы до 32 гигабайт). WebDAV у них работает работает в тестовом режиме, то есть не работает вообще.
Имеется , но только синхронизация папки, без монтирования. На гитхабе есть - работает как сервис, но он какой-то подозрительный. Я не проверял.
Но если они когда-нибудь заведут WebDAV, то сервис станет заслуживающим внимания.

Итоги

Если собрать результаты в таблицу, то получается примерно так:

Обошел стороной всяких китайцев с халявными терабайтами (360 Yun Pan, Tencent, Baidu и т.п.). Они все неведомы зверушки, пользоваться которыми можно только тогда, когда вы живёте в Китае или рядом. Хотя, конечно, халява - страшная сила… :)
Не рассматривал варианты с WebDAV"ом и 2-3 гигабайтами бесплатного места - просто не рационально.

Сам я пользуюсь onedrive"ом - у меня основная работа под windows. С имеющихся в хозяйстве Linux"ов я вполне могу закидывать файлы на виндовый сервер (что и делаю - перекрестные бэкапы), а оттуда уже родным клиентом класть в облако. Ну или упомянутая утилита onedrive-cli, к использованию ограниченно пригодна, если быстренько хочется что-то кинуть в onedrive напрямую.

Под Linux смотрел бы в первую очередь на MEGA и hubiC, после них - Cubby и MediaFire.

  • Настройка Linux
  • Разархивируем

    tar xjvf owncloud-8.0.4.tar.bz2

    Получаем отдельную папку, полный путь к которой /var/www/owncloud

    Устанавливаем права на папку /var/www

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

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

    Наш ownCloud уже работает, но пока использует незащищенный тип соединения http.

    Давайте включим в веб-сервере Apache2 использование защищенного соединения https. Для доступа по https используется система сертификатов и ключей. Мы создадим самоподписанный сертификат нашего сайта.

    Для создания ключа и сертификата вводим команду:

    openssl req -new -x509 -days 30 -keyout server.key -out server.pem

    На вопрос «Enter PEM pass phrase:» отвечаем паролем, подтверждаем и запоминаем его. На все последующие вопросы отвечаем произвольно, можно просто щелкать по клавише Enter соглашаясь с предложенными вариантами, и только на вопрос «Common Name (eg, YOUR name) :» отвечаем именем сайта, для которого создаем сертификат, например “мойсуперсайт.ru”

    После ответа на все вопросы, в директории должны появиться два новых файла - server.pem и server.key (ключ и сертификат, соответственно).

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

    cp server.key{,.orig}
    openssl rsa -in server.key.orig -out server.key
    rm server.key.orig

    Скопируем их в /etc/ssl и назначим файлу ключа права чтения только администратору:

    sudo cp server.pem /etc/ssl/certs/
    sudo cp server.key /etc/ssl/private/
    sudo chmod 0600 /etc/ssl/private/server.key

    Теперь настроим Apache2. Для начала необходимо активировать mod_ssl:

    sudo a2enmod ssl

    А затем включить настройки HTTPS сайта по умолчанию:

    sudo a2ensite default-ssl

    Теперь необходимо отредактировать файл с настройками HTTPS сайта по умолчанию, указав в нём пути к вашим сертификатам. Сам файл называется /etc/apache2/sites-enabled/default-ssl (или default-ssl.conf).

    SSLEngine on

    Добавить строчку

    SSLProtocol all -SSLv2

    Дабы запретить использование устаревшего протокола SSLv2.

    # Публичный сертификат сервера
    SSLCertificateFile /etc/ssl/certs/server.pem
    # Приватный ключ сервера
    SSLCertificateKeyFile /etc/ssl/private/server.key

    Теперь осталось просто перезапустить Apache. Отдаем привычную команду:

    sudo service apache2 restart

    И если все параметры указаны верно, ваши сайты станут доступны еще и в защищенном HTTPS.

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

    Также наши файлы в облаке доступны вам по протоколу WebDAV (Web Distributed Authoring and Versioning) - набор расширений и дополнений к протоколу HTTP, поддерживающих совместную работу пользователей над редактированием файлов и управление файлами на удаленных веб-серверах. Применяется в качестве сетевой файловой системы, эффективной для работы в Интернет и способной обрабатывать файлы (чтение, запись). Этим удобно пользоваться для доступа к вашим файлам, если вы не хотите использовать веб-интерфейс облака и на устройстве не установлена клиентская программа. Например, для доступа к файлам в привычном виде со смартфона из мобильного файлового менеджера. В системе Android, я использую бесплатный файловый менеджер "ES Проводник ", на вкладке «Сеть» нажимаю кнопку «Создать» и выбираю тип подключения «WebDAV». В качестве сервера к которому подключаемся, указываем наш адрес: нашсайт.ru/owncloud/remote.php/webdav порт указываем 443, имя и пароль от учетки в owncloud. Сохраняем. Все. Теперь в любое время вы можете открыть ваши файлы в облаке, как если бы они были записаны у вас в телефоне на карте памяти.

    Теги: apache2, mysql, php, ownCloud, raspberry pi, облако

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

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

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

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

    Apt-get install mysql-client mysql-server

    Во время установки нам предложат автоматически сконфигурировать сервер, соглашаемся и выбираем Apache2, нажимаем «Да» далее нас попросят придумать пароль для нашей базы данных MySQL, придумываем пароль и идем дальше.

    Важно:

    Теперь немножко позаботиться о нашей безопасности, вводим в консоль:

    Mysql_secure_installation

    и на все вопросы отвечаем положительно Y.

    Входим в консоль управления MySQL и вводим пароль (его не видно):

    Mysql -u root -p

    Создаем базу данных:

    Create database Имя_БД;

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

    Create user "Имя_пользователя"@"localhost" IDENTIFIED BY "Новый_пароль";

    Важно: пароль не должен совпадать с паролем суперпользователя.

    Передаем созданному пользователю полные права на созданную базу данных:

    GRANT ALL ON Имя_БД.* to "Имя_пользователя"@"localhost" ;

    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.pool.ntp.org iburst dynamic
    server 1.pool.ntp.org iburst dynamic
    server 2.pool.ntp.org iburst dynamic
    server 3.pool.ntp.org iburst dynamic

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

    Чтобы проверить правильность времени достаточно ввести в терминале:

    Ntpdate pool.ntp.org

    Если время на нашем сервере не соответствует времени полученному с ntp сервера вводим:

    Ntpdate -bs 0.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

    Находим строчки:

    Extension=pdo_mysql.so extension=mysql.so

    Убираем знаки комментариев перед ними "#" или "//" (если строчек нет, добавляем их после "")
    Сохраняем файл и выходим.

    Перезапускам 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; //} OC_App::loadApps(array("authentication")); //if (OC_User::login($_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"])) { if (OC_User::login(Gman, noclip)) { //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; // });

    P.S. Хочу поблагодарить пользователя paullarionov за его великолепную о файловых хранилищах, а так же KuniLinux за про установку ownCloud 4 на Ubuntu 12.04, именно его статья вдохновила меня на написание более расширенной и актуализированной статьи.


    © 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows