После раздачи паков студентам Github’ом решил использовать 100 баксов в Digitalocean со смыслом, а точнее в качестве облачного хранилища — качалки всяких мелочей. Памяти, конечно, в дроплетах не так уж и много, (20 — 40 гБ в бюджетных вариантах), но они на то и мелочи, что весят немного. В качестве образа был выбран привычный Ubuntu 14.04 x32, в качестве качалки был избран transmission с его удобной веб-мордой, а как способ шаринга данных был взят apache2 с webdav. Получился Яндекс.Диск на стероидах (ssd, торрент, качающий напрямую в диск, возможности настроить больше плюшек), но с меньшим объемом жесткого диска.
Для начала был создан дроплет с голой системой. Следом к нему был получен доступ по ssh и установлены нужные программы.
sudo apt-get update
sudo apt-get install apache2 transmission-daemon
Следом была создана папка, которая и будет хранить данные:
mkdir /webdav
Далее все проходило в 2 этапа: настройка apache2 и настройка transmission.
Настройка apache2 проходила следующим образом:
Сначала были активированы за bash модули apache, связанные с webdav:
sudo a2enmod dav
sudo a2enmod dav_fs
Затем в файл /etc/apache2/sites-enabled/000-defaut.conf я записал следующее содержимое:
<VirtualHost *>
Alias /webdav /webdav
<Location /webdav>
DAV On
Allow from all
Satisfy any
</Location>
</VirtualHost>
В конце настройки apache был перезагружен:
sudo service apache2 restart
Следом был настроен transmission, в нем нужно было выключить whitelist IP адресов и поменять логин-пароль пользователей веб-морды, а так же выставить папку зарузок — /webdav (та папка, что мы создали ранее и указали в apache). Проблема возникла в том, что при редактировании конфигурации transmission-daemon данные конфигов не сохранялись. Проблема объяснялась в /etc/transmission-daemon/README.json — при выходе конфигурационные файлы перезаписывались, поэтому сначала нужно было остановить демона, затем отредактировать конфиг, затем запустить демона.
sudo service transmission-daemon stop
Строчки файла .config/transmission-daemon/settings.json, в которые были внесены изменения:
"rpc-authentication-required": true,
"rpc-whitelist-enabled": false,
"rpc-username": "<username>",
"rpc-password": "<password>",
"download-dir": "/webdav",
Затем был запущен демон:
sudo service transmission-daemon start
Всё! Сервер запущен, веб-морда доступна по порту 9091 (можно изменить в settings.json).
Дальнейшие операции по монтированию папки различались на различных системах, но в целом это было что-то вроде
mount_webdav http://<ip>/webdav /mount/<dir>
Скорость дроплета я не измерял, но 500 МБ архив был скачан за пару минут, которые я наливал кофе.
Автор: Makapoxa