Облачное хранилище hubiC на сервере с Linux

hubiC — это облачное хранилище, наподобие Dropbox. Выделяют там бесплатно и сразу 25 ГБ дискового пространства. А если зарегистрируетесь по этой ссылке, то получите сразу 30 ГБ (и потом сможете прокачать аккаунт до 50 ГБ, приглашая своих друзей: дают +5 ГБ за каждого). Надежность hubiC не стоит подвергать сомнениям, потому что за этим проектом стоит крупнейший в мире хостер — ovh.com (у нас его почему-то знаю хуже, чем немецкий Hetzner). В партнёрах — Intel. Есть приложения для Windows, MacOS, смартфонов. Но не это главное. У hubiC есть две дичайшие киллер-фичи.

Во-первых, hubiC можно смонтировать на своём Linux-сервере и, например, использовать хранилище для резервного копирования сайтов. Этим hubiC круче, чем, скажем, облако от mail.ru (которое на сервер никак не примонтируешь, webdav же там отключили).

Во-вторых, дополнительное место на диске у hubiC стоит очень дешево. 100 ГБ стоят 1 евро в месяц. А вот 10 ТБ (ну т.е. 10 000 ГБ) стоят 10 евро в месяц. Такого дешевого хранилища вы, конечно же, нигде не найдёте.

В общем, дальше я расскажу, как примонтировать hubiC на свой сервер.

Получение реквизитов для доступа по API

Начнём с того, что у hubiC есть API, именно с ним будет работать сервер, т.е. логин и пароль на сервере светить не придётся, а доступ к API можно будет в любой момент перекрыть через веб-интерфейс.

1. После того, как вы зарегистриуетесь и подтвердите email, заходите сюда: https://api.hubic.com/sandbox/

2. Скопируйте client_id и client_secret, они нам пригодятся далее. На скриншоте я их подчеркнул красным и частично затёр, у вас символов в этих полях будет больше.

hubiC-api-01

После копирования жмите «Next step»

3. На следующем шаге вам предложат выбрать те методы, которые сможет использовать будущее приложение. По умолчанию выбраны все, нас это устраивает, крутите вниз страницы и жмите там «Get request token»

4. Вас перекинет на страницу авторизации, там надо ввести ваш логин (email) и пароль.

5. Теперь жмите кнопку «Give me an access token»

6. И вот на следующем экране вы увидите третий нужный нам параметр refresh_token. Копируйте его.

hubiC-api-02

Пока вы не потеряли три добытых параметра, создайте на сервере текстовый файл /root/.hubicfuse и запишите туда ваши реквизиты:

client_id=api_hubic_1366206728U6...
client_secret=gXfu3KUIO1K57jUsW7...
refresh_token=ApHs4vp8ABP2Gel7jL...

Попутно расскажу, что по ссылке https://hubic.com/home/browser/apps/ есть список всех приложений, для которых вы предоставляли доступ по API. И после манипуляцй описанных выше там должно появиться:

hubiC-api-03

Справа есть ссылка Delete, тыкнув в неё вы лишите сервер доступа. Может пригодиться, если сервер взломали и в иных экстренных случаях.

Монтирование hubiC через fuse в CentOS 6

Далее на сервере делаем следующее:

yum -y install gcc make fuse-devel curl-devel libxml2-devel openssl-devel \
json-c-devel json-c json_simple json_diff git fuse

Так мы поставили все необходимые для сборки пакеты. Ещё делаем (насколько я понимаю, это необходимо только если у вас система 64-битная, чтобы установщик искал библиотеки где надо):

export PKG_CONFIG_PATH=/lib64/pkgconfig/

Если не сделать этого, то при сборке появится ругань на не найденный libjson.

Теперь качаем исходники куда положено:

cd /usr/src \
&& git clone https://github.com/TurboGit/hubicfuse

И собираем, устанавливаем:

cd /usr/src/hubicfuse
./configure
make
make install

Делаем символическую ссылку, чтобы команду можно было запускать без абсолютного пути:

ln -s /usr/local/bin/hubicfuse /usr/bin/hubicfuse

Создаём директорию, куда примонтируем удалённое хранилище:

mkdir /mnt/hubic

Монтируем:

hubicfuse /mnt/hubic -o noauto_cache,sync_read,allow_other

Реквизиты доступа будут взяты из созданного нами ранее файла /root/.hubicfuse

Чтобы убедиться в том, что всё примонтировалось как следует, можно сделать df -h

Увидите примерно следующее:

Filesystem Size Used Avail Use% Mounted on
/dev/vda3 19G 2.8G 16G 16% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/vda1 240M 53M 175M 24% /boot
hubicfuse 25G 1.1G 24G 5% /mnt/hubic

Последняя строчка как раз о радостном.

Хранилище хоть представлено отдельным разделом, но работает не совсем идеально. Например, есть проблемы с созданием директорий в хранилище через API.

Поэтому я вам рекомендую пользоваться им так: копируйте ваши архивы (всякие там .tar.gz) в директорию /mnt/hubic/default (это корневая «папка», видимая через веб-интерфейс).

У меня в скрипт бэкапа добавлено примерно следующее:

hubicfuse /mnt/hubic -o noauto_cache,sync_read,allow_other
cp -a /backups/* /mnt/hubic/default/

По идеи, каждый раз можно раздел не монтировать, а добавить в /etc/fstab следующее:

hubicfuse /mnt/hubic fuse user,noauto 0 0

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

Установка hubiC под Debian 7

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

apt-get install build-essential libcurl4-openssl-dev libxml2-dev \
libssl-dev libfuse-dev libjson0-dev pkg-config make git

Проблемы внутри виртуальных машин под OpenVZ

Под OpenVZ будут проблемы с fuse. Я не заморачивался над их решением, но они касаются fuse вообще, а не hubicfuse.

Будут вопросы — задавайте в комментариях.



2 комментария на запись «Облачное хранилище hubiC на сервере с Linux»:

  1. У меня OpenVZ . Точно, проблемы были. То есть ничего не монтировалось. Тикет в суппорт на предмет включения fuse , через 15 мин 30 ГБ хранилище было примонтировано. Вам огромное спасибо за статью!

  2. У другого хостера, где тоже OpenVZ -этот номер не прошел, дико извинились и сказали, что FUSE мне не будет.
    Так что на будущее всем, если собрались пользоваться WEBDAVом и подобным- берите KVM или XEN. Тогда плясать с бубном и строчить тикеты не придется

Прокомментируйте: