IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [220]
    Безопасность IT [484]
    Блоки питания, Power Banks, зарядки... [490]
    Видеорегистраторы [220]
    Гаджеты для спорта и здоровья... [190]
    Гаджеты, аксессуары... [625]
    Измерительная техника, инструменты [449]
    Накопители данных [226]
    Нетбуки, Ноутбуки, Ультрабуки [680]
    Мультиварки, блендеры и не только... [158]
    Планшеты [758]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [357]
    Сети, сетевые технологии, оборудование... [269]
    Смартфоны [4966]
    Фотокамеры, объективы, искусство фотографии.. [543]
    Умный дом [47]
    Электронные книги [96]
    CB, LPD, PMR- связь... [171]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [4380]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1113]
    Smart TV, UltraHD, приставки, проекторы... [414]
    Smart Watch [263]
    Sound: наушники, плееры, усилители... [616]
    Windows 10... [298]
    Windows 11 [28]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1340
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2018 » Апрель » 5 » Вечный фотоархив для дома
    14:28
    Вечный фотоархив для дома

    Вечный фотоархив для дома

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

     

    image

     

    Теория

     

    Ресурс работы SSD накопителя теоретически не ограничен, если не превышать количество циклов перезаписи в ячейку.

     

    Задача

     

    Сделать систему хранения и просмотра домашнего фотоархива с любого устройства в доме,
    и убрать подальше на ближайшие 10 или 20 лет. При этом иметь возможность залить и посмотреть фотки с любого устройства подключенного к internet не использую публичные сервисы хранения и не устанавливая дополнительного клиентского ПО.

     

    Выбор железок дело субъективное, но для себя сформулировал требование к малому формфактору. Кроме того все что скрыто от глаз в квартире, как правило лежит в пожароопасном месте, по этому хотелось питание в по USB, и минимум проводов.

     

    В итоге закупил в известном китайском магазине набор Raspberry Pi 3b(малинка) — 2000р, алюминиевую коробочку usb-sata 2.5" — 500р, в обычном магазине SSD 240G 4100р. SD карточка на 64gb и тюбик древней КПТ-8 нашлись в ящике стола.

     

    Неведомо почему, но у нас диск SSD убранный в коробочку usb-sata стоит на 80% дороже чем по отдельности.

     

    Сборка миникомпьютера Raspberry Pi

     

    Увлекательный конструктор, требует внимания и немного места на столе. Обязательный инструмент только крестовая отвёртка. Скачал Ubuntu MATE и Win32 Disk Imager с сайта Raspberry, записал на SD карточку образ системы. Ничего увлекательного, только кнопку Ок нажимать. Немного доработал радиаторы которые шли в комплекте с малинкой. Срезал скальпелем часть двустороннего скотча и намазал КПТ-8, затем аккуратно снял пинцетом защитную бумагу с оставшегося двухстороннего скотча и приклеил на свои места.

     

    Подключил к телевизору, стал ставить систему и смотреть какой ток потребляет Raspberry Pi.
    Потребление тока Raspberry Pi 3b не больше 0.8A.

     

    Потребление коробочки usb-sata c SSD диском внутри в покое 0.1А в работе не больше 0.36А
    После установки Ubuntu MATE, попробовал запустить на Raspberry видео. Быстро понял что жизнь не удалась. И вообще система в сборе была похожа на уличную кошку, к хвосту которой какие-то хулиганы привязали консервную банку.

     

    Открыл на малинке SSH и отнёс всю конструкцию на антресоль.

     
    sudo apt install openssh-server
    sudo systemctl enable sshd
     
    sudo ufw allow 22
     
    ssh -X пользователь@ip_адрес_ Raspberry_Pi
     

    Порт SSH открыть сразу не получилось. Управление фаерволом через программу gui не сработало, по этому использовал UFW.

     

    Подключил всю систему к роутеру MTS RV6699. Питание по USB, данные по проводной сети. До этого мерил ток который RV6699 отдаёт на USB порт. USB на RV6699 спокойно отдаёт 1.5A и вся система завелась без проблем. Но на всякий случай выключил на малинке интерфейс Wifi.

     
    ifconfig wlan0 down
     

    Подключил usb диск. Устройство система увидела, но не смонтировала файловые системы. Исходя из желания даже в неясном будущем не привлекаться к процессу просмотра семейных фоток, диск заранее отформатировал в NTFS.

     

    создал нового пользователя с именем user

     
    adduser user
     

    сделал папку Photo для подключения диска в домашней папке нового пользователя /home/user/

     
    mkdir Photo
     

    Посмотрел UUID раздела на usb диске.

     
    sudo blkid
     

    Смонтировал раздел в папку /home/user/Photo/, дописав в конец файла /etc/fstab строчку

     
    UUID="7C26EDB626ED7216" /home/user/Photo/ ntfs rw,nls=utf8,gid=plugdev,umask=0000 0 0
     

    На маршрутизаторе от МГТС RV6699 зафиксировал ip адрес малинки.

     
    Настройка > LAN > Основные параметры 
     

    Перезагрузил систему, проверил что всё запускается как надо.

     

    Выбор интерфейса для загрузки и просмотра файлов в архиве

     

    Ясно что доступ должен быть через броузер, без дополнительных надстроек и плагинов. Желательно быстрый и модный. Модный, чтобы кубики на которых собран интерфейс дольше не протухали. Ещё очень хотелось возможность просматривать и редактировать файлы прямо в броузере.

     

    В итоге выбрал Cloud Commander. Быстрый, можно смотреть фотки в броузере, написан на node.js.

     

    Установка

     

    Просто Node.js поставить мало, у неё есть свой инсталятор для программ, который нужно поставить дополнительно.
    Сначала ставим Node.js

     
    sudo apt-get install nodejs
     

    и установщик программ для неё

     
    sudo apt-get install npm
     

    Затем запускаем установку самого Cloud commander c помощью инсталятора npm. Установка тоже просит root прав.

     
    sudo npm i cloudcmd -g
     

    Запускаем Cloud commander

     
    cloudcmd
     

    Фиг там, не работает. Гуглим где проблема. В итоге:

     
    sudo ln -s /usr/bin/nodejs /usr/bin/node
     

    и снова..

     
    $ cloudcmd
    url: http://localhost:8000/
     

    Ура работает!

     

    Правим конфиг Cloud commander в папке /usr/local/lib/node_modules/cloudcmd/json/config.json
    меняем параметр root, для того чтобы сразу открывался USB диск приделанный к папке /home/user/Photo/

     
    "root": "/home/user/Photo/" 
     

    Осталось открыть порт для доступа и настроить автозапуск.

     

    Открываем порт для доступа.

     
    sudo ufw allow 8000
     

    Настраиваем автозапуск.

     

    Создаём текстовый файл cloudcmdstart в /usr/sbin/local, чтобы использовать его для запуска Cloud commander.

     
     > cloudcmdstart
    
    mcedit cloudcmdstart
     

    Пишем текст в cloudcmdstart

     
    #!/bin/sh
    
    sudo -u user cloudcmd --root /home/user/Photo 
     

    Копируем в /usr/sbin

     
    sudo cp cloudcmdstart /usr/sbin/
     

    сообщаем системе что файл cloudcmdstart можно запускать.

     
    sudo chmod +x /usr/sbin/cloudcmdstart
     

    После этого добавляем его в автозапуск при старте. Открываем файл /etc/rc.local

     
    sudo mcedit /etc/rc.local
     

    добавляем предпоследнюю строку.

     
    /usr/sbin/cloudcmdwin
     

    Сохраняем F2, выходим из редактора F10, перезагружаемся .

     
    sudo reboot
     

    Если всё ок, после перезгрузки открываем на телефоне подключенном к квартирному Wifi адрес.

     
    http://ip_вашей_RaspberryPi:8000
     

    Залил фоток с компа для проверки, скорость копирования файлов около 4мб (32мбит) в секунду, узкое место коробочка usb-sata.

     

    Возможные проблемы в процессе

     
    1. USB диск только для чтения — проверьте маску в записи диска в файле fstab, должны быть все нули.
    2. apt-get install пишет ошибки — обновите систему из командной строки (примерно 1.5. часа) и не забудьте перед командой писать sudo
    3. утомляют древние тестовые радакторы — подключитесь ssh -X user@малинка, затем вызовите sudo gedit путь_к_файлу.
    4. Веб интерфейс не всегда удобен — https://winscp.net
     

    Если доступ к архиву нужен только из дома, то на этом всё.

     

    Если хочется пользоваться архивом везде, то читайте дальше — будет немного BDSM.

     

    В Cloud commander нет возможности включить доступ по HTTPS по этому начинаем готовить костыли.

     

    Первым делом создаём самодельный сертификат и ставим веб сервер Nginx.

     

    Сертификаты это хитросделанные текстовые файлики которые нужны чтобы зашифровать трафик между вами и устройством.

     

    Как сделать самому такой файлик чтобы не платить ежегодно разным Thawte и прочим VeriSign пошагово написано тут.

     

    С самодельным сертификатом броузер будет ругаться и краснеть, но соединение зашифрует.

     

    image

     

    Всё необходимое для создания самодельного сертификата в Ubuntu MATE уже установлено.

     
    sudo apt-get install nginx
     

    Nginx устанавливается /etc/nginx, нам надо отредактировать его конфиг nginx.conf для включения запроса пароля при доступе к Cloud Commander.

     
    sudo gedit /etc/nginx/nginx.conf 
     

    В разделе http{ } добавляем строчки для включения проверки пароля и показываем путь к файлу с паролями htpasswd

     
    http {
     .......................
    
     auth_basic "closed site";
     auth_basic_user_file /home/user/htpasswd;
    
     }
    
     

    Создадим файл с паролями для входа через Nginx

     
    > htpasswd
     

    Генерируем пароли с помощью формы на сайте http://seriyps.ru/crypt/htpasswd/ копируем в файл каждый аккаунт с новой строки.

     

    Создаём файл с конфигурацией нашего нового сайта для защищенного доступа к Cloud commander и кладём его в папку /etc/nginx/sites-available

     
    > cloudcmdsite.conf
    gedit cloudcmdsite.conf
    sudo cp cloudcmdsite.conf /etc/nginx/sites-enabled
     

    содержимое файла cloudcmdsite.conf

     
    server {
     listen 443;
     client_max_body_size 712m;
     ssl on;
     ssl_certificate /home/user/ssl/server.crt;
     ssl_certificate_key /home/user/ssl/server.pem;
     server_name malinka.io;
     access_log /var/log/nginx/malinka.access.log;
     location / {
    
     proxy_pass http://127.0.0.1:8000;
    
     }
    
    }
    
     

    В этом конфиге:
    ssl_certificate /home/user/ssl/server.crt; -ваш публичный файлик сертификата
    ssl_certificate_key /home/user/ssl/server.pem;- ваш секретный ключ от сертификата

     

    проверяем что всё получилось.

     
    sudo nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
     

    Теперь надо настроить Cloud commander т.к. он из коробки работает от пользователя root.

     
     gedit /usr/local/lib/node_modules/cloudcmd/json/config.json
     

    В файле меняем значение в строках:

     
    "username": "user"
     "password": "шифр пароля пользователя user созданный в http://md5decrypt.net/en/Sha512/"
     "console": false
     

    сохраняем.

     

    открываем порт 443 на фаерволе.

     
    sudo ufw allow 443
     

    перезагружаем малинку

     
     sudo reboot
     

    Пробрасываем порт на роутере RV6699

     
     > Настройка > NAT > Port Mapping
     

    затем с телефона подключенного к Wifi заходим на https://ваш_внешний_ip: порт

     

    Должен быть запрошен логин и пароль из файла htpasswd.

     

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

     

    Почему это лучше чем готовый NAS?

     

    Это дешевле. У меня появилась уверенность что система будет работать без активного охлаждения, и не сдохнет от перегрева когда подойдёт время копеечного китайского вентилятора. Возможность не просто заливать файлы с телефона, а просматривать их сразу в броузере. Cоздавать тестовые файлы и редактировать их. По моим ощущения работает быстрее чем диск google, но это моё субъективное мнение.

     

    Что ещё можно сделать?

     

    Прикрутить авторизацию на Nginx c использованием сертификатов, но пока не понял зачем.

     

    Категория: Linux и не только | Просмотров: 310 | Добавил: laptop | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    «  Апрель 2018  »
    ПнВтСрЧтПтСбВс
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    30
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024