Вы находитесь на странице: 1из 54

Instalación y Configuración

de un servidor con FreeBSD


Índice

1 - Breve Historia.

2 – Licencia.

3 – FreeBSD vs GNU/Linux.

4 - Estructura básica de un sistema FreeBSD.

5 - Instalación Paso a Paso.

6 - Administración básica del sistema.

7 - Instalación de un “FAMP”.

8 - Más información
Breve Historia

- Primera versión liberada en 1993, apoyada por la


Universidad de California, Berkeley.

- Basada en 386BSD y 4.3BSD-Lite (“Net/2”).

- Versión 2.0 “reinventada” por problemas legales


(entre Novell y la Universidad de Berkeley), usó
4.4BSD-Lite y se “taparon” los agujeros de código
incompleto.
RAMAS:

-CURRENT: En este momento 7.x

-RELEASE : En este momento 6.x

-STABLE : En este momento 6.x (con parches)


Breve Historia

- Objetivos del Proyecto (Jordan Hubbard):

-Software para cualquier propósito


-Software “sin compromiso alguno”.
-Conseguir que el Software llegue a todo el mundo.

- Siempre ha sido una apuesta por parte de los ISP y


grandes empresas.

- Curosidad: Su mascota se llama Beastie (pronunciado


BeeS Dee), ha sido “perseguido” por entidades
religiosas.
Licencia

- Licencia “new BSD” (también se permite GPL o LGPL


si se desea).

- No se ofrece ningún tipo de garantía.

- No hay restricciones de uso del software, incluso se


puede llevar a código cerrado.

- Se debe de mantener el aviso de copyright en el


código.

- Es mucho más libre (y permisiva) que la propia GPL.


Licencia

- Ha originado sistemas operativos como MacOS X


(Darwin).

- MacOS X tiene una combinación de software libre


(FreeBSD en esencia) y código cerrado (las
modificaciones en el nucleo, el interfaz Aqua...)
FreeBSD VS GNU/Linux

- En FreeBSD se pueden ejecutar binarios de GNU/Linux


(y otros sistemas UNIX), pero no al revés.

- FreeBSD es mucho más maduro que GNU/Linux.

- Se ha ganado “mejor reputación”.

- FreeBSD puede dar un rendimiento notablemente


superior a GNU/Linux.

- GNU/Linux es más escalable.

- Hay mucha más comunidad tras GNU/Linux.

- Muchas más diferencias en:


http://people.freebsd.org/~murray/bsd_flier.html
Estructura básica

KERNEL: Monolítico, bastante maduro.


Estructura básica

SISTEMA DE FICHEROS:

- Sistema Usado: Unix File System (UFS1/UFS2)

- Soporta ficheros de tamaño “ilimitado” y puede


gestionar hasta 8 Zettabytes (2^33 TB).

- Es una gran estructura de directorios.

-No existe (a nivel lógico) ninguna separación entre


discos o particiones, solo existe un gran sistema de
ficheros.

- Todos los discos adicionales deben ser integrados en


la estructura ya existente (montando cada partición
como un subdirectorio del sistema de ficheros).
Estructura básica

SISTEMA DE FICHEROS:
Estructura básica

ÚTILES BASE:

- Las típicas para gestionar cualquier sistema UNIX


(ls,cd,cp,rm...)

- También incluye herramientas propias de BSD (como


por ejemplo el manejo del sistema de paquetería).

- Librerías del API de C.

- La mayoría es contribución del proyecto GNU.


Instalación – Conseguir FreeBSD

- FreeBSD soporta una amplia gama de arquitecturas


(alpha, amd64, i386, ia64, pc98, powerpc y sparc).

- El sistema de paquetes más actualizado es el de i386.

- http://www.freebsd.org/where.html

- Seleccionar la plataforma, versión y entrar en “[ISO]”

- Para nuestra instalación nos bastará el cd “bootonly”


(el último -STABLE: 6.2-RELEASE-i386-bootonly.iso para
i386)

- Se puede probar “online” en la plataforma “Free Live


OS Zoo”: http://connessi.webminds.cs.unibo.it:8880/
Instalación – Inicio...
Instalación – Región
Instalación – Teclado
Instalación – sysinstall

- Seguiremos el tipo de instalación “standard”.


Instalación – Particionamiento

- Todo el sistema de ficheros irá en una única partición


(incluida la SWAP), en este caso son 2 GB.
Instalación – Particionamiento
Instalación – Boot Manager

- FreeBSD tiene su propio BootManager (boot0), pero


en caso de tener GRUB (o LILO) bastará con
seleccionar “None” y añadir la entrada del nuevo
sistema.
Instalación – Etiquetas
Instalación – Etiquetas

- Ahora crearemos las etiquetas, las “particiones”


dentro del sistema BSD.
Instalación – Etiquetas

- La SWAP debería de ser al menos el doble del tamaño


de la RAM, en este caso supondremos 96 MB de
memoria principal.
Instalación – Paquetes
Instalación – Medio
Instalación – Por Red...
Instalación – Última oportunidad!
Instalación – Config. de Red
Instalación – Usuarios
Instalación – Fin

- Sólo nos queda por escribir el password de root


(superusuario).

- Tras esto ya tenemos nuestra instalación lista para


empezar a trabajar :)
Instalación - Fin
Instalación – Usuarios
Administración - Usuarios

- Añadir Usuario:
- adduser
- pw useradd nombre_usuario [-g grupo]

- Eliminar Usuario:
- rmuser [nombre_usuario]
- pw userdel nombre_usuario

- Crear Grupo:
- pw groupadd nombre_grupo

- Eliminar Grupo:
- pw groupdel nombre_grupo
Administración - Usuarios

- Potente utilidad: pw (ver man pw)

- Añadir Usuario:
- adduser
- pw useradd nombre_usuario [-g grupo]

- Eliminar Usuario:
- rmuser [nombre_usuario]
- pw userdel nombre_usuario

- Crear Grupo:
- pw groupadd nombre_grupo

- Eliminar Grupo:
- pw groupdel nombre_grupo
Administración - Usuarios

- Información de un Usuario:
- pw usershow nombre_usuario

- Bloquear Usuario:
- pw block nombre_usuario

- Desbloquear Usuario:
- pw unblock nombre_usuario

- Cambiar Información de un Usuario:


- chpass nombre_usuario

- Cambiar Password de un Usuario:


- passwd nombre_usuario
Administración - Ficheros

- Cambiar de directorio:
- cd directorio

- Copiar fichero:
- cp fichero_origen fichero_destino

- Crear directorio:
- mkdir directorio

- Borrar fichero/directorio:
- Si fichero: rm fichero
- Si directorio: rm -r directorio

- Cambiar permisos de un fichero/directorio:


- chmod modo fichero

- Cambiar propietario de un fichero/directorio:


- chown usuario[:grupo] fichero [-R]
Administración - Red

- La configuración está en /etc/rc.conf

hostname="guloBSD"
ifconfig_ed0="inet 10.0.2.15 netmask 255.255.255.0"
defaultrouter="10.0.2.1"
Administración - sysinstall

- Utilizada anteriormente en la instalación del sistema.

- Gran potencia y facilidad de uso desde el modo


consola.

- En la opción “Configure” podemos encontrar todas las


opciones disponibles:
Administración - sysinstall

MENU PRINCIPAL:
Administración - sysinstall

SUBMENU CONFIGURE [Parte 1]:


Administración - sysinstall

SUBMENU CONFIGURE [Parte 2]:


Administración - GNU/Linux

- FreeBSD es altamente compatible con los binarios de


Linux (entre otros sistemas UNIX)-> 90%

- Basta con dos pasos:


- Cargar el módulo necesario: kldload linux
- Instalar las bibliotecas de ejecución:
[root@GuloBSD]# cd /usr/ports/emulators/linux_base
[root@GuloBSD]# make install distclean

- En determinados casos los binarios Linux rinden


mejor en FreeBSD que en Linux.

- Falla en llamadas específicas i386 (por ejemplo el


modo virtual).

- Ejecución:
[root@GuloBSD]# brandelf -t Linux binario_linux
Administración - Paquetería

- Instalar un paquete: pkg_add -r nombre_paquete

- Eliminar un paquete: pkg_delete nombre_paquete

- Ver paquete instalados: pkg_info

- Buscar paquete:

- http://www.freebsd.org/ports/index.html
- Si se tiene un sistema de ports instalado:
[root@GuloBSD]# cd /usr/ports

[root@GuloBSD]# make search key='paquete_buscado'


Administración - Paquetería

- Por defecto descarga todo de ftp.freebsd.org

- Se puede cambiar facilmente el repositorio:


[root@GuloBSD]# export PACKAGEROOT=protocolo://nuevo_repositorio

- Lista de Repositorios:
http://mirrorlist.freebsd.org/FBSDsites.php
Administración - Ports

- Para Instalarlo, dentro de sysinstall:


Configure ->Distributions->Ports

- Quedará almacenado en /usr/ports

- Para buscar un paquete:


[root@GuloBSD]# cd /usr/ports

[root@GuloBSD]# make search key='paquete_buscado'

- Instalar un paquete:
[root@GuloBSD]# cd /usr/ports/tipo_paquete/paquete_buscado

[root@GuloBSD]# make install


Administración - Ports

- Por ejemplo para buscar e instalar Bash:

[root@GuloBSD]# cd /usr/ports

[root@GuloBSD]# make search key='bash'


...
Port: bash-3.1.10_1
Path: /usr/ports/shells/bash
Info: The GNU Project's Bourne Again SHell
Maint: obrien@FreeBSD.org
B-deps: gettext-0.14.5_2 libiconv-1.9.2_2
R-deps: gettext-0.14.5_2 libiconv-1.9.2_2
WWW: http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html
...
[root@GuloBSD]# cd shells
[root@GuloBSD]# cd bash
[root@GuloBSD]# make install
Administración - Ports

- Para ver la lista de paquetes instalados y poder


desinistalarlos es mejor usar el sistema de paqueteria
(pkg_info y pkg_delete)

- Como apunte final: hay más de 13.000 ports.

- Un buen site para mantenerse al día de


actualizaciones de ports:
http://www.freshports.org/
Administración - Kernel

- Los módulos están en /boot/kernel/*.ko

- Listar módulos activos: kldstat


[root@GuloBSD]# kldstat
Id Refs Address Size Name
1 9 0xc0400000 691928 kernel
2 1 0xc0a92000 58554 acpi.ko
3 1 0xc3674000 2000 fire_saver.ko

- Cargar nuevo módulo: kldload nombre_modulo

- Descargar módulo: klundload nombre_modulo


Administración - Kernel

- Gestión de opciones y módulos a cargar en el


arranque del sistema (añadir lineas necesarias):

/boot/loader.conf

- Se puede encontrar las posibles opciones en


/boot/defaults/loader.conf
Administración - Kernel

- En FreeBSD /proc no es usado, se debe de usar sysctl


.

- Se trata de un interfaz para configurar el sistema


FreeBSD que está corriendo.

- Es posible configurar hasta 500 variables.


Uso:

- Ver todas las variables: sysctl -a

- Ver una variable: sysctl variable

- Cambiar variable: sysctl variable=nuevo_valor


Administración - Kernel

- Por ejemplo para modificar el número máximo de


procesos soportados por el kernel:

[root@GuloBSD]# sysctl kern.maxproc

kern.maxproc: 4036

[root@GuloBSD]# sysctl kern.maxproc=4500

kern.maxproc: 4036 -> 4500

[Esto en realidad debería de ser cambiado en /boot/loader.conf]

- Se pueden cambiar cosas como los parámetros de los


discos, de TCP/IP, límites del kernel...
Servicios - FAMP

- FAMP = FreeBSD & Apache & MySQL & PHP

- Instalación Apache: pkg_add -r apache

- Instalación MySQL: pkg_add mysql40-server

- Instalación PHP4: pkg_add -r php4

- Configuración de Apache: /usr/local/etc/apache/

- Documento raíz web: /usr/local/www/data/

- Manejo de Apache: apachectl [start|stop|restart]


Servicios - FAMP

- Para que Apache arranque automáticamente con el


sistema:
[root@GuloBSD]# echo “apache_enable="YES"” >> /etc/rc.conf

- Instalar el CMS Joomla: pkg_add -r joomla

- Quedará instalado en /usr/local/www/data


Más Información...

En la red:

• The FreeBSD Project. http://www.freebsd.org/


• El Demonio.org. http://www.eldemonio.org/
• Google BSD. http://www.google.com/bsd
• Un Secreto bien guardado:FreeBSD. Enrique Matías
(http://cronopios.net/Textos/freebsd_instalacion_y_primeros_pasos.pdf)
• FreeBSD:Instalación y Primeros Pasos. Enrique Matías
(http://cronopios.net/Textos/freebsd_un_secreto_bien_guardado.pdf)
• Evolution of the Unix File System. Brad Schonhorst
(http://www.nycbug.org/uploads/FFS.pdf)
• FreeBSD Architecture HandBook.
(http://www.freebsd.org/doc/en_US.ISO8859-1/books/arch-handbook/)
En la Biblioteca:

• The FreeBSD Corporate Networker's Guide. Ted


Mittelstaedt.

• Embedded FreeBSD cookbook [Recurso de Internet] . Paul


Cevoli.

Вам также может понравиться