Оглавление:

Красная коробка: 3 шага (с изображениями)
Красная коробка: 3 шага (с изображениями)

Видео: Красная коробка: 3 шага (с изображениями)

Видео: Красная коробка: 3 шага (с изображениями)
Видео: Золотые слова Алины Кабаевой 😍 2024, Ноябрь
Anonim
Красная Коробка
Красная Коробка

Создайте свой собственный надежный облачный сервер

Шаг 1. Аппаратное обеспечение

Аппаратное обеспечение
Аппаратное обеспечение
  • Возьмите металлическую коробку и раскрасьте ее в свой любимый цвет. (Я использовал старый контроллер памяти)
  • Пластина Hobbycolor, выдерживающая как минимум 75 C
  • Малина пи 3
  • Карта Micro SD (я использовал 16 ГБ, но вы можете использовать любой размер> = 4 ГБ)
  • USB-концентратор с разъемом для внешнего питания
  • Переходники с usb на sata
  • Дисковый привод
  • Сетевой кабель + сетевая розетка
  • Провода + входной разъем питания
  • Болты восстановлены из последовательного порта старого компьютера или порта vga
  • USB-порты восстановлены со старого компьютера

Raspberry pi крепится к пластине hobbycolor болтами от порта vga.

Диски крепятся штатными болтами сзади.

Шаг 2: Подключение

Проводка
Проводка

Разъем питания подключается к обоим восстановленным портам USB

Первый usb (за всеми проводами спереди слева) используется в качестве источника питания, только красный и черный провода используются и подключаются к разъему ввода питания. Первый USB-кабель в этом порту обеспечивает питание для Pi, второй USB-кабель обеспечивает питание USB-концентратора.

Второй usb (тот, что сзади - полезен для подключения дополнительных устройств) имеет красный и черный, подключенные непосредственно к входу питания, в то время как белый и зеленый каждого порта подключены к USB-кабелю, восстановленному от какой-то старой мыши (белые напрямую подключен к пи)

Кабель LAN соединяет настенную розетку внешней сети с портом LAN raspberry pi

Диски подключаются через usb к адаптерам sata к USB-концентратору с внешним питанием (диски большей емкости требуют большей мощности, и мы не хотим, чтобы пи был нестабильным), который подключается к одному из портов pi

Шаг 3: Программное обеспечение

Программное обеспечение
Программное обеспечение

Установите операционную систему

Для большей безопасности используйте Centos 7 для защиты. (https://mirror.centos.org/altarch/7/isos/armhfp/); протестировано: CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz, руководство здесь:

Поместите изображение на карту micro sd с вашего компьютера Linux (для проверки Windows:

xzcat CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz | sudo dd of = $ / path / to / sd / card status = progress bs = 4M

пароль root: centos

используйте nmtui для настройки сети и установки статического IP-адреса

Настройте диски

Создайте по одному разделу на каждом диске (лучше быть немного меньше всего диска - скажем, на 1 ГБ меньше - разные диски одинаковой емкости - например: wd vs toshiba - имеют разные размеры:)). Таким образом, вы будете в безопасности, если вам потребуется заменить один из дисков.

Создайте на своих дисках файловую систему btrfs raid 1

mkfs.btrfs -d raid1 -m raid1 / dev / sda1 / dev / sdb1

метка файловой системы btrfs / dev / sda1 rpi3

Смонтируйте файловую систему с помощью autofs (предотвращает загрузку pi, если с дисками что-то пойдет не так)

yum install -y autofs

добавьте перетекание в /etc/auto.master:

/ - /etc/auto.ext-usb --timeout = 300

Создайте /etc/auto.ext-usb с содержимым:

/ srv -fstype = auto, compress = lzo, noatime: / dev / disk / by-label / rpi3

перезапуск службы autofs

ls / srv, df -h, подтвердите, что он смонтирован

Установить owncloud

Предварительные требования (apache, php, mariadb):

yum install -y httpd; yum install -y mod_ssl; yum install -y mariadb-server; yum install -y php *

Установите owncloud 9, который совместим с php54, который поставляется с centos7, хорошим руководством для этого:

download.owncloud.org/download/repositories…

После запуска owncloud переместите каталог данных из расположения по умолчанию на новые диски (/ srv).

служба httpd stop

отредактируйте /var/www/html/owncloud/config/config.php и внесите это изменение:

'datadirectory' => '/ srv / owncloud / data', mkdir / srv / owncloud; mv / var / www / html / owncloud / data / srv / owncloud && chown -R apache: apache / srv / owncloud / data /

служба httpd start

Вы можете установить настольный клиент owncloud на linux / windows, а для телефонов я использую folderync

  • Включение и настройка SELinux

    (рабочая версия: selinux-policy-3.13.1-166.el7.5.noarch, selinux-policy-target-3.13.1-166.el7.5.noarch)

убедитесь, что вы не обновляете эту политику (в /etc/yum.conf append: exclude = selinux-policy *)

restorecon -Rv /

/boot/cmdline.txt должен содержать: selinux = 1 security = selinux enforcing = 1.

/ etc / sysconfig / selinux должен содержать: SELINUX = enforcing и SELINUXTYPE = target.

перезагружать

После перезагрузки выполните следующие настройки:

yum install -y policycoreutils-python

semange fcontext -a -t httpd_sys_rw_content_t /srv/owncloud(/.*)?

setsebool -P httpd_builtin_scripting = 1; setsebool -P httpd_can_network_connect = 1; setsebool -P httpd_enable_cgi = 1; setsebool -P httpd_graceful_shutdown = 1

если у вас возникнут какие-либо проблемы, вставьте SD-карту в другой компьютер и измените cmdline.txt, чтобы иметь: selinux = 0

Защитите свою коробку

Изменить пароль root

Создайте себе пользователя (adduser -s / bin / bash "me") и установите надежный пароль (passwd "me")

настроить sshd для прослушивания другого порта и НЕ разрешать вход в систему с правами root

В / etc / ssh / sshd_config установите порт

(допустим 2222), PermitRootLogin нет

Сообщите SELinux и firewalld о своих намерениях:

порт semanage -a -t ssh_port_t -p tcp 2222

service firewalld start && systemctl enable firewalld.service

брандмауэр-cmd --permanent --add-порт 2222 / tcp

брандмауэр-cmd --reload

перезапуск службы sshd

Сделайте это общедоступным

На вашем интернет-маршрутизаторе перенаправьте эти порты на ваш статический IP-адрес, установленный на первом шаге: 80, 443, 2222.

Настройте DDNS на вашем маршрутизаторе, чтобы вы могли получить доступ к своему устройству из любого места.

Тонкая настройка

Установите apache на 5 процедур, так как памяти мало:

/etc/httpd/conf.modules.d/00-mpm.conf

LoadModule модули mpm_prefork_module / mod_mpm_prefork.so

StartServers 5

MinSpareServers 5

MaxSpareServers 5

ServerLimit 5

MaxClients 5

MaxRequestsPerChild 3000

перезапуск службы

Настройте cron для еженедельной очистки дисков и создания снимков каждую ночь (в / etc / crontab)

01 02 * * 6 root btrfs scrub start / srv01 01 * * * root / usr / sbin / btrfs subvolume snapshot -r / srv / srv / @ $ (printf "\% s" $ (/ bin / date + \% d \% b \% Y - \% k - \% M))

время от времени проверяйте объем с помощью: btrfs dev stats / srv

Используйте сторожевой таймер для автоматического сброса, если он перестает отвечать (у Raspberry Pi3 есть аппаратный):

yum install -y сторожевой таймер

/etc/watchdog.conf

сторожевое устройство = / dev / watchdogwatchdog-timeout = 15

interval = 1logtick = 1 log-dir = / var / log / watchdog

realtime = yespriority = 1

запуск сторожевого таймера службы && systemctl enable watchdog.service

Рекомендуемые: