Облачное хранилище Seafile на Windows, Android и Linux
Как вам, если мы организуем на жёстком диске собственное облачное
хранилище с доступом к нему с различных клиентов: Windows, Android, MacOS,
Linux, iOS. При этом дисковые квоты не заданы (размер диска не ограничен) и
пользователи, могут загружать файлы без ограничений (размер файла не
ограничен). Не нужно платить за хранение
данных, как в Dropbox. А так же прямо с жёсткого диска своего компьютера,
сможем поделиться файлом с любым пользователем интернета.
Я понимаю, что есть Яндекс.Диск, MEGA, Облако Mail.ru и тому подобные
хранилища ваших данных. Но, установить своё облако и быть его администратором,
на мой взгляд, на много круче.
Но перед тем, как заняться ерундистикой, приглашаю приобщиться к высокому искусству и послушать лирическую музыку от Цифеi:
Уши размяли, посмотрим ролик "Установка облачного хранилища Seafile на Windows и Android":
Начинаем организовывать свой домашний сервер. Переходим на оф. проект Seafile. Нам нужен Server for Windows: https://www.seafile.com/en/download/
А по этой ссылке, мы скачаем и установим Python: https://manual.seafile.com/deploy_windows/download_and_setup_seafile_windows_server.html
Всё скачали. Первым устанавливаем Python. Потом создаём на диске (C:)
пустую папку, например, SeafileProgram. Извлекаем файлы из архива
seafile-server.tar.gz. После распаковки архива, открываем папку
seafile-server_6.0.7_win32. Видим там ещё одну папку seafile-server-6.0.7, вот
её и вставляем в папку SeafileProgram, что на диске (C:).
Я работал в Windows 8.1. В проводнике переходим на Этот компьютер -->
Свойства --> Дополнительные параметры системы --> Переменные среды -->
В окне "Системные переменные" тыкаем на Path --> Изменить...
--> В окне "Значение переменной" В начале строки пишем
C:\Python27; или в конце строки ;C:\Python27 (я поставил в начале строки)
--> Ok --> Ok --> Ok.
Переходим по пути C:\SeafileProgram\seafile-server-6.0.7 и запускаем от
имени админа, файл run.bat --> Выберем диск, на котором будет организованно
хранилище данных (Диск с пользовательскими файлами, например, D:) --> Next.
После этого Seafile Server неожиданно прекратил работу. Если у Вас
произойдёт, что-либо подобное, держим путь
C:\SeafileProgram\seafile-server-6.0.7\seafile\bin и заново запускаем
seafserv-applet.exe. После чего откроется несколько окон "Оповещение
системы безопасности Windows". Везде ставим галочки "Разрешить
доступ". И всё станет Гуд!
В трее, по значку Seafile Server нажимаем пр.кн.мыши --> Add an admin
account(A) --> Пишем адрес эл. почты и пароль --> Ok.
Открываем браузер и в адресной строке "печатаем" следующее:
http://localhost:8000
Заходим в свой аккаунт, прописав данные, которые только, что вводили.
Радуемся! Мы создали облачное хранилище на своём компьютере!
В ролике, что в начале поста, показана настройка сетевого экрана. Я
использую внутренние средства Windows, у Вас, возможно, будут другие
телодвижения. Брандмауэр Windows --> Дополнительные параметры --> Правила
для входящих подключений --> Создать правило --> Для порта --> Далее
--> В пустом окне пишем: 8000 --> Галочка "Разрешить
подключения" --> Далее --> Далее --> В окне Имя пишем:
Seafile8000 --> Готово. Тоже проделываем с портом 8082.
Снова переходим в Брандмауэр Windows --> Разрешение взаимодействия с
приложением или компонентом в брандмауэре Windows --> Поставьте галочки на
python и seaf-server. Там же, нажимаем кнопку "Разрешить другое
приложение" --> Обзор --> Идём по пути C:\SeafileProgram\seafile-server-6.0.7\seafile\bin\seafserv-applet.exe
--> Открыть --> Добавить --> Ставим галочку (там где Частная) -->
Ok.
Таким образом мы разрешаем обмен данными определённому приложению. С
сетевым экраном покончили.
В трее на Seafile Server
нажимаем пр.кн.мыши -->
Install as a windows service --> Ok --> Ok.
В трее на Seafile
Server нажимаем пр.кн.мыши --> Open
seafile-server folder(O) --> Начинаем редактировать конфигурационный файл. Открываем папку conf --> Открыть
файл ccnet.conf при помощи Notepad++ --> Нам нужно редактировать строку:
SERVICE_URL = http://127.0.0.1:8000.
Для этого открываем cmd и пишем ipconfig. Смотрим IPv4-адрес. У меня он
192.168.1.41. В файле ccnet.conf было SERVICE_URL = http://127.0.0.1:8000
--> Должно стать SERVICE_URL = http://192.168.1.41:8000. Сохраняем файл
ccnet.conf.
Рестарт сервера. В трее на Seafile Server нажимаем пр.кн.мыши -->
Restart Seafile Server(R) --> Да.
Открываем браузер и заходим под новым адресом: http://192.168.1.41:8000
В своём аккаунте занимаемся необходимыми настройками: добавляем
доверенного пользователя (если таковой есть, ибо он будет без проблем шаркаться
по вашим облакам), создаём новые папки, загружаем в них данные, расшариваем
директории для общего доступа и так далее. В ролике это отражено, не буду
засорять бумагу кляксами:). Рассказал всё, что качается локальной сети.
Что делаю, когда нахожусь в другой комнате, а не
рядом с включенным компьютером. Запускаю на своём смартфоне Seafile-клиент и
слушаю музыку, которую ранее загрузил в облака.
Для того чтобы на Android установить Seafile клиент, нужно найти значок
Play Маркет --> В поиске пишем seafile --> Начинаем установку приложения
Seafile --> Готово --> Открыть --> Добавить аккаунт --> Другой
Seafile сервер --> Прописываем локальный IP-адрес (мой случай):
http//192.168.1.41:8000 --> Email пишем свой (то есть, тот, что добавлен был
в друзья) --> Пароль --> Войти --> Разрешить --> Пользуемся данными
которые нам расшарили.
--------------------------------------------------
Теперь давайте сделаем так, чтобы любой файл, стал доступен по внешней ссылке. То есть, чтобы был доступ в интернет, для всех пользователей всемирной паутины. Заходим в свой аккаунт --> Управление системой --> Настройки --> Было:
SERVICE_URL
http://192.168.1.41:8000
FILE_SERVER_ROOT http://192.168.1.41:8082
Должно стать:
SERVICE_URL
http://85.124.178.34:8000
FILE_SERVER_ROOT http://85.124.178.34:8082
Что мы сделали? Набрали в поисковой машине браузера:
Мой IP-адрес. Заменили локальный на внешний ip-адрес. Не забываем при этом
нажимать на зелёные галочки и дождаться сообщения "Успех".
Обязательно заходим в свой роутер (маршрутизатор). Для этого я в
браузере набираю http://192.168.1.1 (у вас может быть http://192.168.0.1).
Ввожу имя пользователя и пароль. При чём пароль нужно не копировать из
шпаргалки, а набирать на клавиатуре, иначе вход будет заблокирован:).
Далее по настройкам роутера не могу сказать, что либо определённого, у
всех они от разных производителей. Я обычно "иду" --> Домашняя
сеть --> Серверы --> Пишу первый порт: 8000 --> IP-адрес сервера
ставлю: 192.168.1.41 --> Описание: Seafile8000 --> Доступ из интернета:
Разрешен всем --> Кнопка "Добавить". Точно такие действия со
вторым портом:8082.
Доступ к домашней сети из интернета успешно добавили. Выход из роутера.
И теперь в своём аккаунте добавляем общий доступ для определённого файла или папки.
Копируем ссылку и размещаем её на любом Интернет-ресурсе или отправляем по эл. почте.
Метод
немного устарел (хотя вполне рабочеспособный) и теперь нужно использовать установку на основе
Docker в качестве альтернативы, хотя это ещё и тестирование для Windows 10. Вот
инструкция: https://github.com/haiwen/seafile-docker#getting-started
Так, что у вас теперь две дороги, одна в Психиатрическую больницу, где
только кормят... другая дорога в Психоневрологический Диспансер, где только
выгуливают;).
Полезная информация: https://xakep.ru/2014/10/08/own-dropbox/ и https://howitmake.ru/blog/ubuntu/99.html
Seafile -
собственный аналог Dropbox на Linux
Создание собственного сервиса хранения данных под управлением Linux.
Первым делом узнайте свой внешний IP-адрес: https://2ip.ru/ и локальный:
sudo ifconfig | grep "inet addr" или ip addr show.
Если хотим на файл организовать внешнюю ссылку, начните с настройки
роутера. Как это сделать писал в предыдущей теме, да и в ролике это озвучено.
Установка Seafile Server: Первая команда в терминале во всех мануалах
выглядит следующим образом:
$ sudo apt-get install python2.7 python-setuptools python-simplejson python-imaging sqlite3
$ sudo apt-get install python2.7 python-setuptools python-simplejson python-imaging sqlite3
У меня Linux Mint 19.1 и пришлось применить для своей системы немного
другую команду:
$ sudo apt-get install python-setuptools python-simplejson sqlite3 python-pil
$ sudo apt-get install python-setuptools python-simplejson sqlite3 python-pil
Выбор за вами.
В домашнем каталоге создаём пустую директорию seafile:
$ mkdir seafile
Качаем с оф. проекта архив Server for generic Linux
https://www.seafile.com/en/download/ и распаковываем в папку seafile.
Далее я шёл по следующему пути:
/home/oleglav/seafile/seafile-server-6.3.4 и прямо в этом каталоге открыл
терминал. Запускаем инсталляцию:
$ ./setup-seafile.sh
1. По ходу придумаем адрес сервера: oleglavserver
2. ip or domain: А вот здесь думайте сами, если Вы будите использовать
только локальную сеть - пишем локальный ip-адрес машины. Если будите загружать
файлы в интернет и делиться ими в интернете с другими пользователями - пишем
внешний ip-адрес.
3. Далее нас попросят указать, где будут храниться данные, по умолчанию
это директория seafile-data, которая находиться внутри папки seafile - Нажал
Enter (согласился с настройками по умолчанию).
4. Рекомендованный порт сервера - ничего не меняем, нажимаем клавишу
ввода.
5. Ещё раз Enter.
Получаем сообщение если сервер находиться за брандмауэром, не забудьте
открыть эти порты TCP: 8000, 8082. На этом этапе ничего не делал, а вы решайте
сами.
Из терминала не выходим. Запускаем систему:
$ ./seafile.sh start
$ ./seahub.sh start
Пишем имя своего аккаунта: oleglav09@gmail.com
admin password: Пароль
Повторить пароль и всё!
Заходим в веб-интерфейс: http://IP-адрес:8000
Вбиваем данные которые мы только, что зарегестрировали. Далее настройка
аккаунта, всё озвучил в предыдущей теме, когда ставили Seafile на Windows.
Если Вам не совсем удобно пользоваться веб-интерфейсом, установите
Seafile-клиент:
$ sudo add-apt-repository
ppa:seafile/seafile-client
$ sudo apt-get update
$ sudo apt-get install
seafile-gui
Меню --> Интернет --> Seafile --> Запускаем.
Заполняем данные в клиенте:
http://IP-адрес:8000
Имя: эл.адрес почты
Пароль: пароль
Нажимаем кнопку "Логин".
Подводим итоги: мы организовали локальную сеть между совершенно разными
клиентами. Всё, что вы закинете в облачное хранилище будет автоматически
синхронизироваться на дисках других подключенных в сеть устройствах. А так же
можем создать внешнюю ссылку, хотя файл находится на жёстком диске компьютера.
Другие похожие сервисы: Nextcloud — набор клиент-серверных программ для
создания и использования облачного хранилища. По функционалу похож на Dropbox.
Nextcloud можно установить на физический сервер.
ownCloud — это свободное и открытое веб-приложение для синхронизации
данных, общего доступа к файлам и удалённого хранения документов в «облаке».