wiz 24.03.2010 11:54
Есть проблема! — Сетевой диск
Вчера занимался плясками с бубном, а сегодня вспомнил, что нынче неделя ФС.Есть у меня голубая мечта - расшарить гору файлов так, чтобы из любой ос можно было подмонтировать её как ФС и работать с контентом как с локальным. При этом с установкой минимума софта. Вчера она почти сбылась (:
Я уже довольно давно хожу вокруг протокола WebDAV и периодически пробую его к чему-нибудь прицепить. Вдохновившись каким-то постом из гуглеридера я полез в гугль и нашёл там интересную заметку по реализации этого хозяйства на nginx.
Как обычно не обошлось без граблей, но в целом информация актуальна, если воспользоваться коментариями.
Итог - куча файлов на вебсервере раздаётся nginx-ом (а значит быстро и с минимумом ресурсов) при этом во всех ОС есть средства для монтирования.
Проще всего с гномом: dav://myhost.tld/ и gvfs даёт доступ туда всем програмулькам независимо от года выпуска, будь то less, mplayer или ещё что.
В кедах 4.4 народ подцепился, но их "проводник" (не знаю что там) даёт открывающим прогам ссылки на webdav:// которые почти никто не понимает.
Через mount -t davfs работает ясен пень везде.
Мнения виндузятников разделилсь. Одна XP смонтировала как ни в чём не бывало. Другая отказалась. Офисные XP и семёрки упорно пытаются монтировать хост через SMB, при этом создают ярлыки на \\myhost.tld\ хотя явно указывается http://
Продолжение поста — в коментах (:
upd: очорт, забыл зачем вообще пост писал! Короче, нужна помощь php-спеца. Там скриптик который обслуживает propfind имеет проблемы с некоторыми символами в именах/ссылках. Я так понимаю из-за url-encode, но так сразу пофиксить не смог. В частности самое зло - символ "+", который в урле по-идее интерпретируется как пробел. Но тот же gvfs его не экранирует и поэтому все файлы с + становятся недоступны.
Там в коде есть махинация с href и если оттуда убрать плюс, то в именах элементов появляются плюсы вместо пробелов, но перестаёт туда заходить (т.к. не может сделать stat).
я же написал, все понимают т.к. там не хитрожопый гномский api, а FUSE:
$ mount
....
gvfs-fuse-daemon on /home/wiz/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=wiz)
$ mount
....
gvfs-fuse-daemon on /home/wiz/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=wiz)
Самбу на вебхостинге, например, особо не поднимешь. Лично мне sshfs кажется лучшим решением. Монтирование под винду решается установкой WinSCP, хотя для меня это особо не актуально, т.к. её очень давно не видел и надеюсь больше не увидеть.
Самбу на вебхостинге, например, особо не поднимешь.
Именно. Да и бесит она меня - и сервер и сам протокол (=
Монтирование под винду решается установкой WinSCP
Ключевое слово "установкой". 95% юзерам проще убиццо чем SFTP настроить. А админам придётся напрячься с авторизацией, chroot и прочим цирком под названием "многопользовательское окружение".
>Лично мне sshfs кажется лучшим решением.
Ну, для файлопомойки - это очень-очень медленное решение.
Ну, для файлопомойки - это очень-очень медленное решение.
Дома через wi-fi с шифрованием по sshfs с домашнего сервера жена смотрит с подругами фильм, а я параллельно на кухне с ноутом оттуда же слушаю музыку. Так что не так уж и медленно.
Угу, а ссылочку друзьям на ресурс ты наверно даёшь такую: "sftp://user:[email protected]/home/cppmm/Pictures/coolface.jpg" (8
Это к чему?
Я не говорил, что использую sshfs для обмена фотками с друзьями. Я всего лишь сказал, что скорость передачи данных через sshfs вполне приемлемая и для домашней/офисной сети вполне подходит(монтируется оно у меня автоматически при старте системы).
А картинки я вообще через пикасу людям показываю. :р
Я не говорил, что использую sshfs для обмена фотками с друзьями. Я всего лишь сказал, что скорость передачи данных через sshfs вполне приемлемая и для домашней/офисной сети вполне подходит(монтируется оно у меня автоматически при старте системы).
А картинки я вообще через пикасу людям показываю. :р
Это я какбы намекнул, что WebDAV легко и непринуждённо позволяет использовать уже имеющуюся инфраструктуру. В задействованом примере файлы раздаются напрямую nginx-ом, что положительно сказывается на скорости работы и гибкости настроек.
Поднимать на домашнем/офисном роутере nginx, имхо, несколько не попадает под понятие "использовать уже имеющуюся инфраструктуру". А ssh там имеется. Вся настройка сводится к настройке в ssh-сервере авторизации по ключу для внутренних хостов и прописыванию в автостарт этих хостов одной команды. Всё.
А, ну да. Проблемы windows-пользователей меня не волнуют. :)
А, ну да. Проблемы windows-пользователей меня не волнуют. :)
А я и не про домашнее использование. Даже скорей как раз "сервисное" - т.е. для предоставлении толпам юзеров.
KIO в KDE вполне пристойный. То, что какие-то отдельные урлы он формрует по-своему, так это проблема гнома. С тем же успехом можно сказать, что убожеский gvfs даёт ссылки, которые не понимает KDE.
Скажем прямо: когда фюза ещё не было, в гноме решалась эта проблема аналогично kio в кде, через свой хитрый gnomevfs, и на тот момент kio был сделан гораздо лучше и безглючнее, чем gnomevfs. И только гораздо позже, с изобретением fuse, гномовская vfs стала работать по-человечески.
В Gillariba уже давно монтируют разделы, а в Killabajo всё ещё пилят API q:
>KIO в KDE вполне пристойный.
Ага. Именно поэтому в KDE чтобы посмотреть фильм в mplayer с шары открытой в dolphin он мне его предварительно скачивает во временный каталог, а чтобы поредактировать файл в OOo, он сначала скачивает, а потом закачивает обратно. Это каменный век, а не пристойность.
>То, что какие-то отдельные урлы он формрует по-своему, так это проблема гнома.
Это не только урлы, а еще и апи KIO, которое если не используешь, то сосешь леденцы, а не получаешь доступ к виртуальным ФС.
>что убожеский gvfs даёт ссылки, которые не понимает KDE.
gvfs всем программам, которые не поддерживают GIO, дает прямую ссылку файловую систему смонтированную FUSE в ~/.gvfs, в посте об этом сказано было.
Ага. Именно поэтому в KDE чтобы посмотреть фильм в mplayer с шары открытой в dolphin он мне его предварительно скачивает во временный каталог, а чтобы поредактировать файл в OOo, он сначала скачивает, а потом закачивает обратно. Это каменный век, а не пристойность.
>То, что какие-то отдельные урлы он формрует по-своему, так это проблема гнома.
Это не только урлы, а еще и апи KIO, которое если не используешь, то сосешь леденцы, а не получаешь доступ к виртуальным ФС.
>что убожеский gvfs даёт ссылки, которые не понимает KDE.
gvfs всем программам, которые не поддерживают GIO, дает прямую ссылку файловую систему смонтированную FUSE в ~/.gvfs, в посте об этом сказано было.
Хм, вот что вычитал в википедии:
Особенности WebDav
Выполнение расширенных файловых операций (блокировки, поддержка версий);
Можно с этого места чуть поподробнее? Оно, типа, гибрид самбы и git-а? :)
Особенности WebDav
Выполнение расширенных файловых операций (блокировки, поддержка версий);
Можно с этого места чуть поподробнее? Оно, типа, гибрид самбы и git-а? :)
Дык, а чем самба не угодила? Уж она то везде будет работать и устанавливать в подавляющем большинстве ничего не надо :)
Да, в КДЕ убожеский KIO все портит, который работает исключительно с кде-программами.