Webdav google drive linux

Google Drive в Ubuntu через DAV-pocket Lab

Вниманию читателей!
Появился более простой и удобный способ подключения Google Drive в Ubuntu о котором я рассказываю в статье:
Google Drive в Ubuntu через google-drive-ocamlfuse

В этой статье я поделюсь способом, который я использую для того, чтобы иметь удобный доступ к облачному хранилищу Google Диск с возможностью синхронизации из файлового менеджера Xubuntu (способ подойдет для любой Ubuntu и любого ФМ).

На данный момент официального клиента для Linux от Google к сожалению не существует, но это не повод отказываться от любимого Гугло-облака (по крайней мере любимого мною) в пользу сторонних файловых хранилищ (разве что использовать собственный сервер, но сейчас речь о другом). Конечно, сейчас существуют сторонние утилиты, даже имеющие графический интерфейс для синхронизации с Диском Google, но они либо платные, либо для их работы требуется много лишних действий выполнять со стороны пользователя. Через сервис же — DAV-pocket Lab, доступ осуществляется посредством WebDAV, что существенно упрощает и типизирует работу с облаком.

Вначале необходимо зарегистрировать аккаунт на сайте проекта — http://dav-pocket.appspot.com и после этапа прохождения регистрации, когда сервис попросит авторизовать себя для доступа к Гугло-аккаунту — подтвердить (в открывшемся окне гугла) разрешения для него (сервиса).

Для подключения Google Drive в Ubuntu через WebDAV потребуются следующие данные, выданные сервисом (и созданные тобой): имя аккаунта, пароль и адрес сервера.

Теперь приступим к установке и настройки необходимых пакетов из репозитория:

Установим и настроим пакет davfs2

После выполнения второй команды откроется окно настройки разрешения монтирования ресурсов WebDAV непривилегированным пользователям. Здесь нужно выбрать вариант — «Да».

Далее необходимо добавить пользователя в группу davfs2. Сделать это можно с помощью следующей команды:

(Имя пользователя замени на свой логин в системе).

Следующим шагом будет настройка авторизации для davfs2. Для этого необходимо будет отредактировать файл, находящийся по пути: /etc/davfs2/secrets.
(Если у тебя до сих пор нету удобного консольного текстового редактора nano — тогда выполни для его установки команду — sudo apt-get install nano . Для сохранения файла в нем используется комбинация клавиш — CTRL+O (буква О), для закрытия файла — CTRL+X).
Редактируем файл:

(если файл отсутствует, то создаем его командой touch

/.davfs2/secrets и устанавливаем права на чтение и запись только для владельца chmod 0600

/.davfs2/secrets . Если отсутствует и такой каталог в домашнем каталоге, тогда вначале выполни команду mkdir

/.davfs2 ).
Итак, в данный файл вписываем следующее:

USER — очевидно, твой логин в системе.

/mnt/GoogleCloud Необходимо создать предварительно (командой:
mkdir

/mnt/GoogleCloud , при этом не обязательно создавать каталог там же и с тем же названием, как в данной статье, ты можешь расположить его где удобно и назвать его тоже, как угодно. Только будь внимателен, далее в статье обрати внимание, что мною будут использованы для примера именно это название и расположение, так что тебе нужно будет заменить их на свои.
(Еще раз скажу —

/ — обозначает в Linux домашний каталог текущего пользователя. В консоли можешь использовать такое написание вместо /home/username/) .

ЛОГИН и ПАРОЛЬ — соответственно логин и пароль для сервиса http://dav-pocket.appspot.com .

Почти готово — остался последний шаг — настроить авто-монтирование облака Google при старте сетевого интерфейса. Для этого отредактируем файл /etc/fstab

В конец файла допиши (с новой строки):

(USER в верхнем регистре замени на свой логин, а вот user в нижнем — оставь, как есть).

Готово. После перезагрузки в каталоге

/mnt/GoogleCloud появятся файлы из твоего облака, которые ты сможешь использовать. Также при копировании файлов в данный каталог они будут отправлены на облако. Также в файловом менеджере облако будет показано как отдельный, смонтированный диск.

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

Источник

Блог Эникейщика

Эникейщик – это человек, умеющий доступно и терпеливо объяснять, где находится клавиша Any Key ©

Как подключить Google Drive и Яндекс.Диск в Linux и FreeBSD

Доброго времени суток. Как вы наверно знаете недавно компании Google и Яндекс запустили сервисы хранения файлов файлов в облаке. Я был и остаюсь фанатом DroBox’а, но халява же … Одна беда — про пользователей альтернативных операционных систем как обычно забыли. Тогда как для пользователей Windows имеется все готовое, нам суровым линуксойдам 🙂 приходится думать над подключением самим.

Читайте также:  Windows 10 system грузит жесткий диск 100

Начав с подключения Яндекс.Диска, в котором меня привлекло использование WebDAV (Web-based Distributed Authoring and Versioning — расширение протокола HTTP позволяющее работать с файлами на удаленном хостинге), так же я подключил Google Drive и некоторые другие облачные флешки, подключать которые раньше в Linux и не думал.

Подключаем WebDAV ресурс в Ubuntu

В принципе что в Linux, что в Windows никаких особых программ не нужно, все работает из коробки. В Ubuntu работа реализована с помощью пакета GVFS, доступно в Nautilus (Файл -> Подключиться к серверу). Способ простой, но не лучший из возможных, например работает только в графическом режиме, только в оболочке Gnome или Unity … Куда более интересный вариант использовать лишенный этих недостатков модуль FUSE davfs2. Установим davfs2 и попробуем подключить Яндекс.Диск, делается это примерно так:

  • Устанавливаем пакет davfs2 (считаем что FUSE уже установлен и настроен): sudo apt-get install davfs2
  • Чтобы разрешить использовать davfs обычным пользователям выполним: sudo chmod 4755 /usr/sbin/mount.davfs
  • Создаем точку монтирования: sudo mkdir /media/yandex.disk
  • Монтируем Яндекс.Диск, потребуется ввести логин и пароль:
    sudo mount -t davfs https://webdav.yandex.ru /media/yandex.disk/
  • Проверяем: sudo df -h /media/yandex.disk/

Добавим настройки монтирования в fstab (пусть система сама все делает за нас):

  • Отредактируем fstab: sudo gedit /etc/fstab , добавим: https://webdav.yandex.ru:443 /media/yandex.disk davfs user,rw,noauto 0 0
  • Отредактируем /etc/davfs2/secrets(чтобы не вводить пароль при каждом монтировании): sudo gedit /etc/davfs2/secrets , добавим: https://webdav.yandex.ru login pass

Разрешить доступ можно и переконфигурировав пакет davfs: sudo dpkg-reconfigure davfs2
Каталог /media используется для подключения сменных дисков, так что точку монтирования нужно создавать именно в нем. Опция user разрешает любому пользователю монтировать файловую систему. Для чтения и записи — rw. Опция noauto монтирование вручную, иначе Ubuntu будет пытается подключить файловую систему при загрузке до загрузки собственно сети, что ни к чему хорошему не приведет..

Продолжаем для всех используемых облаков. Я уже говорил что мы не ограничимся Яндекс.Диском? Не забываем только создавать отдельные каталоги в точке монтирования для каждого диска. Теперь наш диск будет виден в Nautilus (Unity) как отдельный накопитель.

WebDAV в FreeBSD

В большинстве случаев Linux в этом блоге это Ubuntu. Это моя основная рабочая система уже скоро как шесть лет и пиарю я ее абсолютно сознательно. Но я умею не только Ubuntu, и после анализа поискового трафика я решил добавить этот раздел(пусть никто не уйдет обиженным). Способ полностью рабочий (FreeBSD9), проверял специально на нескольких машинах. От Linux варианта отличается тем что вместо отсутствующего в портах davfs, используется wdfs:

  • Устанавливаем пакет fusefs-wdfs: pkg_add -r fusefs-wdfs ,
  • или собираем из портов:
    cd /usr/ports/sysutils/fusefs-wdfs/
    make install clean
  • Разрешаем запуск FUSE:
    echo ‘fusefs_enable=»YES»‘ >> /etc/rc.conf
  • Запускаем FUSE: /usr/local/etc/rc.d/fusefs start
  • Создаем точку монтирования: mkdir /mnt/yandex.disk
  • Монтируем Яндекс.Диск:
    wdfs https://webdav.yandex.ru /mnt/yandex.disk -o ,username=user@yandex.ru,password=password
  • Соглашаемся с сертификатом, вводим логин и пароль
  • Проверяем: sudo df -h /mnt/yandex.disk/

Добавляем другие облака

Потренировались на Яндекс.Диске? Хотите знать что можно подключить еще? Для начала можно попробовать эти: SkyDrive от MS и ownCloud.

Чтобы подключить SkyDrive зайдите по своему Windows Live ID и скопируйте из URL код идущий после cid=: https://skydrive.live.com/#cid=***** . Теперь можно подключится используя в качестве адреса ресурса https //docs.live.net/ваш_cid_тут/. Или воспользоваться вариантом изложенным ниже.

Забудьте не работает, работающий способ здесь: Подключение SkyDrive в Ubuntu.

Теперь OwnCloud. Это проект сообщества KDE, предназначение которого создание свободной альтернативы некоторым облачным сервисам. Можно поднять самому а можно воспользоваться готовым например OwnCube(платный) или PortKnox(можно попользоваться бесплатно). Адрес будет выглядеть примерно так(зависит от сервиса): http://сервер/путь/к/папке/owncloud/webdav.php.

Сервис не поддерживает WebDAV

С помощью WebDAV можно подключить Google Drive, DropBox и другие облачные сервисы, не имеющие поддержки WebDAV или только обещающие такую (Ubuntu One, DropBox). Например, чтобы получить доступ к вашему DropBox’у из FreeBSD или Haiku не дожидаясь появления родного клента.

Для Google Drive можно воспользоваться сервисом Otixo (реф-ссылка). Если коротко этот сервис добавляет поддержку WebDAV в Google Drive. И не только, еще Dropbox, SugarSync, SkyDrive, Ubuntu One и другие. Подключаемся по адресу https://dav.otixo.com/ авторизуем приложение и работаем. Бесплатная версия имеет ограничения, но для запасного варианта должно хватить.

Для DropBox неплохим выбором был — DropDAV. Регистрируемся, авторизируем приложение на Dropbox, пользуемся. Для подключения используем адрес https://dav.dropdav.com/. Почему неплохим? Раньше сервисом можно было пользоваться бесплатно теперь только за деньги.

(К слову, про Haiku и другие, для подключения используем CLI клиент Cadaver.)

Добавим немного шифрования

Для шифрования воспользуемся EncFS. Нравится мне эта файловая система за простоту в использовании и всеядность по отношению к операционным системам. Тема шифрования с EncFS раскрыта в этой заметке, добавлю разве скрипт автомонтирования (найден на хабре и слегка подправлен):

Читайте также:  Wat is 32 bit windows

# Проверяем примонтирован ли yandex disk к директории если да, то отключаем
if grep -q «yandex.disk» /proc/mounts; then
# Выводим сообщение в области уведомлений.
notify-send -u normal «Yandex Disk» «На данный момент примонтирован \n ОТМОНТИТРОВАНИЕ !»
# Отключаем шифрованный раздел
# пользователь должен быть в группе fuse
fusermount -u /home/user/yandex.disk.encrypted
# Отмонтируем Диск с правами пользователя
# в /etc/fstab , в параметрах монтирования должен быть параметр user (все параметры: rw,uid=1000,gid=1000,user,noauto)
umount /home/user/yandex.disk
# если не примонтирован
else
# Выводим сообщение в области уведомлений.
notify-send -u normal «Yandex Disk» «Не примонтирован»
# Спрашиваем пароль шифрования во всплывающем окне
pass=$(zenity —password —title «Пароль от EncFS» )
# Монтируем яндекс диск с учётными данными из /etc/davfs2/secrets
mount /home/user/yandex.disk
# Подключаем шифрованную папку
echo $pass | encfs -S -o uid=1000,gid=1000 /home/user/yandex.disk/encrypted/ /home/user/yandex.disk.encrypted/
# Ждём (lol)
ping ya.ru -c 1
# Выводим сообщение в области уведомлений
notify-send -u normal «Yandex Disk» «Успешно примонтирован»
fi

Совсем хитрое шаманство

Хитрое шаманство один — обьем неограничен. Суть идеи — есть такой модуль FUSE mhddfs, делает он следующее обьединяет несколько файловых систем в одну. Например несколько davfs2 файловых систем … Можно получить сколь угодно большого обьема(зависит от вашего желания заводить новые аккаунты) сетевой диск. Работает это примерно так:

  • Устанавливаем mhddfs: sudo apt-get install mhddfs
  • Монтируем WebDAV каталоги:
    sudo mount -t davfs -o rw url /clouds/webdav1/
    sudo mount -t davfs -o rw url /clouds/webdav2/
  • Обьединяем каталоги: mhddfs /clouds/webdav1,/clouds/webdav2 /media/webdav

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

Хитрое шаманство два — настраиваем RAID 1(зеркало). В принципе подойдет любое ПО для синхронизации, но шаманить так шаманить. Еще один модуль FUSE — Chiron FS, создает RAID 1. Подробностей не будет. Возможно под настроение опробую и опишу результат.

Хитрое шаманство за номером три — обьединить первых два. Вы только представьте это себе . :-).

Ссылки:

Скрипт автоматического обьединения ресурсов WebDAV (обсуждение на хабре)

Голосуем за добавление поддержки WebDAV в DropBox.

Источник

Подключение облачных хранилищ Яндекс.Диск, Google Диск и OneDrive в Linux CentOS

В этой статье мы рассмотрим, как подключить бесплатные облачные хранилища Яндекс.Диск, Google Диск и OneDrive в Linux CentOS для использования их под бэкапы или простого обмена файла между разными операционными системами. Например, вы можете установить клиент облачного хранилища у себя в Windows, загрузить в него файлы и автоматически получить доступ к ним из Linux (или наоборот).

Зачастую владельцы или веб-разработчики какого-либо ресурса, не задумываются, что при нехватке места на виртуальной машине или контейнере, можно воспользоваться облачными хранилищами. В своей работе я часто рекомендую пользователям, подключать тот же Яндекс.Диск к себе на VDS, чтобы хранить какие-то не часто используемые материалы или бэкапить туда сайт и базы MySQL/MariaDB.

В данной статье мы рассмотрим подключение наиболее распространненных бесплатных хранилищ Яндекс.Диск, OneDrive и Google Диск (Google Drive) на виртуальную машину с предустановленной ОС CentOS 7.

Подключение Яндекс.Диска в Linux CentOS через WebDAV

Рассмотрим, как подключить облачное хранилище Яндекс.Диск в Linux с помощью протокола WebDAV.

В этой инструкции мы подключим Яндекс.Диск как файловую систему к виртуальному серверу с Linux CentOS с помощью клиента davfs2. Покажем, как настроить автоматическое монтирование облачного хранилища Яндекс через автозагрузку.

Обычно пакет davfs2 уже должен быть установлен в системе, но может быть такое, что он не установился, поэтому делаем установку. Нужно подключить репозиторий Epel и установить сам пакет через yum:

yum install epel-release -y
yum install davfs2 -y

Проверяем, что модуль fuse на машине присутствует:

Вывод должен быть примерно таким:

Создаем отдельную директорию для нашего облачного хранилища:

После того, как все подготовительные работы выполнены, можем приступить к подключению Яндекс.Диск к серверу.

Монтируем Яндекс.Диск к созданной ранее директории:

mount -t davfs https://webdav.yandex.ru /mnt/yad/

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

У меня диск подключился без проблем:

И сразу можно убедиться, что содержимое Яндекс.Диска теперь доступно в Linux:

[root@master yad]# ls -la /mnt/yad/

Создадим файл в подключеном WebDav каталоге файлы и проверим, что он появился в веб-версии Яндекс.Диска:

[root@master yad]# touch /mnt/yad/test.txt
[root@master yad]# ls -la /mnt/yad/


Файл появился, наше подключение к облачному хранилищу Яндекс.Диск работает нормально, локальный файл автоматически синхронизируется с облаком.

Для упрощения монтирования, добавим его в rc.local, чтобы после рестарта сервера, хранилище Яндекс.Диск монтировалось автоматически.

Для этого, создаем файл /etc/davfs2/secrets:

touch /etc/davfs2/secrets

и добавляем туда путь до директории, в которую монтируем Яндекс.Диск и логин/пароль пользователя Яндекс:

/mnt/yad user password

В rc.local добавляем следующую строку:

mount -t davfs https://webdav.yandex.ru /mnt/yad/

Читайте также:  Linux add to group command

Делаем рестарт Linux и проверяем доступность облачного диска:

У меня после перезагрузки сервера, хранилище примонтировалось автоматически. Но иногда файл rc.local не читается при запуске сервера, в таком случае для автозапуска сервиса rc-local выполните следующие команды:

chmod +x /etc/rc.d/rc.local
systemctl enable rc-local

На этом настройка и подключение Яндекс.Диск в Linux CentOS завершена.

modprobe fuse — добавление модуля на ноду

vzctl set 101 —save —devnodes «fuse:rw» (где 101 это ID нужного контейнера) — добавление модуля к нужному контейнеру

И после данных манипуляций делаем рестарт контейнера.

Подключение Google Диск (Google Drive) в качестве хранилища в Linux

Рассмотрим как подключить облачное хранилище Google Диск (Google Drive) в Linux CentOS 7. Установка его очень простая и быстрая.

Загружаем клиент Google Drive подключить командой:

wget -O drive https://drive.google.com/uc?id=0B3X9GlR6EmbnMHBMVWtKaEZXdDg

Перемещаем файл директорию /usr/sbin командой:

mv drive /usr/sbin/drive

Даем права на файл:

chmod +x /usr/sbin/drive

На этом установка клиента Google Drive завершена, нам остается лишь запустить его и пройти авторизацию:

]# mv drive /usr/sbin/drive
[root@master

]# chmod +x /usr/sbin/drive
[root@master

Нужно скопировать ссылку и открыть ее в брузере на ПК, после чего разрешить доступ к аккаунту.

После этого, вам будет предоставлена ссылка, которую нужно будет ввести в консоли Linux:


Google Drive подключен, однако он подключен не через WebDav (не поддерживается) , и вы не видите его как отдельную файловую систему и локальный каталог. Все обращения к хранилищу Google выполняются через клиент drive

Можно проверить какие файлы присутствуют на хранилище Google Диск командой drive list:

Файлы выводятся в виде таблицы с четырьмя столбцами:

  • Id – уникальный код файла
  • Title – название файла
  • Size – размер
  • Created – дата создания

Для теста можем создать файл и передать его на g.drive:

touch drive.txt && drive upload —file drive.txt

Файл создался, и виден в консоли:

Так же проверим, что файл появился в веб-интерфейсе Google Диск:

Как видим, файл на месте.

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

Подключение облачного хранилища OneDrive в Linux

OneDrive – облачное хранилище компании Microsoft. По умолчанию оно доступно для всех пользователей Windows 10 с привязанным аккаунтом (в хранилище OneDrive бесплатно предоставляется 5 Гб места). Наша задача подключить облачное хранилище OneDrive в CentOS 7. В процессе настройки я столкнулся с множеством проблем, которые путем научных экспериментов удалось решить. Вам же потребуется только ознакомиться с инструкцией и воспроизвести все действия у себя на сервере.

Для начала нам нужно зарегистрироваться по ссылке _https://onedrive.live.com

Процедуру регистрации я опущу, так как она не отличается от регистрации на любом другом ресурсе.

Теперь установим необходимые пакеты в Linux CentOS:

yum groupinstall ‘Development Tools’ -y
yum install libcurl-devel -y
yum install sqlite-devel -y

После этого установим язык программирования D(dlang), он потребуется для установки клиента OneDrive:

curl -fsS https://dlang.org/install.sh | bash -s dmd

Чтобы запустить среду D(dlang), введем команду:

/dlang/dmd-2.088.0/activate — в вашем случае версия dmd может отличаться, указываете свою.

Запустив dlang, мы проведем установку самого клиента OneDrive:

сd /opt
git clone https://github.com/abraunegg/onedrive.git
cd onedrive
./configure
make clean; make;
sudo make install

Установка завершена, теперь нужно пройти активацию в веб-версии OneDrive.

Система вам выдаст ссылку, которую нужно ввести в браузере. В веб форме с запросом доступа нужно нажать кнопку Разрешить. После этого ссылка изменится уникальную с кодом, которую и нужно будет ввести в консоли Linux. У меня сформировалась такая ссылка https://login.microsoftonline.com/common/oauth2/nativeclient?code=M74bb67a8-f9a6-1a26-e345-c45a3324de49 :

(dmd-2.088.0)[root@master onedrive]# onedrive

После подтверждения ссылки, я могу выполнить синхронизацию с облачным хранилищем OneDrive:

(dmd-2.088.0)[root@master onedrive]# onedrive —synchronize

По умолчанию, у меня создалась директория /root/OneDrive, в которой появились все каталоги моего облачного хранилища.

(dmd-2.088.0)[root@master OneDrive]# ls -la /root/OneDrive/

Для теста я создал файл test2.txt и выполнил синхронизацию:

[root@master backup]# onedrive —synchronize

Файл закачался в облако Microsoft:

Чтобы изменить директорию по умолчанию, нужно в конфигурационном файле изменить параметр sync_dir и после этого запустить команду:

onedrive —synchronize —resync

После перезагрузки сервера, клиент OneDrive запускает автоматически и не нужно повторно проходить авторизацию.

На этом настройка OneDrive на сервере с CentOS 7 окончена, надеюсь, что информация будет для многих полезна. В следующей статье мы рассмотрим, как использовать облачные хранилища для бэкапа данных с Linux сервера.

Источник

Оцените статью