Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Cree su propio servidor en la nube confiable
Paso 1: hardware
- Usa una caja de metal y píntala de tu color favorito. (Utilicé un controlador de almacenamiento antiguo)
- Plato Hobbycolor que resiste al menos 75 C
- Frambuesa pi 3
- Tarjeta Micro SD (usé 16GB pero puedes usar cualquier tamaño> = 4GB)
- Concentrador USB con conector de alimentación externo
- Adaptadores usb a sata
- Unidades de disco
- Cable de red + enchufe de pared de red
- Cables + conector de entrada de energía
- Pernos recuperados del puerto serie o vga de una computadora vieja
- Puertos USB recuperados de una computadora vieja
La frambuesa pi está unida a la placa hobbycolor con pernos del puerto vga.
Los discos están sujetos con pernos regulares en la parte posterior.
Paso 2: cableado
El conector de entrada de energía se conecta a ambos puertos USB recuperados
El primer USB (detrás de todos los cables en la parte delantera izquierda) se utiliza como fuente de alimentación, solo se utilizan cables rojos y negros y se conectan al conector de entrada de alimentación. El primer cable USB en este puerto proporciona energía para el pi, el segundo cable USB proporciona energía al concentrador USB.
El segundo usb (el de la parte posterior, útil para conectar dispositivos adicionales) tiene rojo y negro conectados directamente a la entrada de energía, mientras que el blanco y el verde de cada puerto está conectado a un cable usb recuperado de algún mouse antiguo (los blancos directamente conectado a pi)
El cable Lan conecta el enchufe de pared de la red externa al puerto LAN de la frambuesa pi
Los discos se conectan a través de adaptadores USB a sata al concentrador USB con alimentación externa (los discos de mayor capacidad requieren más energía y no queremos que pi sea inestable), que está conectado en uno de los puertos pi
Paso 3: software
Instalar el sistema operativo
Utilice Centos 7 para armar para mayor seguridad. (https://mirror.centos.org/altarch/7/isos/armhfp/); probado: CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz, tutorial aquí:
Coloque la imagen en la tarjeta micro sd de su computadora Linux (para Windows, verifique:
xzcat CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz | sudo dd of = $ / path / to / sd / card status = progress bs = 4M
contraseña de root: centos
use nmtui para configurar la red y establecer una dirección IP estática
Configurar los discos
Cree una partición en cada disco (es mejor que sea un poco más pequeño que el disco completo, digamos 1 GB más pequeño, diferentes discos de la misma capacidad, por ejemplo, wd vs toshiba, tienen diferentes tamaños:)). De esta manera estará seguro si necesita reemplazar uno de los discos
Cree un sistema de archivos btrfs raid 1 en sus discos
mkfs.btrfs -d raid1 -m raid1 / dev / sda1 / dev / sdb1
etiqueta del sistema de archivos btrfs / dev / sda1 rpi3
Monte el sistema de archivos usando autofs (evita el no arranque de pi si algo sale mal con los discos)
yum install -y autofs
agregue el flujo a /etc/auto.master:
/ - /etc/auto.ext-usb --timeout = 300
Cree /etc/auto.ext-usb con el contenido:
/ srv -fstype = auto, compress = lzo, noatime: / dev / disk / by-label / rpi3
reinicio de autofs del servicio
ls / srv, df -h, confirma que está montado
Instalar owncloud
Requisitos previos (apache, php, mariadb):
yum instalar -y httpd; yum instalar -y mod_ssl; yum install -y servidor-mariadb; yum install -y php *
Instale owncloud 9 que es compatible con php54 que viene con centos7, un buen tutorial para eso:
download.owncloud.org/download/repositories…
Una vez que owncloud esté en funcionamiento, mueva el directorio de datos de la ubicación predeterminada a las nuevas unidades (/ srv)
servicio httpd stop
edite /var/www/html/owncloud/config/config.php y realice este cambio:
'datadirectory' => '/ srv / owncloud / data', mkdir / srv / owncloud; mv / var / www / html / owncloud / data / srv / owncloud && chown -R apache: apache / srv / owncloud / data /
servicio httpd start
Puede instalar el cliente de escritorio owncloud en linux / windows y para los teléfonos que utilizo la sincronización de carpetas
-
Habilitar y configurar SELinux
(la versión de trabajo es: selinux-policy-3.13.1-166.el7.5.noarch, selinux-policy-target-3.13.1-166.el7.5.noarch)
asegúrese de no actualizar esa política (en /etc/yum.conf append: exclude = selinux-policy *)
restorecon -Rv /
/boot/cmdline.txt debe contener: selinux = 1 security = selinux enforcing = 1
/ etc / sysconfig / selinux debe contener: SELINUX = enforcing y SELINUXTYPE = target
reiniciar
Realice los siguientes ajustes después de reiniciar:
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
si encuentra algún problema, coloque la tarjeta sd en otra computadora y modifique cmdline.txt para tener: selinux = 0
Asegure su caja
Cambiar la contraseña de root
Cree usted mismo un usuario (adduser -s / bin / bash "me") y establezca una contraseña segura (passwd "me")
configurar sshd para escuchar en otro puerto y NO permitir inicios de sesión de root
En / etc / ssh / sshd_config, establezca Puerto
(digamos 2222), PermitRootLogin no
Cuéntele a SELinux y firewalld sobre sus intenciones:
puerto semanage -a -t puerto_ssh_t -p tcp 2222
service firewalld start && systemctl enable firewalld.service
firewall-cmd --permanente --add-port 2222 / tcp
firewall-cmd --reload
reinicio de sshd de servicio
Hazlo público
En su enrutador de Internet, reenvíe estos puertos a su IP estática configurada en el primer paso: 80, 443, 2222.
Configure DDNS en su enrutador para que pueda acceder a su caja desde cualquier lugar.
Sintonia FINA
Configure apache en 5 procesos ya que la memoria es baja:
/etc/httpd/conf.modules.d/00-mpm.conf
LoadModule mpm_prefork_module modules / mod_mpm_prefork.so
StartServers 5
MinSpareServers 5
MaxSpareServers 5
ServerLimit 5
MaxClientes 5
MaxRequestsPerChild 3000
reinicio del servicio
Configure cron para limpiar semanalmente los discos y hacer una instantánea cada noche (en / etc / crontab)
01 02 * * 6 root btrfs scrub start / srv01 01 * * * root / usr / sbin / btrfs subvolumen instantánea -r / srv / srv / @ $ (printf "\% s" $ (/ bin / date + \% d \% b \% Y - \% k - \% M))
verifique de vez en cuando el volumen con: btrfs dev stats / srv
Use watchdog para reiniciar automáticamente si deja de responder (raspberry pi3 tiene uno de hardware):
yum install -y perro guardián
/etc/watchdog.conf
dispositivo-perro guardián = / dev / perro guardián-tiempo de espera del perro guardián = 15
intervalo = 1logtick = 1 log-dir = / var / log / watchdog
realtime = yespriority = 1
service watchdog start && systemctl enable watchdog.service