Este artículo muestra las tareas de configuración básicas que realizo sobre cada uno de mis servidores FreeBSD, luego de finalizar una instalación fresca.

Configurar el servidor SSH

# vi /etc/ssh/sshd_config

Cambiar el puerto por defecto y deshabilitar el acceso como superusuario:

Port 10000
PermitRootLogin no

Reiniciar SSH para reflejar los cambios hechos en el archivo de configuración:

# service sshd restart

Establecer variables de entorno a nivel sistema para sh y csh

Las variables de entorno para sh (shell utilizada generalmente en scripts) se configuran en el archivo /etc/profile:

# vi /etc/profile

Agregar aquellas variables de entorno común a todos los usuarios, por ejemplo un servidor proxy HTTP/FTP (algo muy común en redes corporativas):

# Proxy
http_proxy="http://proxy.linuxito.com:8080"
https_proxy=$http_proxy
ftp_proxy=$http_proxy
no_proxy="localhost,.linuxito.com,.cloud.linuxito.com"
HTTP_PROXY=$http_proxy
FTP_PROXY=$http_proxy
HTTPS_PROXY=$http_proxy
NO_PROXY=$no_proxy
export http_proxy https_proxy ftp_proxy no_proxy
export HTTP_PROXY HTTPS_PROXY FTP_PROXY NO_PROXY

Para csh, las variables de entorno se configuran en el archivo /etc/csh.cshrc:

# vi /etc/csh.cshrc

Se debe utilizar la sintaxis propia de csh:

# Proxy
setenv http_proxy "http://proxy.linuxito.com:8080"
setenv https_proxy $http_proxy
setenv ftp_proxy $http_proxy
setenv no_proxy "localhost,.linuxito.com,.cloud.linuxito.com"
setenv HTTP_PROXY $http_proxy
setenv FTP_PROXY $http_proxy
setenv HTTPS_PROXY $http_proxy
setenv NO_PROXY $no_proxy

Configurar la terminal csh para el usuario root

Por defecto, csh carece de algunas teclas de control como "suprimir", "inicio", "avanzar página", etc.

# vi ~/.cshrc

Definir estas teclas agregando las siguientes líneas en el archivo de configuración de sesión .cshrc del usuario root (/root/.cshrc):

# Teclas de control
bindkey "\e[2~" overwrite-mode
bindkey "\e[3~" delete-char
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line
bindkey "\e[5~" history-search-backward
bindkey "\e[6~" history-search-forward

Repetir para los usuarios del sistema que sea necesario.

Instalar la colección de ports

Los ports son una especie de sistema de gestión de paquetes para FreeBSD. Proveen un conjunto de Makefiles estructurados en una jerarquía de directorio bajo /usr/ports que permiten descargar, configurar, compilar e instalar software de manera sencilla, resolviendo dependencias y conflictos automáticamente, a través de la herramienta make.

Instalar la colección de ports ejecutando los siguientes comandos:

# portsnap fetch
# portsnap extract
# portsnap fetch
# portsnap update

Opcionalmente es posible instalar la herramienta de gestión de ports portmaster, la cual provee funcionalidades adicionales a make (como por ejemplo limpieza y actualización de paquetes instalados, junto con sus dependencias):

# cd /usr/ports/ports-mgmt/portmaster/
# make install clean

Instalar un editor de texto más amigable que vi

Esto es una cuestión de gusto personal. Sé usar vi pero no me gusta, me resulta incómodo, así que prefiero utilizar siempre nano (aunque me acusen de noob). También existen otros editores de texto de línea de comandos como mcedit (parte del paquete mc), vim (vi improved, Vi mejorado en español, aunque no es una gran mejoría), emacs (creo que entre tantas cosas es un editor pero jamás lo usé), pico (dudo que muchos Sysadmins chilenos usen éste en particular), y otros.

Para instalar el paquete binario de nano, sin compilar, utilizar pkg:

# pkg update
# pkg upgrade
# pkg install nano

Crear un directorio donde almacenar scripts

Crear un directorio "scripts" en el $HOME del usuario root:

# mkdir ~/scripts
# cd ~/scripts

Guardar los siguientes scripts básicos para actualizar el sistema y los ports.

# nano actualizar_freebsd.sh
#!/bin/tcsh

# Mostrar la versión actual
echo "Versión actual: "
freebsd-version
uname -a
echo

# Actualizar el sistema base
echo "Buscando actualizaciones: "
freebsd-update fetch && freebsd-update install

# nano actualizar_ports.sh
#!/bin/tcsh

# Refrescar la colección de ports
portsnap fetch && portsnap update

# Buscar actualizaciones
portmaster -aD && portmaster --clean-distfiles

Otorgar permisos de ejecución a ambos scripts:

# chmod +x actualizar*

Actualizar el sistema base y la colección de ports

# ./actualizar_freebsd.sh
# ./actualizar_ports.sh

Otras tareas opcionales

Configurar correctamente el locale

Compilar el kernel

Cambiar CSH por Bash

Montar sistemas de archivos ext4 y NTFS

Referencias

FreeBSD Handbook

Cómo instalar FreeBSD 10


Tal vez pueda interesarte


Compartí este artículo