Бюджетное облачное хранилище на облачном хостинге за полчаса

Я работаю в компании, оказывающей услуги для бизнеса.
Часто бывает, что нужно принять от заказчика или передать ему файл большого размера.
Наши менеджеры не сильно искушены технически, поэтому обычно они пытаются вложить в сообщения электронной почты абсолютно всё. С файлами размером более 10-15 МБ это, разумеется, не проходит.

В этом посте я кратко описал простое бюджетное решение этой проблемы. Оно может быть интересно тем, кто находится в ситуации, аналогичной моей, и при этом не знает, с какой стороны подойти к Linux.

Итак, вопрос: как передавать больше файлы на расстоянии?

У технически продвинутого заказчика может быть корпоративная система управления проектами со встроенным средством файлооборота, работающая в браузере. Если она есть, мы используем для обмена файлами ее. Если нет, используем либо наш ftp-сервер, либо ftp-сервер заказчика.

В случае с веб-системами все более-менее просто, тут и говорить не о чем. Общение с ftp-сервером для некоторых заказчиков (которые технически еще менее продвинуты, чем наши сотрудники) превращается в непроходимый квест.

Чаще всего затруднения связаны с попытками работать с ftp-сервером через браузер:

  • не получается зайти на сервер
  • не получается загрузить файл на маленькой скорости (ошибка тайм-аута случается быстрее, чем завершается загрузка)
  • не получается отправить (upload) файл

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

Поэтому у нас назрела потребность в каком-то средстве передачи файлов, удовлетворяющем следующим условиям:

  1. Чтобы работало в браузере и не требовало обязательной установки клиентских программ.
  2. Чтобы было просто в использовании (щелкнул ссылку в письме, по ней начал загружаться файл или открылась страница, с которой можно загрузить файл из хранилища или отправить в хранилище).
  3. Чтобы было бюджетно (по этой причине не подошли корпоративный Dropbox и Google Apps for Business).
  4. Чтобы было конфиденциально (хранение данных на своем или арендованном сервере).

Я регулярно читаю ленту лучших постов на хабре, интересуюсь облачными хранилищами и хостингами, поэтому у меня сходу возник сценарий «OwnCloud на VPS Digital Ocean«. Про OwnCloud на хабре написано много, про Digital Ocean я тоже узнал на хабре и решил при первом удобном случае опробовать его в деле.

Заодно решил в очередной раз проверить, насколько я совместим с Linux. До этого несколько раз устанавливал из любопытства Ubuntu, Linux Mint и т.п. с GUI, но сразу или почти сразу сталкивался с проблемами, которые были несовместимы с дальнейшей регулярной эксплуатацией ОС и которые не удавалось решить за разумное время.

1. Регистрация на Digital Ocean заняла минут 10. За это время я, собственно, зарегистрировался, нашел в гугле купон на $10, добавил своих $5 через PayPal, создал самый дешевый виртуальный сервер (Droplet) на Ubuntu 12.04 и добавил его адрес в DNS.
c42e2b2b172c85423828c0697bea44d6

2. Минут 20 заняла установка OwnCloud через SSH по инструкции от Digital Ocean. Весь путь прошел два раза, т.к. в первый раз установил OwnCloud на Ubuntu + LAMP stack, после чего затупил и искал OwnCloud в корне веб-сервера. Разумеется, не нашел и решил, что что-то там не сложилось с Apache. Переустановил еще раз, заметил, что к URL сервера нужно добавить папку /OwnCloud/, и уж по этому-то адресу все открылось.
a395de104038068c5396db38917b286a

3. Ну вот, все работает. Можно даже папки и файлы кириллицей называть (да, это дурной тон, но менеджеры и заказчики будут передавать файлы с кириллическими именами, так что хорошо, что это не вызывает проблем).
9c4e2150ea4717022b5fb40cda155e4e

4. Потом до кучи установил wsftpd, чтобы можно было использовать этот же сервер в качестве FTP, после чего освоил SSH и редактор vi, когда подкручивал конфиг wsftpd. Вспомнил времена MS-DOS, BBS, FIDO и текстовых конфигов ;-)

5. По тестам для меня (в Мск) самым быстрым по скорости отправки/загрузки файлов оказался их дата-центр в Амстердаме (от 3 до 6 МБит/c), но там у них нет свободных мощностей и создать новую виртуальную машину нельзя. А вторым по скорости (от 1 до 4 МБит/c) оказался New York 2 — его они предлагают использовать по умолчанию, так что сервер был создан там. Там же я решил его и оставить. Хотя в принципе есть интересная возможность остановить машину, отправить ее образ в облако и запустить в другом дата-центре Digital Ocean, но пока смысла менять ДЦ я не вижу.

Решение было протестировано на менеджерах в течение нескольких дней и признано годным. По существу на этом все.

Я знаю, что на хабр пишут в основном очень технически продвинутые люди, и при прочтении некоторых постов я иcкренне восхищаюсь умственными и креативными (от слова «создавать») способностями этих людей.

Вместе с тем мне очень приятно, когда что-то вот такое вроде бы сложное (для меня) по факту оказывается достижимым. Поэтому цель данного поста — подтвердить, что мир Linux и Open Source становится определенно доступнее для неподготовленных людей.