Archive for the 'Linux' Category

Instalar mysql en CentOS

Domingo, Enero 29th, 2006

Siguiendo en la línea de pequeñas guias para poner a punto nuestro servidor casero, hoy le toca a MySQL.

No entraré en detalle sobre las características de MySQL, para eso lo mejor es visitar la web oficial, simplemente comentar que se trata de unos de los motores de bases de datos open source más populares de la actualidad. Es uno de los componentes principales de la plataforma LAMP, así que si queremos montar alguna aplicación PHP, blog, etc. seguro que nos hará falta, así que, sin más dilaciones…

Tomamos como escenario de partida el descrito en el artículo anterior, servidor Linux con CentOS. La versión “oficial” de MySQL en CentOS 4 es la 4.1.12 , no es la última versión (la 5) pero nos sirve para la mayoría de casos, y al tratarse de un paquete oficial en la distribución es más fácil de configurarlo posteriormente, así que ya nos va bien.

La instalación y posterior configuración la realizaremos en modo comando, por tanto nos conectamos a nuestro servidor vía ssh, o bien si hemos abierto una sesión local abrimos una ventana de terminal.

Instalación

Lo primero es ver como se llaman los paquetes a instalar, para ello usaremos up2date:

up2date --whatprovides=mysql

Que nos devuelve:

mysql-4.1.12-3.RHEL4.1

Este paquete proporciona los programas cliente, y a nosotros nos interesa el servidor así que probamos con:

up2date --whatprovides=mysql-server

Que nos muestra:

mysql-server-4.1.12-3.RHEL4.1

Ya tenemos la información que necesitabamos, vamos a instalar el paquete del servidor, y dejaremos que up2date se encargue de resolver las dependencias:

up2date mysql-server

up2date mysql-server

Como vemos en la captura anterior, up2date ya se encarga de descargar e instalar otros paquetes necesarios, ahora sólo tenemos que preocuparnos de los ajustes finales:

Arrancar el servicio

Tecleamos:

service mysqld start

Para arrancar el servicio. Si todo va bien el sistema nos mostrará un OK.

Establecer la contraseña del usuario root

Por defecto, el usuario root no tiene asignada una contraseña y esto no es nada recomendable, así que vamos a establecer una. Utilizamos el comando:

mysqladmin -u root password 'loquesea'

Cambiar ‘loquesea’ por la contraseña que desemos establecer, pero es importante no olvidarse de teclear las comillas simples.

Comprobamos la nueva contraseña abriendo una sesión en mysql:

mysql -u root -p

Nos pedirá la contraseña, la tecleamos, y si todo es correcto entraremos en la interfaz del cliente de MySQL, podemos teclear algún comando de mysql para interactuar con el servidor, por ejemplo:

mysql> show databases;

Nos mostrará las bases de datos que existan en el servidor, normalmente y si acabamos de instalar, aparecerán las bases de datos mysql y test.

Tecleamos exit para salir del programa cliente.

Configurar el servicio

Lo habitual será que cuando arranque o se pare nuestro servidor tambien se inicie o detenga el MySQL, para ello existe una forma muy fácil:

chkconfig --level 35 mysqld on

Esto activa el demonio mysqld en los runlevel 3 y 5, y lo detiene en el resto. Si queremos comprobar el estado del servicio podemos utilizar lo siguiente:

chkconfig --list mysqld

Y con esto finalizamos la instalación de MySQL en nuestro servidor. Espero que esta guía sea de utilidad.

Montar un servidor web casero (Parte y II)

Domingo, Enero 15th, 2006

Ver la primera parte de este artículo.

Bueno, ya tenemos nuestro servidor instalado, y hemos configurado nuestro router para que el “mundo mundial” pueda llegar a nuestra máquina, hemos hecho la parte más difícil, vamos ahora a por unos detalles que nos facilitan la vida:

Servicio DNS dinámico

Es mucho más cómodo encontrar nuestra máquina usando http://miservidor.dominio.com que tener que memorizar una dirección IP, y que además puede cambiar en cualquier momento. Por esto y por si no eres de los pocos afortunados que tienen una dirección IP fija, necesitas los servicios de un DNS dinámico.

Existen varios servicios de este tipo en Internet, uno de los más populares y el que vamos a utilizar en esta guía es dyndns.com. Además de ofrecer otros productos típicos de cualquier ISP, la gente de DynDNS, nos permite disponer gratuitamente de un servicio de DNS dinámico. Para ello, lo primero que tenemos que hacer es registrarnos y crearnos una cuenta, este primer paso es completamente grátis y suficiente para nuestras necesidades.

En el proceso de registro, nos pedirá un nombre de usuario y dirección de correo, es muy importante que facilitemos una dirección de correo válida, porque será en esta dirección donde nos llegarán los avisos de expiración de registro, veremos más adelante que significa esto.

De momento, si ya tenemos nuestro usuario y nos hemos identificado correctamente, debemos ir a My Services:

My Services

Dentro de esta sección administramos los servicios que nos ofrece DynDNS, vamos a la opción en el menú izquierdo My Hosts > Dynamic DNS. Hacemos clic en el enlace Add Host para crear un nombre para nuestro servidor, en este formulario, hay información importante que debemos comentar:

Formulario Add Host

En el campo hostname, introduciremos el nombre que queramos darle a nuestra máquina, hay que tener en cuenta que nuestro nombre de host irá sobre unos dominios de segundo nivel que DynDNS pone a nuestra disposición, por ejemplo: homeip.org, homelinux.net, etc.

Por tanto, escogeremos el dominio que más nos guste del desplegable y pondremos el nombre para nuestra máquina. En el campo IP address aparecerá informada la dirección IP externa con la que estamos saliendo a Internet, la dejamos informada y pulsamos el botón Add Host. Si tenemos suerte y nuestro nombre + dominio escogido no ha sido registrado por alguien antes, ya tendremos creado un nombre de host que direcciona a nuestro servidor de casita. Si el nombre ya existe, paciencia e ir probando combinaciones con otros dominios u otros nombres.

Bueno, pues ya tenemos un nombre para nuestro servidor, ahora para probarlo debemos intentar navegar desde fuera de nuestra LAN, o pedirle a algún coleguilla que intente acceder via http a nuestro host. Si intentamos acceder a nuestro nombre de servidor desde nuestra red privada no podremos llegar al servidor web con la dirección externa, si queremos ver nuestra web debemos utilizar la dirección interna, según nuestro ejemplo 192.168.1.15

Actualizar automáticamente nuestra IP dinámica

Vale, ya tenemos el nombre de servidor y se supone que podemos acceder, ¿Qué pasa si cambia la dirección con la que salimos a internet?
Pues sencillamente que se nos desmonta el invento, a no ser que vayamos de nuevo a nuestro panel de control del DynDNS y actualicemos la IP en nuestro host. Evidentemente, hacer esto manualmente no es la solución, así que recurrimos a la utilidad ddclient.

ddclient es una utilidad escrita en Perl, que nos permite automatizar los cambios de IP en los registros de DynDNS. Podemos configurar ddclient para que periodicamente compruebe si nuestra IP externa ha cambiado y envíe los cambios al servidor de DynDNS.

Afortunadamente, diría que ddclient está disponible para la mayoría de distribuciones de linux, así que sea cual sea nuestra distro, seguro que no tendremos dificultades en localizarlo. En nuestro ejemplo utilizamos un servidor CentOS 4.2 así que buscaremos un rpm para Red Hat Enterprise Linux 4. Lo bajamos de aquí, concretamente nos bajamos la versión 3.6.7 a nuestro servidor web. Desde una consola como usuario root, instalamos ddclient:

rpm -i ddclient-3.6.7-1.2.el4.rf.noarch.rpm

Ahora vamos a configurarlo, editamos el fichero /etc/ddclient/ddclient.conf. El fichero tiene un montón de posibles opciones comentadas, detallo las imprescindibles para que la cosa funcione:


# Muy importante retocar esta variable,
# si chequeamos muy a menudo
# nuestro servidor, la gente de DynDNS
# nos bloqueará el servicio por abusones
# un buen valor es cada hora 60 * 60 = 3600 segundos
daemon=3600
protocol=dyndns2


# Esta opcion obtiene
# automáticamente nuestra ip externa
use=web, web=checkip.dyndns.org


# Estos son los valores utilizados
# en la autenticación
server=members.dyndns.org
login=ponaquituusuariodedyndns
password=pontupassworddedyndns


# A continuación especificamos el nombre
# de nuestro host que hayamos
# registrado en DynDNS
nombredehost.dominio

Guardamos el archivo con nuestros cambios, y configuramos ddclient como daemon para que automáticamente realice las comprobaciones:

chkconfig --level 345 ddclient on

Y arrancamos el servicio:

service ddclient start

Para saber si la cosa ha ido bien, lo más rápido es consultar el log del sistema, si hacemos un:

tail /var/log/messages

Deberiamos ver algo parecido a esto:

Jan 15 19:15:10 hydra ddclient: Iniciación de ddclient succeeded
Jan 15 19:15:12 hydra ddclient[8034]: SUCCESS: updating hydra.dynalias.org: nochg: No update required; unnecessary attempts to change to the current address are considered abusive

Bueno, y con esto damos por finalizamos nuestro briconsejo de hoy. Espero que esta guía sea de vuestra ayuda.

Montar un servidor web casero (Parte I)

Domingo, Enero 15th, 2006

Hoy en día, practicamente cualquiera puede disponer de un alojamiento web de calidad a unos precios muy asequibles. Sin embargo, los ISP en la mayoría de los casos, no permiten instalar cualquier tipo de software, o por ejemplo, en el caso de Java la oferta de proveedores no es muy amplia que digamos.

Ahí es donde podemos sacar partido a nuestra conexión ADSL para montar un servidor en nuestra casa que pueda ser accesible por cualquiera que esté conectado a Internet. Evidentemente, no podremos tener una disponibilidad de servicio de 24×7, pero seguro que nos permitirá hacer nuestros experimentos caseros sin ninguna limitación.

Esta guía no es muy exhaustiva, pero el escenario de partida es bastante habitual:

Esquema de una típica red local casera

Si tienes una conexión a Internet mediante un router ADSL, tu red se parecerá bastante al esquema anterior, y si no has pagado a tu proveedor para tener una IP pública fija, atento a lo que viene a continuación.
Los pasos a seguir en lineas generales se resumen en:

  • Instalar el servidor
  • Configurar NAT en el router
  • Disponer de un servicio de DNS
  • Actualizar automáticamente nuestra dirección externa

En este primer artículo, trataremos brevemente los dos primeros puntos.

Instalar el servidor

No voy a detallar aquí el proceso de intalación de un servidor linux, hay un montón de material disponible en Internet, simplemente detallaré la configuración escogida en mi caso.
Para nuestro servidor casero, hemos instalado un CentOS 4.2 con una configuración de servidor típica. Y hemos desactivando otros servicios innecesarios, por ejemplo la compartición de archivos Windows (servidor SAMBA).
Una vez finalizada la instalación realizamos los típicos ajustes:

  • Actualizar el sistema con up2date -u, ver este artículo anterior
  • Configuramos el firewall de la máquina con system-config-securitylevel, debemos permitir el tráfico en el puerto 80 (http) como mínimo
  • Asignamos una IP fija del rango de nuestra LAN, por ejemplo: 192.168.1.15

Una vez listo esto, comprobamos que la salida a internet desde nuestro servidor es correcta y todo funciona como si se tratara de un cliente normal y corriente. Ahora vamos a por el router.

Configuración del router

Debemos configurar nuestro router para que reenvie el tráfico entrante de un puerto determinado a la dirección interna que nos interese. En pocas palabras, y tomando como ejemplo el esquema de red anterior, si queremos hacer “visible” nuestro servidor web, debemos configurar el router para que el tráfico entrante sobre el puerto 80 (http) sea redirigido o mapeado hacia la IP interna 192.168.1.15

Los pasos a seguir dependerán del modelo de router que tengamos, en Internet existen varios sitios donde poder obtener información detallada. Un buen sitio con muchísima información es: ADSL Ayuda, aquí hay información detallada para la mayoría de modelos de router que se comercializan en España. Por ejemplo, podeis encontrar una explicación más detallada sobre el mapeo de puertos, o una guía para el router que tengo en casa.

Ver la segunda parte de este artículo.

Ubuntu 5.10 ya es oficial

Miércoles, Octubre 19th, 2005

Bueno, está vez la noticia me ha pillado de vacaciones y a estas alturas no es ninguna primicia, pero…

Hace pocos días, el 13 de este mismo mes, el equipo de Ubuntu anunció la disponibilidad oficial de la versión 5.10. Las novedades más relevantes las conmenté en otro artículo, y de todos modos si os interesa la mejor fuente es la oficial.

Sobre todo, lo que más me ha interesado es el anuncio de dos nuevas “ramas” oficiales:

  • Edubuntu, una versión de Ubuntu enfocada a su uso para escuelas y/o centros de enseñanza
  • Ubuntu for servers, un CD de instalación con pensado especialmente para su uso en servidores

En fin, que esta gente sigue fiel a su compromiso de liberar una versión cada 18 meses, y aunque mi corazoncito siempre será de Debian, la gente de Ubuntu está consiguiendo que cada vez tenga más razones para no dejar de usarlo.

Actualizar CentOS 4

Martes, Octubre 4th, 2005

Después de instalar Centos 4, a tratarse de una réplica exacta de RHEL 4, nos aparece en el entorno gráfico el icono del servicio de alertas sobre actualizaciones de la Red Hat Network (RHN).

Si ejecutamos up2date nos pedirá iniciar el proceso de activación del servidor en la RHN. Evidentemente, ésta no es nuestra intención porque, entre otras cosas, a parte de pagar la correspondiente suscripción, estariamos instalando un Red Hat.

¿Qué hacemos entonces? simplemente tenemos que importar en el sistema de paquetes la clave pública de CentOS, para proceder a la actualización del sistema, esto se consigue mediante la instrucción, (Conectados como root):

rpm --import
http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4

Después de importar la clave, podemos iniciar la actualización de nuestro sistema mediante:

yum -y update

Si la actualización transcurre de forma satisfactoria, a partir de este momento ya podemos utilizar up2date cuando queramos, y ya se conectará de forma automática a los repositorios oficiales de CentOS.

Guía no oficial para Ubuntu

Domingo, Septiembre 25th, 2005

Vale, acabas de instalar Ubuntu en tu PC. Y ahora que pasa con las típicas “ñapas” que siempre hay que hacer: quiero poder reproducir MP3, instalar el JDK, …

Todo esto y más lo encontrarás en “Unofficial Ubuntu 5.04 Starter Guide” (en inglés)

CentOS ¿Otra distro más?

Viernes, Septiembre 23rd, 2005

La iniciativa de la distribución CentOS es poco habitual, se trata de una distribución compatible 100 % a nivel binario con la archiconocida Red Hat Enterprise Linux.

El objetivo de los creadores de CentOS es ofrecer una distribución de calidad empresarial, pero sin necesidad de pagar por los servicios de actualizaciones o soporte. Lo que ha hecho el equipo de esta distribución es compilar los paquetes SRPM de Red Hat, disponibles públicamente , que para eso está el Open Source, y crear un “clon” de la distribución de Red Hat.

Esto es completamente legal según las políticas de distribución de Red Hat y así lo hacen saber la gente de CentOS, los únicos cambios que han realizado ha sido eliminar logos y marcas registradas del fabricante.

El esquema de versiones es paralelo en ambas distribuciones así, si montamos el CentOS 4 tendremos el equivalente a un RHEL4, con CentOS3 tendríamos un RHEL3, la gracia del tema es que a partir de este momento podremos actualizar tranquilamente nuestra máquina vía yum o up2date a partir de los repositorios oficiales de CentOS.

CentOS4 con Gnome

Evidentemente, sin negar la conveniencia a nivel corporativo de pagar por tener un servicio como Red Hat Network, disponer de CentOS es una alternativa muy válida para poder tener servidores de desarrollo o preproducción sin tener que pagar suscripciones por cada sistema.

Existen otras iniciativas parecidas a CentOS como White Box Linux, aunque ésta se ha quedado de momento en la versión RHEL3, y no parece que vayan a ofrecer la versión 4.

Más información en:

Anuncio oficial sobre la próxima versión de Ubuntu

Jueves, Septiembre 15th, 2005

En la web de Ubuntu ha salido el anuncio de la Preview Release de Ubuntu, correspondiente a la versión 5.10 (Breezy Badger).

Siguiendo la política de publicar nuevas versiones cada seis meses, esta toca en octubre. Algunas novedades destacables:

  • GNOME 2.12, (Han ido deprisa porque acaba de salir hace muy poco)
  • PHP5
  • Mejoras en el soporte hardware para portátiles
  • Kernel 2.6.12.5
  • Y otras mejoras bastante interesantes

La Preview Release se puede descargar ya, aunque para lo que falta para que salga la oficial, casi que vale la pena esperar un poco, un mes pasa volando…