BSD HomeBox (IX): Copias de seguridad del servidor
Para realizar las copias de seguridad de los datos almacenados en el servidor utilizo un disco SATA en una caja externa con conexión e-SATA, y una controladora PCI Conceptronic en el servidor, con puerto e-SATA.
Conecto el disco externo y ejecuto el siguiente comando para que se le asigne un dispositivo:
atacontrol attach ata4 Creo el filesystem en el disco, en un slice creado anteriormente desde sysinstall:
newfs -U /dev/ad8s1c Creo el usuario que utilizaré para realizar las copias de seguridad, y que sólo tendrá permisos de lectura sobre los datos a copiar:
BSD HomeBox (VIII): P2P
Como cliente de P2P instalo transmission-daemon, y su correspondiente complemento para gestionar las descargas a través de web (desmarco las opciones de IPV6 y PROXY a la hora de compilar):
cd /usr/ports/net-p2p/transmission-daemon
make install clean
cd /usr/ports/www/transmission-web
make install clean Creo el usuario con el que se ejecutará el demonio:
pw useradd -n torrent -m -h 0 Creo el directorio donde se almacenarán las descargas y le aplico permisos de modificación para todos los usuarios:
BSD HomeBox (VII): Repositorio de copias de seguridad
El objetivo es que el servidor actúe como respositorio de datos, donde poder depositar una copia de seguridad desde los clientes mediante rsync.
En este caso me ha orientado la siguiente guía:
http://www.freebsddiary.org/rsync.php
Instalo el port y me aseguro de seleccionar la opción ICONV en la configuración del mismo:
cd /usr/ports/net/rsync
make config
make install clean Configuraré una conexión para realizar la copia de seguridad de mi pendrive desde el cliente Debian, editando el archivo /usr/local/etc/rsyncd.
BSD HomeBox (VI): Servidor de impresión
Mi referencia para este apartado ha sido la siguiente guía:
http://www.freebsd.org/doc/en/articles/cups/index.html
Instalo el port correspondiente
cd /usr/ports/print/cups
make install clean Creo las reglas para la asignación automática de los permisos a los dispositivos USB correspondientes a mi impresora, en el archivo /etc/devfs.rules:
[localrules=5]
add path ‘unlpt0’ mode 0660 group cups
add path ‘ulpt0’ mode 0660 group cups Añado al archivo /etc/rc.conf la referencia a la nueva directiva:
devfs_system_ruleset=“localrules” Reinicio el proceso devfs:
BSD HomeBox (V): Sirviendo archivos
En primer lugar creo el usuario que será propietario de los datos ubicados en la partición que utilizaré para ello:
pw useradd -n datos -m -h 0 Edito el archivo /home/datos/.shrc estableciendo en él un “umask” que me permitirá que todos los archivos creados por el usuario “datos” queden con permisos de lectura y escritura para él mismo y sólo lectura para los pertenecientes al grupo, además de no permitir el acceso al resto de usuarios:
BSD HomeBox (IV): Habilitando el acceso remoto
Voy a habilitar el acceso a la máquina vía SSH, ya que no dispondré de teclado ni monitor para acceder directamente.
Añado el usuario “remoto” que será el único con privilegios para la conexión, otorgándole permisos para hacer “su” a root:
pw useradd -n remoto -G wheel -m -h 0 Edito el fichero /etc/rc.conf añadiendo la siguiente entrada:
sshd_enable=“YES” Edito el fichero /etc/ssh/sshd_config añadiendo la siguiente línea:
AllowUsers remoto Inicio el servicio:
BSD HomeBox (III): Recompilando el sistema
Hago una copia de la configuración del kernel genérico y creo un enlace a la ruta donde se ubican normalmente estos archivos:
cd /usr/src/sys/i386/conf
mkdir /root/kernels
cp GENERIC /root/kernels/BSDBOX
ln -s /root/kernels/BSDBOX Edito mi copia de configuración del kernel con el objetivo de optimizarlo un poco, eliminando entradas que no vaya a necesitar. En mi caso el contenido final del archivo es el siguiente:
cpu I686_CPU
ident BSDBOX
options SCHED_ULE # ULE scheduler
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
options UFS_DIRHASH # Improve performance on big directories
options UFS_GJOURNAL # Enable gjournal-based UFS journaling
options GEOM_PART_GPT # GUID Partition Tables.
BSD HomeBox (II): Configuraciones iniciales
A partir de ahora, y para toda la configuración del sistema, utilizaré el usuario “root” a menos que indique lo contrario.
En primer lugar establezco la configuración del compilador:
cp /usr/share/examples/etc/make.conf /etc
edit /etc/make.conf Me aseguro de que quedan descomentadas las siguientes opciones, y añado la última ya que no aparece:
CPUTYPE?=pentium4
CFLAGS= -O2 -fno-strict-aliasing -pipe
CXXFLAGS+= -fconserve-space
NO_PROFILE=true Instalo la colección de ports actualizada:
portsnap fetch
portsnap extract Instalo el port que me permitirá actualizar la base de “sources” que tengo en el sistema:
BSD HomeBox (I): Comenzamos
Con éste, comienzo una serie de artículos a través de los cuáles documentaré la configuración de un equipo que realizará las típicas funciones de “servidor” doméstico.
El sistema operativo elegido es FreeBSD 7.2, y el sistema estará dedicado a los típicos servicios de servidor de archivos, copias de seguridad de los mismos, impresión en red, descargas P2P, y lo que vaya surgiendo.
El hardware sobre el que instalarlo todo, en este caso, es un barebone Asus Pundit P1-PH1, con procesador Intel Pentium 4 MT a 3 GHz, 2 GB de RAM y disco duro Seagate de 1 TB.