Облачное хранилище 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, они нам пригодятся далее. На скриншоте я их подчеркнул красным и частично затёр, у вас символов в этих полях будет больше.
После копирования жмите «Next step»
3. На следующем шаге вам предложат выбрать те методы, которые сможет использовать будущее приложение. По умолчанию выбраны все, нас это устраивает, крутите вниз страницы и жмите там «Get request token»
4. Вас перекинет на страницу авторизации, там надо ввести ваш логин (email) и пароль.
5. Теперь жмите кнопку «Give me an access token»
6. И вот на следующем экране вы увидите третий нужный нам параметр refresh_token. Копируйте его.
Пока вы не потеряли три добытых параметра, создайте на сервере текстовый файл /root/.hubicfuse
и запишите туда ваши реквизиты:
client_id=api_hubic_1366206728U6... client_secret=gXfu3KUIO1K57jUsW7... refresh_token=ApHs4vp8ABP2Gel7jL...
Попутно расскажу, что по ссылке https://hubic.com/home/browser/apps/ есть список всех приложений, для которых вы предоставляли доступ по API. И после манипуляцй описанных выше там должно появиться:
Справа есть ссылка 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.
Будут вопросы — задавайте в комментариях.
10.02.2016 в 12:10
У меня OpenVZ . Точно, проблемы были. То есть ничего не монтировалось. Тикет в суппорт на предмет включения fuse , через 15 мин 30 ГБ хранилище было примонтировано. Вам огромное спасибо за статью!
10.02.2016 в 20:01
У другого хостера, где тоже OpenVZ -этот номер не прошел, дико извинились и сказали, что FUSE мне не будет.
Так что на будущее всем, если собрались пользоваться WEBDAVом и подобным- берите KVM или XEN. Тогда плясать с бубном и строчить тикеты не придется