Решил поделиться опытом по установке SparkleShare (бесплатного аналога dropbox с собственным сервером) на роутер.
Выбирал из 2 вариантов:
- owncloud (http://owncloud.org/). Столкнулся с проблемами:
1. нужно ставить mysql, т.к. sqlite модуль к php падает.
2. версия клиента 1.1.0 падала при подключении к серверу
3. версия 1.1.1 под Linux Mint закидывает файлы на сервер, удаляя их локально.
4. Версия 1.1.1 под Windows падает в процессе синхронизации.
5. Предыдущие версии имеют неразрешимые проблемы с синхронизацией времени, которые мне обойти не удалось.
- sparkleshare (http://sparkleshare.org/). Проект использует сервис git с качестве серверной части и не требует установки веб-сервера, sql-сервера и прочих ужасов.
В итоге я оставил SparkleShare, и, неделю прожив с ним без особых проблем, решил поделиться своей радостью
Для простоты будущих установок и настроек я переписал официальный скрипт dazzle под особенности роутера, а именно:
- установка git через opkg install git
- необходимости добавлять git-shell в /etc/shells
- необходимости задания пути HOME для юзера, из под которого работает сервер
- особенностями отображения /etc во флеш
- для SparkleShare принципиально нахождение файла git_shell в /usr/bin. Пришлось отображать этот каталог на жесткий диск
Все, что написано выше, я привел для понимания действий скрипта в отличие от оригинала. Теперь сама установка:
Берем скрипт из вложения, или скачиваем на роутер командой:
Code:
opkg install curl
curl http://zev1416.ru/files/dazzle --output dazzle && chmod +x dazzle
Скрипт будет лежать в той папке, из которой Вы выполняли команду.
Работать со скриптом очень просто:
1. Поправьте путь к будущей базе sparkleshare в 12 строке скрипта, изначально там прописан путь /tmp/harddisk, то есть в папке /tmp/harddisk будет создан каталог storage со всеми файлами сервера. Если это устраивает - можно ничего не делать.
dazzle setup — создает все необходимые настройки для работы sparkleshare
dazzle create %ИМЯ_ПАПКИ% — создает папку для документов. Можно создать несколько отдельных папок-проектов и по отдельности подключать их к sparkleshare. Так удобно разделять по пользователям, кто чего будет синхронизировать. Но следует понимать, что никто не мешает пользователю самостоятельно подключить любую другую существующую папку, поэтому нельзя использовать папки-проекты для разделения доступа!
dazzle link — используется для подключения нового пользователя. Скрипт ожидает, что вы скопируете в буфер обмена и вставите в окно терминала содержимое файла «%USER%s link code» из папки установленного клиента. После этого скрипт просто скопирует код (который на самом деле просто открытый ключ доступа ssh) в файл %HOME%/.ssh/authorized_keys . Если надо отобрать выданный доступ — достаточно удалить ключ клиента из этого файла.
Собственно, выполняем
Code:
dazzle setup
dazzle create myfolder
dazzle link
Затем ставим на комп клиент, переходим в папку Документы\SparkleShare и содержимое файла "%USER%s link code» вставляете в окно putty.
Установка завершена.
Чуть более подробно я расписал все это безобразие здесь: http://zev1416.ru/2012/10/21/analog-...vkoj-ot-olega/
Прошу тухлыми помидорами не закидывать, это мой первый пост