Posts Tagged ‘Linux’

Streaming con Shoutcast en Debian

Posted in Curso Adm. Servidores, Musica, Servidores on julio 31st, 2009 by Itimag – 3 Comments

SHOUTcast es un software libre multiplataforma para el streaming que utiliza MP3 o ACC para la codificación del audio y HTTP como protocolo de transporte de este mismo, conocido como una radio de Internet.  El formato de salida que produce es soportado por múltiples aplicaciones cliente:  XMMS, Amarok, Apple iTunes y otros.

Hay que tener en cuenta que una estación de  SHOUTcast necesita abrir ciertos puertos en el firewall o cortafuegos del servidor. En este caso necesitamos tener abiertos los puertos 8000/tcp y 8001/tcp en el cortafuegos (IPTables).

Instalación

- Lo primero de todo, debemos crear un nuevo usuario en el servidor con la finalidad de que sea éste el que ejecute el SHOUTcast (para mayor seguridad). Por ello, ejecutamos el siguiente comando en nuestra shell del servidor:

read more »

Descargas premium Rapidshare desde consola o shell

Posted in Linux on julio 29th, 2009 by Itimag – Be the first to comment

¿Es posible descargar de rapidshare en linux desde shell utilizando una cuenta premium? Si que es posible. Veamos como hacerlo:

Para descargar un único archivo de rapidshare, escribimos este comando:

wget --http-user=tu_nombre_de_usuario --http-password=tu_password -v -c URL_RAPIDSHARE

Para descargar utilizando un listado de enlaces de rapidhsare, creamos un fichero llamado “lista.txt” con todos los links que quieras descargar y después introduces este comando:

wget --http-user=tu_nombre_de_usuario --http-password=tu_password -v -ci lista.txt

Si queremos limitar la velocidad de descarga/subida, podemos utilizar una herramienta llamada trickle.  Con el parámetro -d 50 estamos limitando la velocidad de descarga a 50 KB/s y con -u 30 limitamos las de subida a 30 kB/s.

Ejemplos de uso de trickle:

trickle -d 50 -u 30 wget --http-user=tu_nombre_de_usuario --http-password=tu_password -v -c URL_RAPIDSHARE

Tambien podemos combinar el uso de wget y de trickle con el comando “screen”, el cual nos va a permiter ejecutar el comando en una nueva shell virtual de tal forma que si cerramos nuestra shell, la shell virtual continuará abierta y seguirá descargando los ficheros. Veamos entonces los comandos:

screen trickle -d 50 -u 30 wget --http-user=tu_nombre_de_usuario --http-password=tu_password -v -c URL_RAPIDSHARE
 
screen trickle -d 50 -u 30 wget --http-user=tu_nombre_de_usuario --http-password=tu_password -v -ci lista.txt

Ahora, para volver a nuestra shell pulsamos “ctrl+d”. La descarga seguirá realizándose en la shell virtual.

Si quieremos volver a la shell virtual, utilizaremos el siguiente comando:

screen -r

Más información sobre trickle aquí.
Más información sobre screen aquí.

Saludos.

Instalando zabbix 1.6.2 en Debian etch

Posted in Servidores on enero 22nd, 2009 by Itimag – 1 Comment

Llevo unos días informándome de algún sistema que permita la monitorización de servidores con la misma finalidad que siempre: aprender :P .

Buscando por la red encontré distintas aplicaciones de código libre entre las cuales se encuentra zabbix. Mi principal objetivo es el de disponer de un sistema de monitorización que me avise por mail cuando se produce la caída de cualquier servicio del servidor (ssh, ftp, apache, bind, etc). Zabbix permite eso y mucho más.

A continuación os explico como instalar la última versión en linux debian:

Instalamos todos los requerimientos de zabbix:

aptitude -y install build-essential libmysqlclient-dev libssl-dev libsnmp-dev apache2 libapache2-mod-php5 php5-gd php5-mysql mysql-server

Añadimos el grupo y usuario zabbix ya que es necesario para la aplicación:

groupadd zabbix
useradd -c 'Zabbix' -d /home/zabbix -g zabbix -s /bin/bash zabbix
mkdir /home/zabbix
chown zabbix:zabbix /home/zabbix

Creamos la base de datos para zabbix:

mysql -p -u root
create database zabbix;
grant all on zabbix.* to 'zabbix'@'localhost' identified by 'PASSWORD';
quit;

Nota: debes substituir PASSWORD por la contraseña que le quieras asignar.

Descargamos y descomprimimos las fuentes

cd /home/zabbix
wget http://ovh.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.6.2.tar.gz
tar zxvf zabbix-1.6.2.tar.gz
cd zabbix-1.6.2

Compilamos el código fuente y instalamos zabbix_server y zabbix_agentd.

./configure --prefix=/usr --with-mysql --with-net-snmp --enable-server --enable-agent --with-libcurl
make
make install

Añadimos los puertos a /etc/services y creamos algunos ficheros de configuración:

echo " zabbix_agent 10050/tcp # Zabbix ports
zabbix_trap 10051/tcp" >> /etc/services
mkdir -p /etc/zabbix
chown -R zabbix:zabbix /etc/zabbix
cp misc/conf/zabbix_* /etc/zabbix

Modificamos los datos de acceso a la base de datos:

nano /etc/zabbix/zabbix_server.conf

Modificamos lo siguiente:

DBHost=localhost o tu db host
DBName=zabbix
DBUser=zabbix
DBPassword=ZABBIX_PASSWORD

Nota: ZABBIX_PASSWORD corresponde con la contraseña que configuamos cuando dimos permisos con GRANT.

Copiamos los iniciadores de los servicios y hacemos una pequeña modificación:

cp /home/zabbix/zabbix-1.6.2/misc/init.d/debian/* /etc/init.d/
nano /etc/init.d/zabbix-agent

Buscamos la linea

DAEMON=/home/zabbix/bin/${NAME}

y la substituimos por

DAEMON=/usr/sbin/${NAME}

Ahora con el otro fichero:

nano /etc/init.d/zabbix-server

Buscamos la linea

DAEMON=/home/zabbix/bin/${NAME}

y la substituimos por

DAEMON=/usr/sbin/${NAME}

Subimos las tablas a la base de datos:

mysql -u root -p zabbix < /home/zabbix/zabbix-1.6.2/create/schema/mysql.sql
mysql -u root -p zabbix < /home/zabbix/zabbix-1.6.2/create/data/data.sql
mysql -u root -p zabbix < /home/zabbix/zabbix-1.6.2/create/data/images_mysql.sql

Modificamos la configuración de nuestro php:

nano /etc/php5/apache2/php.ini

Modificamos lo siguiente:

max_execution_time = 300
date.timezone = Europe/Madrid

Reiniciamos apache e iniciamos los servicios de zabbix:

/etc/init.d/apache2 restart
/etc/init.d/zabbix-server start
/etc/init.d/zabbix-agent start

Ya podemos acceder a zabbix desde http://tu_ip/zabbix/ y seguimos las instrucciones.

¿Dos IP en un mismo equipo o servidor?

Posted in Curso Adm. Servidores, Servidores on noviembre 22nd, 2008 by Itimag – 1 Comment

Seguimos con el curso de administración de servidores.

Este es un ejemplo práctico de como añadir una segunda ip a un servidor en una misma interfaz o tarjeta de red utilizando una ip privada (para que fuera de utilidad, debería ser pública). Esto es útil para poder asignar a nuestro servidor distintas direcciones ip, permitiéndonos de esta forma crear nuestros servidores de dns (ns1.ejemplo.com y ns2.ejemplo.com) en un mismo equipo sin que los analizadores de dns den error.

Esta acción tiene una desventaja muy grande: si falla nuestro equipo, no se resolverá el dominio/s ya que los dos servidores de nombres de dominio (o DNS) estarán caídos.

Si el servidor DNS y el servidor web que transmite nuestras páginas se encuentran en el mismo equipo, no hará falta que nos preocupemos de lo anterior ya que si se cae el servidor web, no hace falta que intente resolver el dominio ya que no resolverá por mucho que los servidores de dominio si que funcionen.

Tras esta explicación, pasemos a la acción

Veamos nuestra configuración actual. Para ello, escribimos lo siguiente en un el terminal:

/sbin/ifconfig

Se visualiza algo como esto:

itimag@server1:~$ /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 00:E0:7D:DF:EA:07
          inet addr:192.168.2.222  Bcast:192.168.2.255  Mask:255
          inet6 addr: fe80::2e0:7dff:fedf:ea07/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:739 errors:0 dropped:0 overruns:0 frame:0
          TX packets:295 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:61160 (59.7 KiB)  TX bytes:41734 (40.7 KiB)
          Interrupt:11 Base address:0xc000
 
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)

Supongamos que queremos añadir la IP AAA.BBB.CCC.DDD a nuestra interfaz de red eth0 (nuestra interfaz de internet por cable).

Para ello, editamos el fichero /etc/network/interfaces de la manera siguiente :

nano /etc/network/interfaces

Observamos lo siguiente:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
             address xxx.xxx.xxx.xxx
             netmask 255.255.255.0
             gateway xxx.xxx.xxx.xxx

Al final del fichero, debemos añadir lo siguiente:

auto eth0:0
 
iface eth0:0 inet static
               address AAA.BBB.CCC.DDD
               netmask 255.255.255.0
               gateway xxx.xxx.xxx.xxx # La puerta de enlace

A continuación activamos la nueva interfaz que hemos definido:

ifup eth0:0

Verificamos la configuración :

/sbin/ifconfig

Nos aparecerá algo parecido a lo siguiente:

server1:/home/itimag# /sbin/ifconfig
 
eth0      Link encap:Ethernet  HWaddr 00:E0:7D:DF:EA:07
          inet addr:192.168.2.222  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::2e0:7dff:fedf:ea07/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2033 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1055 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:178474 (174.2 KiB)  TX bytes:173779 (169.7 KiB)
          Interrupt:11 Base address:0xc000
 
eth0:0    Link encap:Ethernet  HWaddr 00:E0:7D:DF:EA:07
          inet addr:192.168.2.111  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:11 Base address:0xc000
 
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)

Ahora añadimos esta misma ip al fichero /etc/resolv.conf añadiendo la siguiente linea al final del fichero:

nameserver AAA.BBB.CCC.DDD

Próximamente más :) .