author=nosotros title=Pasos hacia acervo.org ~~SLIDESHOW~~ ====== 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 [[http://padrao.sarava.org/trac| padrao sarava]] ===== Instalación del sistema operativo ===== No es obligatorio usar Debian GNU/Linux, pero así hicimos nosotros: [[http://www.debian.org/releases/stable/i386/index.html.es|Guía de instalación de Debian GNU/Linux]] Si prefirieras usar algo como slackware, visita [[http://padrao.sarava.org/trac|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í. [[http://linux-vserver.org/Welcome_to_Linux-VServer.org|pagina del proyecto vserver]] [[http://es.wikipedia.org/wiki/Linux-VServer|o via wikipedia]] ==== unas guias que encontramos: ==== *[[http://riseuplabs.org/grimoire//vserver/]] *[[http://oldwiki.linux-vserver.org/Step-by-Step+Guide+2.6]] *[[http://crysol.inf-cr.uclm.es/node/378|Linux Vserver en 5 minutos]] *[[http://www.daniel15.com/blog/2006/11/22/linux-vserver-debian-etch/]] ==== 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").(([[http://www.howtoforge.com/kernel_compilation_debian_etch|How To Compile A Kernel - Debian Etch]])) # 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 vserver(([[http://linux-vserver.org/Building_Guest_Systems|Building Guest Systems]])). 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 ==== *http://linux-vserver.org/Frequently_Asked_Questions#How_do_I_limit_a_guests_RAM.3F_I_want_to_prevent_OOM_situations_on_the_host.21 *http://linux-vserver.org/Memory_Limits ===== 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: * www utilzando [[nginx]], [[plone]] o [[mysql]] * [[correo]] electronica * respaldos automaticos utilizando [[backupninja]]