Está en la página 1de 55

http://www.gulo.

org

Instalacin y Configuracin
de un servidor con FreeBSD

Diego Prez Montes GULO - kabute@gulo.org

Sobre este documento...


http://www.gulo.org

Copyright (c) 2007 Diego Prez Montes.


Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the address http://www.gnu.org/licenses/fdl.txt

Copyright (c) 2007 Diego Prez Montes.


Se otorga permiso para copiar, distribuir y/o modificar este documento
bajo los trminos de la Licencia de Documentacin Libre de GNU, Versin 1.2
o cualquier otra versin posterior publicada por la Free Software Foundation;
sin Secciones Invariantes ni Textos de Cubierta Delantera ni Textos de
Cubierta Trasera. Una copia de la licencia est incluida en la direcin
http://www.gnu.org/licenses/fdl.txt

* Solo se considerar vlida a efectos legales la versin inglesa de la licencia de este documento.

ndice
http://www.gulo.org

1 - Breve Historia.
2 Licencia.
3 FreeBSD vs GNU/Linux.
4 - Estructura bsica de un sistema FreeBSD.
5 - Instalacin Paso a Paso.
6 - Administracin bsica del sistema.
7 - Instalacin de un FAMP.
8 - Ms informacin

Breve Historia
http://www.gulo.org

- Primera versin liberada en 1993, apoyada por la


Universidad de California, Berkeley.
- Basada en 386BSD y 4.3BSD-Lite (Net/2).
- Versin 2.0 reinventada por problemas legales
(entre Novell y la Universidad de Berkeley), us
4.4BSD-Lite y se taparon los agujeros de cdigo
incompleto.
RAMAS:
-CURRENT: En este momento 7.x
-RELEASE : En este momento 6.x
-STABLE : En este momento 6.x (con parches)

Breve Historia
http://www.gulo.org

- Objetivos del Proyecto (Jordan Hubbard):


-Software para cualquier propsito
-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
http://www.gulo.org

- Licencia new BSD (tambin se permite GPL o LGPL


si se desea).
- No se ofrece ningn tipo de garanta.
- No hay restricciones de uso del software, incluso se
puede llevar a cdigo cerrado.
- Se debe de mantener el aviso de copyright en el
cdigo.
- Es mucho ms libre (y permisiva) que la propia GPL.

Licencia
http://www.gulo.org

- Ha originado sistemas operativos como MacOS X


(Darwin).

- MacOS X tiene una combinacin de software libre


(FreeBSD en esencia) y cdigo cerrado (las
modificaciones en el nucleo, el interfaz Aqua...)

FreeBSD VS GNU/Linux
http://www.gulo.org

- En FreeBSD se pueden ejecutar binarios de GNU/Linux


(y otros sistemas UNIX), pero no al revs.
- FreeBSD es mucho ms maduro que GNU/Linux.
- Se ha ganado mejor reputacin.
- FreeBSD puede dar un rendimiento notablemente
superior a GNU/Linux.
- GNU/Linux es ms escalable.
- Hay mucha ms comunidad tras GNU/Linux.
- Muchas ms diferencias en:
http://people.freebsd.org/~murray/bsd_flier.html

Estructura bsica
http://www.gulo.org

KERNEL: Monoltico, bastante maduro.

Estructura bsica
http://www.gulo.org

SISTEMA DE FICHEROS:
- Sistema Usado: Unix File System (UFS1/UFS2)
- Soporta ficheros de tamao ilimitado y puede
gestionar hasta 8 Zettabytes (2^33 TB).
- Es una gran estructura de directorios.
-No existe (a nivel lgico) ninguna separacin 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 particin
como un subdirectorio del sistema de ficheros).

Estructura bsica
http://www.gulo.org

SISTEMA DE FICHEROS:

Estructura bsica
http://www.gulo.org

TILES BASE:
- Las tpicas para gestionar cualquier sistema UNIX
(ls,cd,cp,rm...)
- Tambin incluye herramientas propias de BSD (como
por ejemplo el manejo del sistema de paquetera).
- Libreras del API de C.
- La mayora es contribucin del proyecto GNU.

Instalacin Conseguir FreeBSD


http://www.gulo.org

- FreeBSD soporta una amplia gama de arquitecturas


(alpha, amd64, i386, ia64, pc98, powerpc y sparc).
- El sistema de paquetes ms actualizado es el de i386.
- http://www.freebsd.org/where.html
- Seleccionar la plataforma, versin y entrar en [ISO]
- Para nuestra instalacin 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/

Instalacin Inicio...
http://www.gulo.org

Instalacin Regin
http://www.gulo.org

Instalacin Teclado
http://www.gulo.org

Instalacin sysinstall
http://www.gulo.org

- Seguiremos el tipo de instalacin standard.

Instalacin Particionamiento
http://www.gulo.org

- Todo el sistema de ficheros ir en una nica particin


(incluida la SWAP), en este caso son 2 GB.

Instalacin Particionamiento
http://www.gulo.org

Instalacin Boot Manager


http://www.gulo.org

- FreeBSD tiene su propio BootManager (boot0), pero


en caso de tener GRUB (o LILO) bastar con
seleccionar None y aadir la entrada del nuevo
sistema.

Instalacin Etiquetas
http://www.gulo.org

Instalacin Etiquetas
http://www.gulo.org

- Ahora crearemos las etiquetas, las particiones


dentro del sistema BSD.

Instalacin Etiquetas
http://www.gulo.org

- La SWAP debera de ser al menos el doble del tamao


de la RAM, en este caso supondremos 96 MB de
memoria principal.

Instalacin Paquetes
http://www.gulo.org

Instalacin Medio
http://www.gulo.org

Instalacin Por Red...


http://www.gulo.org

Instalacin ltima oportunidad!


http://www.gulo.org

Instalacin Config. de Red


http://www.gulo.org

Instalacin Usuarios
http://www.gulo.org

Instalacin Fin
http://www.gulo.org

- Slo nos queda por escribir el password de root


(superusuario).
- Tras esto ya tenemos nuestra instalacin lista para
empezar a trabajar :)

Instalacin - Fin
http://www.gulo.org

Instalacin Usuarios
http://www.gulo.org

Administracin - Usuarios
http://www.gulo.org

- Aadir 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

Administracin - Usuarios
http://www.gulo.org

- Potente utilidad: pw (ver man pw)


- Aadir 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

Administracin - Usuarios
http://www.gulo.org

- Informacin de un Usuario:
- pw usershow nombre_usuario
- Bloquear Usuario:
- pw block nombre_usuario
- Desbloquear Usuario:
- pw unblock nombre_usuario
- Cambiar Informacin de un Usuario:
- chpass nombre_usuario
- Cambiar Password de un Usuario:
- passwd nombre_usuario

Administracin - Ficheros
http://www.gulo.org

- 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]

Administracin - Red
http://www.gulo.org

- La configuracin est en /etc/rc.conf


hostname="guloBSD"
ifconfig_ed0="inet 10.0.2.15 netmask 255.255.255.0"
defaultrouter="10.0.2.1"

Administracin - sysinstall
http://www.gulo.org

- Utilizada anteriormente en la instalacin del sistema.


- Gran potencia y facilidad de uso desde el modo
consola.
- En la opcin Configure podemos encontrar todas las
opciones disponibles:

Administracin - sysinstall
http://www.gulo.org

MENU PRINCIPAL:

Administracin - sysinstall
http://www.gulo.org

SUBMENU CONFIGURE [Parte 1]:

Administracin - sysinstall
http://www.gulo.org

SUBMENU CONFIGURE [Parte 2]:

Administracin - GNU/Linux
http://www.gulo.org

- FreeBSD es altamente compatible con los binarios de


Linux (entre otros sistemas UNIX)-> 90%
- Basta con dos pasos:
- Cargar el mdulo necesario: kldload linux
- Instalar las bibliotecas de ejecucin:
[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 especficas i386 (por ejemplo el
modo virtual).
- Ejecucin:
[root@GuloBSD]# brandelf -t Linux binario_linux

Administracin - Paquetera
http://www.gulo.org

- 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'

Administracin - Paquetera
http://www.gulo.org

- 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

Administracin - Ports
http://www.gulo.org

- 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

Administracin - Ports
http://www.gulo.org

- 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

Administracin - Ports
http://www.gulo.org

- 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 ms de 13.000 ports.
- Un buen site para mantenerse al da de
actualizaciones de ports:
http://www.freshports.org/

Administracin - Kernel
http://www.gulo.org

- Los mdulos estn en /boot/kernel/*.ko


- Listar mdulos 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 mdulo: kldload nombre_modulo


- Descargar mdulo: klundload nombre_modulo

Administracin - Kernel
http://www.gulo.org

- Gestin de opciones y mdulos a cargar en el


arranque del sistema (aadir lineas necesarias):
/boot/loader.conf
- Se puede encontrar las posibles opciones en
/boot/defaults/loader.conf

Administracin - Kernel
http://www.gulo.org

- 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

Administracin - Kernel
http://www.gulo.org

- Por ejemplo para modificar el nmero mximo 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 debera de ser cambiado en /boot/loader.conf]

- Se pueden cambiar cosas como los parmetros de los


discos, de TCP/IP, lmites del kernel...

Servicios - FAMP
http://www.gulo.org

- FAMP = FreeBSD & Apache & MySQL & PHP


- Instalacin Apache: pkg_add -r apache
- Instalacin MySQL: pkg_add mysql40-server
- Instalacin PHP4:

pkg_add -r php4

- Configuracin de Apache: /usr/local/etc/apache/


- Documento raz web: /usr/local/www/data/
- Manejo de Apache: apachectl [start|stop|restart]

Servicios - FAMP
http://www.gulo.org

- Para que Apache arranque automticamente 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

Ms Informacin...
http://www.gulo.org

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 Matas

(http://cronopios.net/Textos/freebsd_instalacion_y_primeros_pasos.pdf)

FreeBSD:Instalacin y Primeros Pasos. Enrique Matas


(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.

Fin de la presentacin.
http://www.gulo.org

Muchas gracias por su atencin!


Preguntas?

También podría gustarte