Montando un servidor casero
Tengo varias razones para intentar esto, entre ellas: querer aprender más, el ocio.
El día de hoy instale Ubuntu 8.04 para servidores en una caja con un procesador Celeron de 1.8 GHZ y 1 GB de ram, viene con un disco SATA de 250 GB.
Entre las cosas que quiero hacer allí están:
1. Servidor de impresión (CUPS)
2. Servidor para compartir el disco (NFS)
3. Virtualizar XP (QEMU)
4. Servidor de backup
5. Servidor de música
6. Servidor para bajar torrents (rtorrent)
7. Lo que se me ocurra en el camino
Bueno lo primero fue instalar, no hubo mayor problemas si no cuento el hecho de que cuando está instalando y buscando los mirrors de los servidores de los repositorios se demora, la barra se va a mover lento hay que tomarlo con calma. Si presionan ALT-F4 verán qué es lo que está haciendo realmente, para regresar al instalador ALT-F1
Como opciones de instalación simplemente escogí servidor CUPS y que particionara usando ext3, divido en una parte para el sistema (por si hago la trastada), la mayor parte para /home y un pedazo pequeño para swap, que no creo que se use muy a menudo.
Esto fue lo fácil, luego de tenerlo andando instalé el servidor ssh y a partir de ese momento le quité el monitor, para trabajar remoto.
El comando es sencillo sudo apt-get install openssh-server y con eso ya puedo entrar remoto.
1. Servidor CUPS
Hasta aquí fue fácil, el siguiente paso fue poder usar la caja como servidor de impresión, tuve algunos problemas porque lo que quería era habilitar el poder configurar y ver CUPS desde el navegador de cualquiera de las otras PC de la casa.
Hay que configurar /etc/cups/cupsd.conf
Se necesita que el sistema escuche en el puerto 631 y que permita que otros ips puedan accesar.
LogLevel warning
SystemGroup lpadmin
# Allow remote access
Port 631
Listen /var/run/cups/cups.sock
# Enable printer sharing and shared printers.
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseAddress @LOCAL
DefaultAuthType Basic
# Allow shared printing…
Order allow,deny
Allow @LOCAL
# Restrict access to the admin pages…
Order allow,deny
Allow From 192.168.2.3
AuthType Default
Require user @SYSTEM
# Restrict access to the configuration files…
Order allow,deny
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Re$
Require user @OWNER @SYSTEM
Order allow,deny
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Re$
Require user @OWNER @SYSTEM
Order deny,allow
AuthType Default
Require user @SYSTEM
Order deny,allow
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Releas$
AuthType Default
Require user @SYSTEM
Order deny,allow
Require user @OWNER @SYSTEM
Order deny,allow
Order deny,allow
La mayor parte lo copie de la configuración de mi laptop que hasta hoy era el servidor de impresión, en los primeros párrafos está lo que permite el acceso remoto.
Ya con esto tengo un servidor de impresión. YAY!!!!!
2. Servidor para compartir el disco (NFS)
Luego empezaron algunos de mis problemas porque tratando de configurar el NFS tenía problemas para accesar daba errores de conexión. Al parecer hay un bug con el nfs-common y entonces no logra conectarse, también tenía problemas con el firewall ufw es el manejador que viene instalado, tuve problemas agregando los puertos que usa NFS para que me deje conectar.
La explicación sobre el bug dice que hay que compilar nfs-common, pero luego de hacerlo resulta ser que necesitaba era abrir los puertos en el servidor (desde otra PC puede entrar luego)
Hay que agregar los puertos que salen en este comando rpcinfo -p
Sólo es cuestión de usar el comando sudo ufw allow #puerto
Lo siguiente es configurar /etc/exports para poder accesar a los directorios
***Al final ufw daba más problemas que lo que ayudaba, terminé eliminando ufw y utilizando firehol que ya tengo experiencia utilizandolo para manejar el firewall. Si me animo después escribo sobre firehol.
Haciendo cambios con firehol resolví todos mis problemas de nfs, y ahora tengo todo el espacio del servidor disponible para bajar archivos y hacer backups.
4. Servidor de backup
Hacer backups es fácil después que se tiene montado directorios del servidor es tan sencillo como copiar y pegar archivos desde los directorios de la laptop a «ese directorio» que hacer referencia al servidor.
O también se puede usar Grsync que es parte de rsync para hacer respaldos.
5. Servidor de música
El servidor de música lo configuré usando mpd, que no utiliza muchos recursos y me deja manejarlo remotamente utilizando ario desde mu laptop
6. Servidor para bajar torrents (rtorrent)
Para bajar torrents directo al servidor y poder ir a dormir sin dejar la laptop encendida, entro por ssh y luego uso dos aplicaciones.
screen, te permite dejar un programa corriendo y luego salir de la sesión sin que la aplicación se cierre. Por ejemplo uso el comando screen y luego uso rtorrent.
Cuando quiero salir sólo doy el comando CTRL + A + d para separar la sesión de screen, puedo cerrar la sesión ssh, pero lo que estaba haciendo dentro de screen sigue funcionando. Si quiero volver a entrar lo que estaba haciendo hay que dar el comando screen -r y listo.
Me gustaría montar un servidor web par varios dominios pero no soy un experto en Linux, ¿me recomendarías alguna distro en particular?
Gracias, Pedro.
Smat
octubre 10, 2010 at 1:18 am
Pedro,
lo que quieres hacer lo puedes hacer de diferentes maneras. Lo más sencillo si no tienes mucha experiencia es usar un proveedor de sitios que luego de registrar el dominio ya estás listo para montar el sitio, lo ideal es que busques un proveedor que use Joomla o WordPress lo que te facilitaría mucho montar un sitio.
Si lo que quieres es administrar el servidor tienes varios escenarios: uno es que tendrías que usar un proveedor que te alquile un servidor (lo cual no es del todo barato) o lo instalas en casa/oficina.
Ambos casos son factibles, en cuanto a distribución yo estoy parcializado hacia Debian/Ubuntu, en estos momentos tengo uno corriendo en Ubuntu, los sitios corren usando Apache2, el cual te permite manejar varios sitios dentro del mismo servidor. Tienes que leer sobre apache2, php, MySQL, bind9 y algunas otras cositas para tener el servidor corriendo. Si tú mismo vas a montar el sitio requieres herramientas como Joomla, Drupal o el mismo WordPress.
Suerte
scrooge_74
octubre 10, 2010 at 11:34 am