Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • AlexKud AlexKud 26 постов
  • StariiZoldatt StariiZoldatt 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Nextcloud

21 пост сначала свежее
22
unet1x
5 лет назад

Свое облако на одноплатном компьютере Banana pi W2 (Nextcloud+Nginx+mdadm)⁠⁠

Мой первый пост, прошу сильно не пинать =)

Предыстория

Когда-то в мои руки попал старенький HP Microserver N36L, и я не придумал ничего лучше, как запилить туда Nextcloud c ONLYOFFICE в связке через docker. Раз корзина большая — добавил торрентокачалку и PLEX

микросервер имеет всего 2 вентиля (один 120 мм на выдув горячего воздуха от дисков и один махонький в блоке питания) но все равно донимал тем, что в комнате, где он стоит — спать невозможно. Да и энергии он все же поджирал, что заставляло задуматься о его целеообразности, если учесть цены на терабайт облачного хранилища в 2018 году. Правда после того, как известный надоедливый желтый поисковик заблокировал мне учетку с диском, деньгами и прочим и требовал фотку паспорта в обмен на данные — я понял, что личное облако все же необходимо.

В двух словах для тех, кто не знает, что такое Nextcloud - это бесплатное облачное хранилище на своем сервере, аналогичное дискам от гугла и яндекса, с возможностью просмотра фото, видео, pdf, опционально - онлайн-редактированием документов, с возможностью видеозвонков между пользователями, хранение контактов, событий календаря и многое-многое другое. Так же имеется мобильное приложение, которое умеет автоматически скидывать все сделанные фотки с телефона сразу на сервер. Так же всем этим добром можно делиться не только с пользователями сервера, но и по ссылке, все как во взрослых платных облачных хранилищах.

В тот момент я уже слышал о малинке и об аналогах, но меня смущала скорость работы данных устройств в качестве хранилища.

Хотелось устройство с пассивным охлаждением, малым потреблением, наличием emmc, в идеале двух sata, ну или на край usb 3.0. гигабитную сетку, чтобы все быстро летало по локалке

Ежемесячно сканируя список аналогов малинки я наткнулся на основу для своего будущего минисервера — Bananapi W2

Свое облако на одноплатном компьютере Banana pi W2 (Nextcloud+Nginx+mdadm) Nextcloud, Arm, Banana Pi, Одноплатный компьютер, Длиннопост

Краткие характеристики:

Realtek RTD1296, Quad-core ARM Cortex-A53

2G DDR4 SDRAM

8G eMMC flash

2 port 10/100/1000 Mb Ethernet port

support 2 SATA III interface

M.2 KEY B

Бинго! - подумал я, и отключив мозг сразу же заказал в известном китайском магазине.

Сразу же заказал еще 2 удлинителя для sata

Спустя месяц комплект пришел ко мне и я сразу же начал с ним ковыряться. И началось….

Недостатки решения одноплатника

Сразу опишу те минусы, с которыми мне пришлось столкнуться:

1. Отсутствие корпуса. Сначала плата жила просто в родной коробке, в которой были вырезаны отверстия для вентиляции и под разъемы, сейчас плата в франкенкорпусе из металлических пластин с резиновыми проставками для гашения вибраций дисков

2. Отсутствие поддержки производителя — сопровождения нет, мертвый продукт без выпуска новых систем. Обидно, но для меня не смертельно. Потратил много времени и сил. Что и сподвигло на написание данной статьи, может кому то поможет. В итоге, по данной инструкции  все сделать можно очень быстро, о чем ниже

3. Как следствие от предыдущего — отсутствие аксессуаров (того же корпуса — 1 вид и все)

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

Проблему с охлаждением это решило, радиатор был просто положен сверху на процессор, что уменьшило температуру в простое до 56 градусов, термопрокладка еще едет

В качестве питания изначально использовал блок 12 V/2А, позже пришлось заменить на 12v/5A, чтобы запитать 2 жестких диска 3.5

Дальше стандартными методами был развернут оригинальный образ с сайта производителя на флешку, флешка вставлена в плату и началось знакомство. Первым делом при установке докера падал apt. просто все зависало на настройке docker-ce и все, больше ничего сделать нельзя. Перепробовал все linux-образы — одна фигня. Пока искал решение — наткнулся на следующую проблему — mdadm тоже не работает!

Ответ я нашел на сайте 4pda – в ядре просто нет поддержки рейда и даже дано объяснение, как собрать свое собственное ядро.

Долго ковырялся, в итоге все сделал и пишу теперь этот сумбурный мануал.

Итого, как запилить Nextcloud на Banana pi W2

1. Готовим образ

2. Собираем RAID 1

3. Ставим Nginx+Mysql+php-fpm

4. Ставим Nextcloud

5. Покупаем домен и ставим сертификат SSL

6. Немного напильника

Выглядит немного жутковато, но на деле займет минут 20, учитывая, что первый шаг можно пропустить.

1. Подготовка образа

(Для тех, кто торопится или просто не хочет во все это вникать — собранный образ внизу пункта)

Для сборки образа нам потребуется отдельный пк с линуксом, или виртуальная машина. В моем случае это был отдельный системник с ubuntu 18.04

Некоторые команды потребуют sudo, но раз вы не пролистали в конец пункта за готовым образом — то вы, наверное, уже знаете, что такое sudo. Я, как чайник, ввел sudo -s и дальше выполнял все от рута

Чтобы в процессе сборки ядра не возникали ошибки — необходимо подготовить систему (может не понадобится, но на ubuntu 18.04 возникали ошибки)

apt install build-essential
apt install libncurses5-dev libncursesw5-dev

Далее ставим необходимые для сборки программы

apt-get install git pv bc

После

git clone git://github.com/BPI-SINOVOIP/BPI-W2-bsp
cd BPI-W2-bsp
./build.sh

Появляется меню, тут выбираем пункт 4

Свое облако на одноплатном компьютере Banana pi W2 (Nextcloud+Nginx+mdadm) Nextcloud, Arm, Banana Pi, Одноплатный компьютер, Длиннопост
Свое облако на одноплатном компьютере Banana pi W2 (Nextcloud+Nginx+mdadm) Nextcloud, Arm, Banana Pi, Одноплатный компьютер, Длиннопост

Появляется подобное меню

Нажимаем «/» для поиска, набираем RAID, смотрим результат. Видим, что нужный нам пункт находится по пути Device Drivers – Multiple devices driver support

Нажимаем Exit, проходим по данному пути

Убеждаемся, что RAID Support стоит звездочка. Если нет — на данном пункте нажимаем пробел, пока не появится *

Убираем звездочку с пункта Autodetect RAID arrays during kernel boot – с ней возникают проблемы, работает криво и требует создания массива с метадата 0.90, а текущая версия 1.2. Обойдемся без нее.

Дальше стрелкой вправо перемещаемся на exit и выходим из меню конфигурации, соглашаясь на сохранение конфигурации. Снова запускаем ./build.sh, и выбираем пункт 1

Идем пить чай, минут 10 у вас есть, в зависимости от мощности используемого пк.

После окончания в папке пользователя появляется папка SD, содержимое которой нам и требуется.

Берем SD флешку на 8 гб, заливаем туда образ ubuntu 16.04 с офсайта

Далее подключаем через карт-ридер к компу, где у нас лежит готовая папка SD

Из подпапок BPI-BOOT и BPI-ROOT все файлы перекидываем на нашу SD флешку в те же папки.

SD-карта готова к использованию.

Но в дальнейшем лучше этот образ загнать в emmc, тогда работать будет гораздо быстрее

Пока вставляем карту в плату, запускаем и убеждаемся, что все работает

логин pi, пароль bananapi

делаем sudo apt update && sudo apt upgrade -y

Запросит пароль — bananapi

ждем, пока система обновится

После вытаскиваем карточку, возвращаем в картридер. С помощью lsblk смотрим, как называется устройство с нашей SD картой. В моем случае это /dev/mmcblk0

Вводим команду dd if=/dev/mmcblk0 of=ubuntu_16.04_with_raid.img

Идем пить чай, команда выполняется долго и прогресс свой никак не показывает

После выполнения команды в текущей папке появляется файл ubuntu_16.04_with_raid.img, который мы копируем на какую-нибудь usb, его мы теперь будем раскатывать в память emmc и в будущем он нам может еще пригодиться.

Для тех, кому не хочется все это делать, может связаться со мной и я поделюсь

2. Собираем RAID 1

apt-get install mdadm -y
mdadm --zero-superblock /dev/sataa /dev/satab -f
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sataa1 /dev/satab1
mdadm --detail --scan | tee -a /etc/mdadm/mdadm.conf

смотрим uuid массива, он нам пригодится в будущем

cat /etc/mdadm/mdadm.conf

В самом низу находим UUID= и копируем все, что за ним

создаем файловую систему

mkfs.ext4 /dev/md0

Далее создаем папку, в которую будет монтироваться массив, например /datacloud

mkdir /datacloud

и монтируем массив в данную папку

mount /dev/mdo /datacloud

А пока добавляю в файл /etc/rc.local две строки непосредственно перед exit 0:

mdadm --assemble /dev/md0 --uuid <uuid>

mount /dev/md0 /datacloud

вместо <uuid> вставляем то, что скопировали ранее из mdadm.conf

Перезагружаемся и проверяем, что наш массив смонтировался

Ставим Nginx+Mysql+php-fpm

apt install nginx
systemctl enable nginx
systemctl start nginx

Далее устанавливаем PHP-FPM и остальные необходимые модули - в репозиториях ubuntu только версия 7.2, актуальная версия 7.3:

add-apt-repository ppa:ondrej/php
apt update
apt install php7.3-fpm
apt install php7.3-mysql php7.3 php7.3-curl php7.3-gd php7.3-json php7.3-mbstring php7.3-common php7.3-xml php7.3-zip php7.3-opcache php-apcu php-imagick php7.3-intl

Устанавливаем Mysql

apt install mysql-server

mysql_secure_installation

отказываемся от проверки паролей, задаем пароль root пользователя, отвечаем "Y", два раза вводим пароль, на остальные вопросы отвечаем "Y".

Set root password? [Y/n] y
New password:
... Success!
Remove anonymous users? [Y/n] y
... Success!
Disallow root login remotely? [Y/n] y
... Success!
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
... Success!

Создаем базу данных для Nextcloud:

mysql -u root -p

Вводим пароль, который только что создали

Вводим данные ниже, не забываем ‘nextclouduser’ 'password' - сменить на свои данные и не забываем их, они нам понадобятся.

CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Ставим Nextcloud

Идем в папку, куда будем качать nextcloud

cd /var/www/html/

Скачиваем Nextcloud c официального сайта, копируем адрес ссылки на zip архив:

wget https://download.nextcloud.com/server/releases/nextcloud-18....

распаковываем архив

unzip nextcloud-18.0.4.zip (если не срабатывает — ставим zip - apt install zip и повторяем)
меняем владельца папки
chown -R www-data:www-data nextcloud/

Не забываем удалить архив

rm nextcloud-18.0.4.zip

Покупаем домен и ставим сертификат SSL

Сначала мы отредактируем файл nginx.conf

nano nginx.conf
#Пользователь, от которого будет работать php-fpm
user www-data;
#Число ядер процессора
worker_processes 2;
worker_cpu_affinity auto;
include /etc/nginx/modules-enabled/*.conf;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

Следом необходимо приобрести доменное имя. Инструкций об этом полно в интернете, как и регистраторов, поэтому тут я заострять внимания не буду. Так же можно сделать бесплатный домен 3 уровня, для поиграться, но настоятельно рекомендую купить свой, благо домен в зоне .ru стоит 200 рублей в год

Предположим, что у вас есть домен cloud.mydomain.ru, и он уже направлен на ваш ip

создаем конфиг для Nextcloud:

nano /etc/nginx/sites-avaiable/nextcloud.conf

cloud.mydomain.ru необходимо заменить на свои значения

upstream php-handler {
server 127.0.0.1:9000;
# server unix:/var/run/php/php7.3-fpm.sock;
}
server {
listen 80;
listen [::]:80;
server_name cloud.mydomain.ru;
# принудительное использование https
return 301 https://$server_name:443$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name cloud.mydomain.ru;
# ПРИМЕЧАНИЕ: некоторые настройки ниже могут быть избыточными
# Удалить X-Powered-By, который является утечкой информации
fastcgi_hide_header X-Powered-By;
# Путь к корню вашей инсталляции
root /var/www/html/nextcloud;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# Следующие 2 правила нужны только для приложения user_webfinger.
# Раскомментируйте, если вы планируете использовать это приложение.
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
# Следующее правило необходимо только для приложения Social.
# Раскомментируйте, если вы планируете использовать это приложение.
#rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
location = /.well-known/carddav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
# установить максимальный размер загрузки
client_max_body_size 512M;
fastcgi_buffers 64 4K;
# Включите gzip, но не удаляйте заголовки ETag
gzip on;
gzip_vary on;
gzip_comp_level 4;
gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json
application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json
application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard
text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
location / {
rewrite ^ /index.php;
}
location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ {
deny all;
}
location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) {
deny all;
}
location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) {
fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
# Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
# Enable pretty urls
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) {
try_files $uri/ =404;
index index.php;
}
# Добавление заголовка управления кэшем для JS, CSS и карта файлов
# Убедитесь , что это НИЖЕ PHP блок
location ~ \.(?:css|js|woff2?|svg|gif|map)$ {
try_files $uri /index.php$request_uri;
add_header Cache-Control "public, max-age=15778463";
# Необязательно: не регистрировать доступ к ресурсам
access_log off;
}
location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
try_files $uri /index.php$request_uri;
# Необязательно: не регистрировать доступ к другим ресурсам
access_log off;
}
}

Сохраняем (ctrl+o) и выходим (ctrl+x)

Включаем наш хост

ln -s /etc/nginx/sites-available/nextcloud.conf /etc/nginx/sites-enabled/nextcloud.conf

Делаем сертификат через Let’s Encrypt

Устанавливаем certbot

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx

теперь делаем сертификат

sudo certbot --nginx

Сертификат готов!

Немного напильника

Понадобится отредактировать так же конфигурацию PHP-FPM:

nano /etc/php/7.3/fpm/pool.d/www.conf

Закомментируем строку :

;listen = /run/php/php7.3-fpm.sock

Добавим вместо нее:

listen = 127.0.0.1:9000

Проверяем строки:

listen.owner = www-data
listen.group = www-data

проверяем конфигурацию

nginx -t

Если все хорошо — перезапускаем nginx

service nginx restart

Переходим по адресу нашей бананки, там нас уже приветствует Nextcloud

Заполняем логин администратора и пароль. Я лично этой учетной записью пользуюсь только для настройки, а постоянно использую другую учетную запись

Указываем, где будут храниться данные

/datacloud

Ниже указываем данные. Которые указывали, когда ставили Mysql

nextclouduser

password

nextcloud

localhost

Нажимаем «Завершить настройку»

Переходим в настройки и проверяем ошибки

1. Исправление ошибки php-fpm getenv("PATH")

nano /etc/php/7.3/fpm/pool.d/www.conf

Необходимо раскомментировать строки:

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
systemctl restart php7.3-fpm

2. Разрешённое PHP максимальное значение использования памяти ниже рекомендуемого значения в 512 МБ

nano /etc/php/7.3/fpm/php.ini
upload_max_filesize = 3500M
memory_limit = 512M

systemctl restart php7.3-fpm

3. Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробная информация доступна в документации.

nano /var/www/html/nextcloud/config/config.php

Добавляем в конце строку, перед конечной скобкой:

'memcache.local' => '\\OC\\Memcache\\APCu',
);
systemctl restart nginx

Далее потребуется настроить планировщик заданий

crontab -e -u www-data
no crontab for www-data - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/mcedit
4. /usr/bin/vim.tiny
5. /bin/ed
Choose 1-5 [1]: 1

Добавляем строку

*/15 * * * * php -f /var/www/html/nextcloud/cron.php

в Веб интерфейсе облака переходим в пункт "Основные параметры"В разделе "Фоновые задания" - жмем "Cron"

Создадим задание в планировщике, предложит выбрать редактор, укажите цифру: 1

Радуемся, наше облако готово к работе!

В конце рекомендую создать своего нового пользователя, а пользователя pi отключить

Итоги

Изучив рынок, уже после, хлебнув со всей силы, я понял, что выбора-то особо и нет. В качестве альтернативы Odroid H2 и Gigabyte GA-SBCAP3450

Обе платы х86, что конечно расширяет возможности, но кушают они явно больше, и стоимость в 2 раза выше (я покупал бананку за 6000+ 2 кабеля вышли в 250 рублей) блок питания у меня был, но новый стоит около 400 рублей.

Для х86 плат нужна еще оперативная память и ssd под систему, стоимость все же выйдет гораздо выше. Тут же плата себя и свои деньги отрабатывает

Показать полностью 3
[моё] Nextcloud Arm Banana Pi Одноплатный компьютер Длиннопост
19
66
cusdeb
cusdeb
6 лет назад
Arduino & Pi

Статьи от CusDeb, опубликованные в Linux Format в 2018⁠⁠

В процессе разработки сервиса cusdeb.com и инструмента Pieman наша команда получает кучу опыта, которым время от времени хочет поделиться с сообществом. Пикабу является с этой точки зрения идеальным ресурсом, который позволяет высказаться. Однако, этот ресурс – не единственное место, куда мы отправляем наши статьи. В 2018-м году в 4-х выпусках русскоязычной версии журнала Linux Format было опубликовано 5 статей, которые были написаны в процессе работы над CusDeb и, как следствие, прямо или косвенно связаны с одноплатными компьютерами.

Статьи от CusDeb, опубликованные в Linux Format в 2018 Cusdeb, Nextcloud, Raspberry pi, Devuan, Raspbian, Debian, Linux, Pieman

С момента публикации каждой из этих статей прошло полгода и больше. По договоренности с издательством по истечении этого срока права на материал возвращается его авторам, поэтому было принято решение опубликовать его в нашем блоге и поделиться ссылками в одном из следующих постов здесь. Итак, представляем 5 обещанных статей:

«Nextcloud: не только хранилище». Nextcloud принято противопоставлять Dropbox'у как его свободный аналог, который можно развернуть на собственных вычислительных мощностях. Однако, это однобокий взгляд на платформу, – Nextcloud способен заменить не только Dropbox, но и Google Calendar, Skype или Hangouts, а также многое другое. Лично я очень доволен получившимся материалом, но он не всегда был таким – до него был долгий и мучительный процесс работы по упаковке замечательных идей, которые лежат в основе статьи, в слова. Этот процесс был зафиксирован в нашей самой первой статье на Пикабу – «Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud», а позднее в другой статье, но уже в нашем блоге – «От ownCloud к Nextcloud».

«Raspbian: сборка образа», часть 1 и часть 2. Серия статей, основная цель которой – рассказать как работают такие инструменты, как pi-gen, официальный сборщик образов Raspbian, и конечно же Pieman, который разрабатывается нашей командой и поддерживает уже не только Raspberry Pi, но и Orange Pi.

«Devuan: плод нелюбви к systemd». В рамках этой статьи мы попытались рассказать о причинах раскола сообщества разработчиков Debian, появления ответвления от этого дистрибутива под названием Devuan, а также о многом другом. Разработчики Devuan предлагают пользователям альтернативный вариант развития Debian, как если бы он никогда не встретился с системным менеджером systemd. (Первый раз мы задумались о том, что необходимо рассказать о Devuan, когда добавили поддержку этого дистрибутива в Pieman, а позднее – в CusDeb.)

«Alpine + Docker: поваренная книга разработчика». Эта статья рассказывает о некоторых тонкостях работы с Docker'ом. Примечательно, что в ней, помимо всего прочего, в качестве примера рассматривается Docker-образ с QEMU, контейнер на основе которого, в свою очередь, используется для эмуляции устройств для тестирования собранных на cusdeb.com образов для Raspberry Pi онлайн. Об этой фиче мы подробно писали в нашем предыдущем посте.

Показать полностью 1
[моё] Cusdeb Nextcloud Raspberry pi Devuan Raspbian Debian Linux Pieman
9
7
KeepCalmAndWork
7 лет назад

Эксперимент. Жизнь без ИТ гигантов.⁠⁠

Всем привет!

Не так давно заморочился с настройкой личного облачного хранилища NextCloud, обкатал пару месяцев, все хорошо. Теперь я решил поробовать отказаться от сервисов гугл и яндекса на мобильном устройстве. Честно сказать, они настолько глубоко проникли в нашу жизнь, что пути обратно уже почти не видно. Фотки, мессенджеры, личные файлы в облаке, пароли, закладки в браузере... ВСЕ хранится где-то. Конечно, это удобно. Очень удобно. Ввод логина/пароля и у тебя синхронизировались контакты. Пара кликов и ты залил нужный тебе файл, к которому можешь обратиться когда угодно и откуда угодно.

Поюзав личное облако пришло понимание, хотя бы поверхностное, как это работает и как устроено изнутри. Вместе с этим пониманием и пришла мысль, а что если сделать так же, как и там, только свое. И зачем пользоваться чужим, если можно все хранить на своем ламповом серваке? Вынашивал эту идею долго, обдумывал надо или не надо, стоит или не стоит. Ииии... Прямо сейчас заливаю кастомную прошивку на телефон, без гугл-сервисов, без последующего использования таких гигантов как Яндекс (диск, карты, навигатор и пр.), Google (плей маркет, наверное, это самое главное) и сервисы от Xiaomi.

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


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

PPS. я знаю, что андроид - это разработка гугл.

Эксперимент. Жизнь без ИТ гигантов. Сервер, IT, Google, Яндекс, Nextcloud, Облака
Показать полностью 1
[моё] Сервер IT Google Яндекс Nextcloud Облака
31
252
megavolt0
megavolt0
7 лет назад

Облачный терабайт за шапку сухарей. Nextcloud на StorageVPS⁠⁠

Для @arklem и всех интересующихся.

Стоимость хранения информации в облаках непрерывно снижается, но до сих пор иметь под рукой большие облачные ёмкости было не дёшево. Но вот, один за другим, хостеры стали обновлять линейки тарифов на так называемые StorageVPS. Это виртуальные машины с небольшой производительностью, но большой ёмкостью диска. Сегодня арендовать виртуалку с отказоустойчивым терабайтом стоит всего около 5 евро! Сделаем это и заодно потрогаем достойного наследника OwnCloud — идеологически бесплатный Nextcloud. Статья будет традиционно предельно подробной и пошаговой. По факту, все установки и настройки можно сделать за 10-15 минут.


В статье будет использоваться предложение одного из хостеров — одноядерная виртуалка с одним гигабайтом оперативки, 100-мегабитной сеткой (месячный объем исходящего трафика 10 TB) и терабайтным диском на борту. И всё это за 5 евро в месяц. Название хостера не привожу ибо не реклама. Больше инфы в оригинале статьи на моём сайте. Там же красивые конфиги в правильной кодировке (на пикабу сбивается форматирование и, иногда, возникают проблему с кодировкой при копировании)

Еще понадобиться доменное имя. Можно и без него, но это не очень удобно, да и сертификаты https правильные не сделать. Как получить халявный домен и настроить DNS-зону я уже писал в этой статье. Здесь я буду использовать доменное имя nc.mydomen.ml

Используя панель управления хостинга установите на свою виртуальную машину Debian 8 x64. Для настройки нам понадобиться стандартный набор инструментов. Как подключиться по SSH, установить и настроить PUTTY и WinSCP, настроить вход по сертификатам - написано в этой статье. Вам только понадобятся логин и пароль от SSH. Их предоставит хостер или в письме на электронную почту или в панели управления.

Облачный терабайт за шапку сухарей. Nextcloud на StorageVPS Storagevps, VPS, Nextcloud, Настройка, Apache, Debian, Cloud, Облачное хранилище, Длиннопост

Для начала настроим репозитории следующим набором команд:

echo 'deb http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list
echo 'deb-src http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list
echo 'deb http://ftp.debian.org/debian jessie-backports main' >> /etc/apt/sources.list
echo 'deb http://ftp.utexas.edu/dotdeb/ jessie all' >> /etc/apt/sources.list
wget https://www.dotdeb.org/dotdeb.gpg
apt-key add dotdeb.gpg

Обновим наш сервер командами:

apt -y update
apt -y upgrade

И начнём установливать необходимые пакеты:

apt-get -y install apache2 mariadb-server libapache2-mod-php7.0 php7.0-redis

Тут нас попросят придумать пароль для рутовой учётки MariaDB.

Облачный терабайт за шапку сухарей. Nextcloud на StorageVPS Storagevps, VPS, Nextcloud, Настройка, Apache, Debian, Cloud, Облачное хранилище, Длиннопост

Вводим пароль (символы не отображаются), жмём Enter и повторно вводим тот-же пароль и жмём Enter.


Доустановим ещё пакетов командами:

apt-get -y install php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-mbstring
apt-get -y install php7.0-intl php7.0-mcrypt php7.0-xml php7.0-zip
apt-get -y install libmagickwand-dev imagemagick php-dev redis-server
apt-get -y install python-certbot-apache -t jessie-backports

Запустим и добавим в автозагрузку наши Web-сервер и СУБД:

systemctl start apache2
systemctl enable apache2
systemctl start mysql
systemctl enable mysql

Можно убедиться, что наш Web-сервер работает, перейдя по адресу http://<ip-адрес вашего сервера>. Получим такую картинку:

Облачный терабайт за шапку сухарей. Nextcloud на StorageVPS Storagevps, VPS, Nextcloud, Настройка, Apache, Debian, Cloud, Облачное хранилище, Длиннопост

Выполним первичную настройку безопасности СУБД:

mysql_secure_installation

Вводим тот пароль для MariaDB, который мы придумали ранее. Нам зададут ряд вопросов, отвечаем так:

Облачный терабайт за шапку сухарей. Nextcloud на StorageVPS Storagevps, VPS, Nextcloud, Настройка, Apache, Debian, Cloud, Облачное хранилище, Длиннопост

Теперь зайдём в консоль MariaDB командой:

mysql -u root -p

Вводим пароль от MariaDB и попадаем в консоль.

Облачный терабайт за шапку сухарей. Nextcloud на StorageVPS Storagevps, VPS, Nextcloud, Настройка, Apache, Debian, Cloud, Облачное хранилище, Длиннопост

Создадим базу данных (точка с запятой в конце команд обязательны):

CREATE DATABASE nextclouddb;

Создадим учётную запись, с которой на Nextcloud будет обращаться к базе данных. Вместо password придумываем и вставляем в команду новый пароль:

CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'password';

Дадим этой учётной записи права на базу данных

GRANT ALL PRIVILEGES ON nextclouddb.* TO 'nextcloud'@'localhost';

Обновим таблицу привилегий, чтобы изменения применились:

FLUSH PRIVILEGES;

И выходим из консоли:

\q

Теперь пора установить сам Nextcloud. Посмотреть список доступных версий можно на этой странице. Выбираем самую свежую. На дату написания статьи это nextcloud-12.0.2


Скачиваем:

cd /tmp
wget https://download.nextcloud.com/server/releases/nextcloud-12....

Распаковываем:

unzip nextcloud-12.0.2.zip

И переносим к месту постоянного обитания:

mv nextcloud /usr/share/

Обязательно нужно дать права web-серверу на папку:

chown -R www-data:www-data /usr/share/nextcloud

Теперь любым удобным способом (например с помощью WinSCP) создадим в папке /etc/apache2/sites-available/ файл с именем nextcloud.conf со следующим содержимым:

ServerName nc.mydomen.ml
<VirtualHost *:80>
ServerAdmin admin@mydomen.ml
ServerName nc.mydomen.ml
DocumentRoot /usr/share/nextcloud
</VirtualHost>
<Directory "/usr/share/nextcloud/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
TransferLog /var/log/apache2/nextcloud_access.log
ErrorLog /var/log/apache2/nextcloud_error.log

По тексту конфига исправляем под себя адрес электронной почты и домен (ServerAdmin, ServerName)


Сохраняем файл и применяем настройки командами:

a2dissite 000-default
a2ensite nextcloud
service apache2 reload
service apache2 restart

Теперь можно перейти по адресу http://nc.mydomen.ml (вы используете своё имя домена) и донастроить наш Nextcloud:

Облачный терабайт за шапку сухарей. Nextcloud на StorageVPS Storagevps, VPS, Nextcloud, Настройка, Apache, Debian, Cloud, Облачное хранилище, Длиннопост

Придумываем и вводим логин и пароль администратора, вписываем настройки базы данных, которые мы сделали ранее и нажимаем "Завершить установку".


В общем-то наш сервер уже работает. Осталось настроить безопасность и затюнинговать.


Переведём наш сервер на https. Для этого сначала получим сертификаты командой:

certbot --apache certonly

На запросы вводим адрес электронной почты (укажите реальный, на него будут приходить уведомления о действиях с сертификатом), принимаем условия использования сервисом Let's Encrypt (вводим A) и вводим имя домена (или выбираем из предложенного списка), для которого получаем сертификат (в моём случае это nc.mydomen.ml):

Облачный терабайт за шапку сухарей. Nextcloud на StorageVPS Storagevps, VPS, Nextcloud, Настройка, Apache, Debian, Cloud, Облачное хранилище, Длиннопост

Отлично, сертификаты получены и лежат в папке  /etc/letsencrypt/live/nc.mydomen.ml/


Срок действия сертификатов - 90 дней. Об истечении срока придёт письмо на указанную выше почту. Для обновления сертификатов используем команду:

certbot renew

Этот процесс можно автоматизировать с помощью Cron. Пример приведён в статье про ownCloud.


Донастроим Apache. Включим ssl модуль командой:

a2enmod ssl

Включим дефолтный конфиг для ssl:

a2ensite default-ssl.conf

Поскольку нам нужно будет перенправлять клиентов с 80 порта (http) на 443 (hhtps), то включим модуль перенаправлений:

a2enmod rewrite

Теперь любым удобным способом (например с помощью WinSCP) создадим в папке /etc/apache2/sites-available/ файл с именем nextcloud-ssl.conf со следующим содержимым:

<IfModule mod_ssl.c>
<VirtualHost nc.mydomen.ml:443>
ServerAdmin admin@mydomen.ml
DocumentRoot /usr/share/nextcloud
TransferLog /var/log/apache2/nextcloud_access.log
ErrorLog /var/log/apache2/nextcloud_error.log
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/nc.mydomen.ml/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/nc.mydomen.ml/privkey.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>

Сохраняем файл и применяем настройки командами:

a2ensite nextcloud-ssl
service apache2 reload
service apache2 restart

Теперь можно перейти по адресу https://nc.mydomen.ml (вы используете своё имя домена) и убедится, что всё работает

Облачный терабайт за шапку сухарей. Nextcloud на StorageVPS Storagevps, VPS, Nextcloud, Настройка, Apache, Debian, Cloud, Облачное хранилище, Длиннопост

Настроим жёсткое перенаправление с http на https. Тогда работа с нашим сайтом будет возможна только по https.


Откройте файл  /etc/apache2/sites-available/nextcloud.conf и добавим две строчки с директивой Rewrite:

ServerName nc.mydomen.ml
<VirtualHost *:80>
ServerAdmin admin@mydomen.ml
ServerName nc.mydomen.ml
DocumentRoot /usr/share/nextcloud
RewriteEngine On
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

</VirtualHost>
<Directory "/usr/share/nextcloud/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
TransferLog /var/log/apache2/nextcloud_access.log
ErrorLog /var/log/apache2/nextcloud_error.log

Применим настройки

service apache2 reload
service apache2 restart

Попробуйте войти на сайт по http и убедитесь, что вас перенаправляет на https.


Канал защитили. Теперь оптимизируем производительность сервера за счёт кэширования.


С помощью WinSCP или иным способом откроем файл /etc/sysctl.conf и добавим в конце строчку:

vm.overcommit_memory = 1

Сохраним и закроем файл. Перезагрузим сервер, чтобы настройка применилась

reboot

Запустим и добавим в автозагрузку кэш-сервер Redis:

systemctl start redis-server
systemctl enable redis-server

Проверить, что Redis работает и слушает порт 6379 можно командой:

ps ax | grep redis
Облачный терабайт за шапку сухарей. Nextcloud на StorageVPS Storagevps, VPS, Nextcloud, Настройка, Apache, Debian, Cloud, Облачное хранилище, Длиннопост

В WinSCP или иным способом откроем файл /usr/share/nginx/html/config/config.php. Смотрим на последнюю строчку, она выглядит так:

);

Перед ней добавим строчки

'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
),

Сохраним и закроем файл. Зайдите в свой Nextcloud, страницы должны корректно отображаться.

Сделаем еще одну настройку безопасности.

Включим модуль headers:

a2enmod headers

В файл /etc/apache2/sites-available/nextcloud-ssl.conf добавим между тегами <VirtualHost и </VirtualHost> в любое место строчку

Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"

Сохраним и закроем файл.


Применим настройки:

service apache2 reload
service apache2 restart

Заходим в Nextcloud и проверяем, что всё работает.


Всё! Можно пользоваться.


Ряд рекомендаций:

1. Не используйте созданную выше учётную запись администратора для постоянной работы. Зайдите в настройки пользователей, создайте группу(ы) для обычных пользователей, создайте пользователей с ограниченными правами, установите квоты.

Облачный терабайт за шапку сухарей. Nextcloud на StorageVPS Storagevps, VPS, Nextcloud, Настройка, Apache, Debian, Cloud, Облачное хранилище, Длиннопост

2. Зайдите в приложения (см. скриншот выше) и добавьте функциональности вашему облачному хранилищу. Особенно обратите внимание на возможность зашифровать ваши данные и включить двухфакторную авторизацию. Про включение шифрования можно почитать в конце статьи про ownCloud.


3. Включите использование системного Cron для фоновых заданий.

Облачный терабайт за шапку сухарей. Nextcloud на StorageVPS Storagevps, VPS, Nextcloud, Настройка, Apache, Debian, Cloud, Облачное хранилище, Длиннопост

Этом всё. Вопросы можно задавать здесь, а лучше в Telegram @SecFAll_adm.

Показать полностью 11
[моё] Storagevps VPS Nextcloud Настройка Apache Debian Cloud Облачное хранилище Длиннопост
108
655
cusdeb
cusdeb
8 лет назад
Arduino & Pi

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud⁠⁠

Введение


Я расскажу о простом способе создания домашнего облачного хранилища на основе Raspberry Pi и Nextcloud Server, покажу интерфейс Nextcloud и расскажу о его клиентах и приложениях. В рунете есть несколько хороших постов на эту тему, но они больше про установку и настройку Nextcloud. Благодаря стараниям команды разработчиков cusdeb.com, вся установка Nextcloud свелась к записи RAW-образа на карту памяти MicroSD.


Nextcloud начинался как проект ownCloud, который, в свою очередь, был инициирован разработчиками KDE с целью создания платформы для развертывания Dropbox-подобного хранилища данных на своих мощностях. Проект оказался настолько успешным, что сначала вышел из под патронажа KDE, а затем перешел под крыло компании, названной в свою же честь – ownCloud, Inc. К сожалению, ключевые разработчики ownCloud не смогли договориться со своими инвесторами, что стало причиной форка под названием Nextcloud (читайте подробности здесь). Несмотря на то, что ownCloud продолжает свое существование, Nextcloud развивается ключевыми разработчиками ownCloud. Тем не менее, клиентское программное обеспечение ownCloud все еще совместимо с Nextcloud и будет оставаться совместимым так долго, насколько это возможно.


Подготовка


Вот список компонентов, из которых состоит мое домашнее облако:

1. Raspberry Pi 3

2. Блок питания

3. Карта памяти MicroSD

4. Внешний жесткий диск

5. Маршрутизатор.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Я использую маршрутизатор для того, чтобы открыть доступ к облаку извне. Если вы не хотите подключаться к хранилищу через Интернет, то маршрутизатор не обязателен.

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


Установка Nextcloud Server


Скачайте образ для Raspberry Pi 2 или Raspberry Pi 3 и запишите его на SD-карту. Образ содержит операционную систему Ubuntu 16.04, все необходимое серверное программное обеспечение для работы Nextcloud и сам Nextcloud.


Запуск


Вставьте SD-карту в Raspberry Pi, подключите устройство к сети и воткните его в розетку. При первом запуске инициализация Nextcloud продлится около семи минут. Все последующие запуски будут занимать меньше минуты.


Узнайте IP-адрес сервера в локальной сети. Это можно сделать как минимум тремя разными способами:

1. из админки роутера

2. программой Angry IP Scanner (для Windows и различных Unix-подобных ОС)

3. командой sudo ifconfig, авторизовавшись в только что загруженной системе (используйте ubuntu в качестве логина и пароля)


Например, адресом устройства оказался 192.168.0.8, тогда в строке браузера наберите http://192.168.0.8:8001/nc и вы увидите страницу завершения установки Nextcloud.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Придумайте логин и пароль администратора и нажмите кнопку «Завершить установку». Через несколько секунд вы увидите корневой каталог файлов вашего домашнего хранилища.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Пользователи и группы


Nextcloud – это многопользовательская система. Учетные записи пользователей можно создавать как вручную, так и давать пользователям возможность регистрироваться самостоятельно. Для того чтобы создать учетную запись вручную, перейдите на страницу «Пользователи» из выпадающего списка в правом верхнем углу экрана прямо под вашим логином.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Впишите логин и пароль нового пользователя в соответствующие поля. Если вы после этого нажмите кнопку «Создать», то пользователь попадет в безымянную группу. Однако прямо здесь вы можете выбрать одну из существующих групп или создать новую.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Управлять группами можно через панель, которая находится слева.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

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

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Загрузка файлов через веб интерфейс


Откройте корневой каталог файлов и создайте папку для загрузки файлов, например «Красная Поляна 2017».

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Затем, перейдите в папку и загрузите несколько фотографий.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Права доступа к файлам


Кликните на иконке «Поделиться» рядом с названием папки и справа появится панель, в которой можно настроить правила доступа к папке. Я вбил в строку поиска название группы «Лыжники» и установил галочки «можно создавать» и «можно изменить», чтобы члены группы могли загружать свои фотографии в папку «Красная Поляна 2017».

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Нажмите на иконке с домиком вверху и вернитесь в корневой каталог файлов. Создайте новую папку и загрузите в неё несколько файлов. Нажмите на иконку «Поделиться» рядом с именем одного из файлов и поставьте галочку «Поделиться ссылкой». Теперь файл доступен по ссылке на любом устройстве в локальной сети.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

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


Клиенты


Nextcloud предлагает клиенты под Windows, Linux, macOS, Android и iOS, что позволяет настроить синхронизацию почти на всех своих устройствах. К примеру, клиент для синхронизации файлов под Android можно абсолютно бесплатно загрузить из Play Market, а пользователям iOS придется заплатить символическую цену в виде $0.99. С каким бы клиентом вам не пришлось иметь дело, его настройка предельно проста. Сначала вводится адрес сервера, а затем логин и пароль пользователя.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

После этого можно начинать синхронизацию сервера с мобильным устройством. Если вы когда-нибудь использовали официальный мобильный клиент Dropbox, то здесь принцип такой же: в силу ограниченности мобильных устройств, файлы загружаются только по требованию, хотя клиент всегда показывает список всего того, что у вас есть в облачном хранилище. Вот пример директории с двумя файлами, ни один из которых пока не загружен с сервера.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

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


Приложения


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

Разработчики cusdeb.com поместили в образ для Raspberry Pi 2 и Raspberry Pi 3 множество приложений, которые нужно только активировать. Для этого откройте выпадающий список со всеми вашими приложениями и нажмите плюсик.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

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


В качестве первого примера рассмотрим Calendar, которое является отличной альтернативой Google Calendar.


Calendar


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

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Вам сразу будет доступен один календарь под названием «Личное», с которого можно начать работу. Добавьте при необходимости столько календарей, сколько вам нужно. Их количество не ограничено. Запланируйте какое-нибудь событие на один из дней в календаре «Личное» для того, чтобы позднее его синхронизировать со своим мобильным устройством и получать от него напоминания о том, что событие приближается.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Рассмотрим в качестве примера синхронизацию календаря «Личное» с устройством на базе Android. Для этого нужно клиентское приложение, которое работает по протоколу DAV. Одним из таких приложений, которое я настоятельно рекомендую, является DAVdroid. Его можно получить как минимум двумя способами: купить в Play Market за 249 руб. или загрузить бесплатно из каталога приложений F-Droid, т.к. DAVdroid является полностью свободным программным обеспечением. Нет никакой разницы, каким именно способом вы воспользуетесь, но помните, что в первом случае вы поддержите разработчиков хорошего ПО.


После первой загрузки клиента вам необходимо настроить подключение к вашему серверу. Используйте в качестве адреса что-то вроде домен-или-ip-адрес-сервера/remote.php/dav/ и логин и пароль вашего текущего пользователя.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Обратите внимание на то, что необходимо явно указать календари, изменения в которых вы хотите отслеживать. В данном случае мой выбор невелик: мне остается только указать DAVdroid, что ему нужно отслеживать изменения в календаре «Личное».

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Теперь после пары нажатий на Next клиент может считаться сконфигурированным, и в штатном календаре Android появится запланированное выше мероприятие.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Синхронизация работает в двустороннем режиме. Запланируйте какое-нибудь событие в штатном календаре Android, но не забудьте выбрать календарь «Личное» или любой другой, созданный в приложении Calendar.


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

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Затем выберете своего пользователя и укажите интервал, с которым клиент будет проверять изменения календарей на сервере.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Теперь все готово для использования приложения Calendar в полную силу.


Default encryption module


С помощью этого приложения вы можете гарантировать шифрование своих данных и данных ваших пользователей. Таким образом, даже если кто-то получит физический доступ к вашему хранилищу, он не сможет прочитать хранящиеся в нем файлы без закрытого ключа. Это достаточно спорное удобство, т. к. если вы используете обычную флэшку в качестве внешнего хранилища, сохраняете на нее данные через Nextcloud, а затем выдергиваете флэшку и втыкаете ее в какое-нибудь другое устройство, то вы уже так просто не сможете получить доступ к своим же файлам. С другой стороны, хранение данных в зашифрованном виде на съемном носителе может кому-то показаться не такой уж и бредовой идеей, так что продолжим исследовать этот вопрос в этом подразделе.


Для того чтобы установить «Default encryption module» откройте каталог приложений, перейдите в раздел «Не включено» и найдите там это приложение. Затем нажмите «Включить». В отличии от других рассмотренных здесь приложений, «Default encryption module» не появится в вашем списке, т. к. оно не предоставляет никакого пользовательского интерфейса.


После активации приложения необходимо включить шифрование на странице администратора. Для этого перейдите на страницу «Администрирование». Затем в разделе «Шифрование» поставьте галочку напротив «Включить шифрование на стороне сервера». После этого необходимо перезайти в систему под текущим пользователем. Теперь все ваши файлы будут шифроваться перед сохранением в вашем облаке.

Домашнее облачное хранилище данных на Raspberry Pi и Nextcloud Raspberry pi, Начинающий, Устройство, Nextcloud, Своими руками, Длиннопост, Android

Заключение


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


Надеюсь вам понравился мой пост. Я увлекаюсь разработкой программного обеспечения и в следующих постах поделюсь с вами другими интересными штуками, которые я сделал при помощи Raspberry Pi.


Жду ваших комментариев!

Показать полностью 22
[моё] Raspberry pi Начинающий Устройство Nextcloud Своими руками Длиннопост Android
174
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии