View page as slide show

Pasos hacia acervo.org

Estos textos son como una retroespectiva de un procedimiento técnico. El procedimiento persiste en la actualidad. Esperamos provocar aventuras parecidas en esferas desconocidas por nosotros. Indicamos otros textos que en muchos casos son más completos, y sin duda, tienen menos fallos ortográficos que esto.

Si entiendes el portugués, recomendamos el padrao sarava

Instalación del sistema operativo

No es obligatorio usar Debian GNU/Linux, pero así hicimos nosotros:

Guía de instalación de Debian GNU/Linux

Si prefirieras usar algo como slackware, visita padrao sarava

Instalación de un vserver

Un servidor puede tener muchas funciones: páginas web, servidor de streaming media… Bueno, se pueden imaginar muchas cosas. Entre los distintos proyectos que se pueden imaginar, sugiere ciertos requisitos de organizacion. En primer lugar, se pueden seperar distintas funciones en distintos servidores, para hacer la administración más fácil. Sobre todo, si distintas personas o grupos van a manejar distintos proyectos dentro de la misma cpu. Puedes visitar proyectos para conocer las distintas iniciativas que van surgiendo aquí.

pagina del proyecto vserver

o via wikipedia

unas guias que encontramos:

Instalación

Necesitamos un kernel con soporte para vserver, entonces vemos cuales están disponibles:

# apt-cache search vserver linux

Escogemos linux-image-vserver-k7 (lo más probable es que vas a querer descargar las fuentes del kernel, para compilarlo tu mismo, pero para ser breves, vamos a ir por el camino más rapido e instalaremos la imagen del nucleo, “linux-image”).1)

# apt-get install linux-image-vserver-k7

el “k7” es para CPUs AMD.

Instalamos unos programillas que nos van a ayudar a administrar nuestras vservers:

# apt-get install util-vserver

Necesitamos crear una carpeta “barrier”, que va a contener nuestras vserver y que ayuda a asegurar la seguridad del sistema:

# mkdir /vservers 
# rm /etc/vservers/.defaults/vdirbase
# ln -s /vservers /etc/vservers/.defaults/vdirbase
# setattr --barrier /vservers

SSH

Vamos a necesitar ssh para poder administrar el servidor remotamente.

# apt-get install ssh

Es preciso definir la ip que escuchará sshd para el ip en la máquina. Eso porque, cuando instalemos los vserver, van a tener su propio servidor ssh, configurado por su ip. De otra manera no se podria accesar a los vservers a través de su propia shell.

vim /etc/ssh/sshd_config

Buscamos la linea:

ListenAddress 0.0.0.0

Y reemplazamos el 0.0.0.0 con nuestra ip:

ListenAddress 10.10.10.9

Despues de cambiar la configuracion de sshd, debemos reiniciar el proceso para que los cambios tomen efecto:

# /etc/init.d/ssh restart 

Ahora podemos reinicar usando el nuevo kernel que instalamos unos pasos atras.

Creación de un vserver

Ahora vamos a instalar un vserver2). Usamos nuestro servidor de correo por poner un ejemplo. Aún no corras el comando, regresaremos a el:

# vserver mail build -m debootstrap --hostname mail --interface mail=eth1:10.10.10.3/24 -- -d etch

Es decir:

  • el servidor se llama “mail”
  • su hostname (”–hostname”) es “mail”
  • su ip será “10.10.10.3”
  • utilizará el interfaz (”–interface”), en esto caso un dispositivo virtual de “eth1:mail”
  • el sistema operativo (”-d”)del servidor será debian “etch”.

Si tenemos más de una ip, sería posible asignar un veserver a cada una. Pero no tenemos una ip abierta al internet. Por eso creamos los dispositivos virtuales para cada vserver.

De todas maneras esta ip tenemos que difinirla antes de correr la orden de instalar el vserver. Sino, nos dará errores.

Entonces abrimos el archivo ”/etc/network/interfaces”

vim /etc/network/interfaces

Y agregamos:

auto eth1:mail
iface eth1:mail inet static
      address 10.10.10.3
      netmask 255.255.255.0

Guardamos para que asi la configuración persista cuando reiniciemos la máquina.

Ahora si creamos el vserver de correo:

# vserver mail build -m debootstrap --hostname mail --interface mail=eth1:10.10.10.3/24 -- -d etch

Tarda un poco, asi que descarga el sistema operativo. Cuando termine puedes arrancar el vserver asi:

# vserver mail start

En cualcuier momento, para ver el estatus de los vserver, se puede hacer:

# vserver-stat

Hacemos que el vserver arranque automaticamente al arrancar el cpu:

# echo "default" > /etc/vservers/mail/apps/init/mark

Entramos en el vserver:

# vserver mail enter

Siempre es bueno remover los paquetes que no necesistamos:

apt-get --purge remove ipchains iptables pppoe pppoeconf ppp pppconfig dhcp-client nano

Nos dará un error de local cuando corramos la orden previa, hacemos lo siguente para selecionar manualmente nuestra local:

Primero instalar locales:

# apt-get install locales

Luego configurarla:

# dpkg-reconfigure locales

Estamos en mexico, vamos a seleccionar todo lo que dice “ES-mx”.

Para salir del vserver se utiliza el mismo comando para salir de cualquier shell, control-D.

de la misma manera podemos instalar paquetes en los vserver desde el host, sin entrar al vserver. por ejemplo para instalar “locales” en el vserver “mail”:

# vapt-get mail -- install locales

Creación de un vserver utilizando herramientas de debian

Algo alternativo al comando “vserver” para crear nuevos vservers es la orden “newvserver”. Ello hará ciertas configuraciones en el archivo ”/etc/vservers/newvserver-vars” para indicar programas que queremos instalar, o quitar, y la configuracion de apt. De esta manera, editamos ”/etc/vservers/newvserver-vars” a nuestro gusto, y cada vserver que hagamos seguirá nuestra configuracion. Un ”/etc/vservers/newvserver-vars” podria parecer esto:

DIST="etch"
MIRROR="http://ftp.mx.debian.org/debian"
INSTALL_PACKAGES="ssh,locales,localepurge"
REMOVE_PACKAGES="ipchains, iptables, pppoe, pppoeconf, ppp, pppconfig, dhcp-client"
REMOVE_LINKS="klogd hwclock setserial urandom networking umount halt reboot"

Luego corremos el comando

# newvserver --hostname mail --domain acervo.org --ip 10.10.10.5/8 --interface eth1

Limitar el uso de RAM para un vserver

Un pequeño rutador para nuestra red virtual

Para usar ssh al entrar a nuestra vserver, es preciso una ruta desde internet a la ip del servidor virtual. Recordemos que tenemos un dispositivo virtual, eth1:mail, al cual hemos asignado el ip de nuestra vserver: 10.10.10.3. Supongamos que el ip de nuestro dispositivo eth1, que es el que conecta al internet, es xx.xx.xx.x. Entonces utilizaremos iptaples para reenviar cualquier petición al puerto 222 (este numero escojemos nosotros) al ip xx.xx.xx.x al ip 10.10.10.3. No es tan complicado como suena, aunque si no tenemos una idea muy clara de que significa, es recomendable investigar un poco más.

iptables --protocol tcp -t nat -A PREROUTING -s 0/0 -d xx.xx.xx.0/24 --dport 222 -j DNAT --to-destination 10.10.10.3:22

En cuanto creemos más vservers, vamos a crear más reglas así, cada vez cambiando el ”–dport”. La “destinacion”, el vserver, siempre va recibir la petición en el puerto estandar: 22. También vamos a querer accesar a internet desde nuestra vserver:

iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -d ! 10.10.10.0/24 -j SNAT --to-source xx.xx.xx.x

Si nos equivocamos podemos borrar la regla anterior reemplazando el ”-A” con ”-D” (de añadir a borrar) de la siguiente manera:

iptables -t nat -D POSTROUTING -s 10.10.10.0/24 -d ! 10.10.10.0/24 -j SNAT --to-source xx.xx.xx.x

Checamos las reglas que hemos definido con el comando “iptables-save”. Para guardar las reglas es así:

iptables-save > /etc/iptables-save

En ”/etc/network/interfaces”, al final de la configuración del dispositivo conectado al internet, indicamos como el sistema debe de cargar estas reglas al arrancar:

auto eth0
iface eth0 inet static
     address xxx.xxx.xxx.x
     netmask xxx.xxx.xxx.x
     broadcast xxx.xxx.xxx.x
     gateway xxx.xxx.xxx.x
     pre-up cat /etc/iptables-save | iptables-restore

Más

otras temas no relacionadas a las aplicaciónes alojados en el servidor si puede encontrar en paginas especificas relacionadas a cada tema. Aquí podremos links a estas paginas:

 
servidor.txt · Última modificación: 2009/02/11 12:57 (editor externo)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki