Данное руководство поможет установить клиент Dropbox и настроить его как сервис на сервере Ubuntu 14.04. Таки образом, сервер получит доступ к Dropbox и сможет хранить копии файлов в синхронизированном каталоге Dropbox.
Требования
- Предварительно настроенный сервер Ubuntu 14.04 (инструкции можно найти здесь).
- Не-root пользователь с доступом к sudo. Все команды руководства нужно выполнять в сессии такого пользователя.
Установка клиента Dropbox
Последнюю версию клиента Dropbox для Linux можно загрузить в домашний каталог при помощи этих команд:
cd ~
curl -Lo dropbox-linux-x86_64.tar.gz https://www.dropbox.com/download?plat=lnx.x86_64
Файл dropbox-linux-x86_64.tar.gz будет загружен в домашний каталог.
Примечание: На сервере с 32-битной архитектурой используйте команду:
cd ~
curl -Lo dropbox-linux-x86.tar.gz https://www.dropbox.com/download?plat=lnx.x86
Распакуйте архив Dropbox в каталог /opt/dropbox:
sudo mkdir -p /opt/dropbox
sudo tar xzfv dropbox-linux-x86_64.tar.gz --strip 1 -C /opt/dropbox
Клиент Dropbox загружен на сервер. Теперь его нужно связать с учётной записью Dropbox.
Настройка клиента и учётной записи Dropbox
Чтобы настроить взаимодействие клиента Dropbox с учётной записью, запустите команду (как пользователь, в домашнем каталоге которого нужно хранить файлы Dropbox):
/opt/dropbox/dropboxd
Это запустит клиент Dropbox в приоритетном режиме, потому в данный момент вы не сможете запускать другие команды. При первом запуске клиента появится примерно такой вывод:
Host ID Link:
This computer isn't linked to any Dropbox account...
Please visit https://www.dropbox.com/cli_link_nonce?nonce=ac8d12e1f599137703d88f2949c265eb to link this device.
Посетите предложенный в выводе URL (выделен красным).
Войдите в Dropbox и нажмите Connect.
Would you like to connect dropbox client to your Dropbox account (8host@8host.com)?
Connect
Cancel
После этого на экране появится сообщение:
Link success output:
This computer is now linked to Dropbox. Welcome 8host
Теперь клиент и учётная запись Dropbox могут взаимодействовать. После этого в домашнем каталоге появится каталог Dropbox. В нём нужно хранить файлы для синхронизации.
Остановите Dropbox, нажав Ctrl-C.
После этого нужно установить скрипты, которые позволяют запускать Dropbox как сервис.
Скрипты сервиса Dropbox
Чтобы запустить Dropbox как сервис, нужно написать сирипт. Сейчас можно просто загрузить такой скрипт в /etc/init.d/dropbox и сэкономить время:
cd ~
sudo curl -o /etc/init.d/dropbox https://gist.githubusercontent.com/thisismitch/d0133d91452585ae2adc/raw/699e7909bdae922201b8069fde3011bbf2062048/dropbox
Сделайте скрипт исполняемым:
sudo chmod +x /etc/init.d/dropbox
Скрипт будет искать список системных пользователей, имеющих доступ к Dropbox, в файле etc/systemd/dropbox. Создайте этот файл:
sudo nano /etc/default/dropbox
Добавьте в файл следующую строку (директива DROPBOX_USERS должна содержать имя системного пользователя):
DROPBOX_USERS="8host"
Сохраните и закройте файл (Ctrl-x, y, Enter).
Теперь можно запустить Dropbox как сервис.
sudo service dropbox start
Чтобы настроить автозапуск сервиса, введите команду:
sudo update-rc.d dropbox defaults
Клиент Dropbox запущен как сервис.
Установка командного интерфейса Dropbox
Dropbox предоставляет интерфейс командной строки (CLI), при помощи которого можно управлять настройками клиента Dropbox.
Чтобы загрузить интерфейс в домашний каталог, введите:
cd ~
curl -LO https://www.dropbox.com/download?dl=packages/dropbox.py
В домашнем каталоге появится файл dropbox.py. Сделайте его исполняемым:
chmod +x ~/dropbox.py
В домашнем каталоге нужно создать символьную ссылку .dropbox-dist, указывающую путь к установке Dropbox. Это важно, поскольку Dropbox CLI будет искать эту установку в ~/.dropbox-dist.
ln -s /opt/dropbox ~/.dropbox-dist
Запустите Dropbox CLI в домашнем каталоге:
~/dropbox.py
На экране появится базовая страница справки.
Использование Dropbox CLI
Имейте в виду: запуская командную строку без аргументов, вы получите справку по её использованию.
Чтобы проверить состояние Dropbox, используйте команду status:
~/dropbox.py status
Если файлы синхронизированы, на экране появится:
Up to date
Чтобы отключить функцию LAN sync, которая синхронизирует файлы в локальной сети, введите:
~/dropbox.py lansync n
Команда exclude позволяет задать файлы и каталоги, которые не нужно синхронизировать. К примеру, чтобы отключить синхронизацию каталога photos:
~/dropbox.py exclude add ~/Dropbox/photos
Чтобы просмотреть список каталогов, содержимое которых не синхронизируется, введите команду:
~/dropbox.py exclude list
Подключение дополнительных учётных записей Dropbox
К серверу можно подключить несколько аккаунтов Dropbox. Для каждого аккаунта Dropbox понадобится отдельный системный пользователь.
Примечание: Если вы не знаете, как добавлять системных пользователей в Ubuntu, следуйте инструкциям руководства «Добавление и удаление пользователей в Ubuntu 14.04».
Подготовив системного пользователя, перейдите в его сессию.
Запустите /opt/dropbox/dropboxd. Как и раньше, эта команда вернёт URL, при помощи которого можно подключить клиент Dropbox. Войдите в Dropbox как пользователь, которого нужно подключить к серверу. Посетите URL и нажмите connect.
После этого отредактируйте /etc/default/dropbox:
sudo nano /etc/default/dropbox
Добавьте нового системного пользователя в список пользователей Dropbox через пробел. Теперь директива DROPBOX_USERS выглядит так:
DROPBOX_USERS="8host new_user"
Сохраните и закройте файл.
Перезапустите Dropbox:
sudo service dropbox restart
Теперь вы можете подключить к серверу необходимое количество учётных записей Dropbox.
Примечание: Чтобы новый пользователь получил доступ к командной строке, повторите раздел «Установка командного интерфейса Dropbox».
Отключение учётной записи Dropbox
Чтобы отключить учётную запись, остановите сервис:
sudo service dropbox stop
Затем отредактируйте /etc/defaults/dropbox и удалите пользователя из списка.
После этого удалите каталог Dropbox данного пользователя.
sudo rm -r ~/new_user/Dropbox
После этого снова запустите клиент Dropbox:
sudo service dropbox start
Чтобы полностью ограничить доступ, откройте страницу Dropbox Account Security и удалите подключенные устройства.
Заключение
Теперь клиент Dropbox установлен и запущен как сервис, что позволяет вам хранить файлы в синхронизированном каталоге.