Servidor Radio Shoutcast Automatizado

A muchos seguro que les haría gracia montar su propio servidor de radio pero no saben como.
Llevo unos días pensando la manera de automatizar un servidor de radios para ser
fácil de administrar, básicamente es descargar y darle al instalador el se encarga de todo.
El paquete está compuesto por los siguientes paquetes:
- crea_radio ( Sirve para crear las radios como su nombre indica)
- radioup (inicia la radio)
- killradio ( para la radio )
- autodj (Lee una lista de reproducción , y emite directamente desde el server )
- killautodj ( para la emisión desde el servidor)
El paquete lo podeis descargar de aqui.
Instalación del servidor
Una vez tengáis el archivo radios-1.0.tar.gz
lo descomprimís
# tar -xvfz radios-1.0.tar.gz
# cd radios/
# sh install.sh (Como root)
Manejo de las aplicaciones
Todas las aplicaciones funcionan igual
Creacion del servidor :
Crearemos una radio que usara el puerto 8003
# crea_radio 8003
Password: la_password // aqui definimos la contraseña para emitir y administrar el servidor
Users Max : 200 // numero máximo de usuarios
Una vez creada pasamos a iniciarla
# radioup 8003
ahora podemos ver que esta iniciado el servidor conectando a la ip puerto http://xxx.xxx.xxx.xxx:8003
donde xxx.xxx.xxx.xxx es la ip
Como Emitir?
Muchos se preguntaran como emito , tenemos 2 maneras usando el autodj o emitiendo desde casa con nuestro reproductor.
Por autodj:
Si tenemos an directorio con mp3 en el servidor podemos crear una lista de reproducción de la siguiente forma.
# find /ruta/a/mp3 -iname “*.mp3″ >/opt/radios/8003/playlist.lst
Este comando busca todos los archivos de un directorio que contengan la extensión mp3y los añade a la lista de reproducción.
Ahora es el momento de iniciar el autodj
# autodj 8003
Desde este momento nuestros servidor pasara a ejecutar los mp3 del directorio.
Emitir desde Winamp
podeis usar este manual
Matar al DJ
#killautodj 8003 //Para el autodj
#killradio 8003 //Para autodj y la radio
Colocar el stream en la web
Puedes usar el script.
#crea_web 8003 //Genera una web para reproducir la radio
Este comando nos va a pedir varios datos
IP/DOMINIO: www.tuxed.es //El dominio o ip del servidor
Color Fondo: white //color del fondo de la pagina tiene que ir en ingles o hexadecimal
URL Imagen: http://www.tuxed.es/logo.png //url hacia la imagen que se mostrara
Donde esta el directorio de apache: /var/www/html //ruta donde esta alojada la web
Desde este momento tendremos una radio con un reproductor en flash ( dewplayer )
y podremos escuchar la radio entrando en www.tudominio.com/8003
Espero que haya gustado.
Cómo añadir módulos a php5 sin recompilar

Una manera simple y sin complicaciones para instalar módulos de php5 sin recompilar php
Con este pequeño Tip podrás añadir varios módulos sin complicarte la vida.
Primero de todo debes obtener las fuentes de php5-dev
puedes conseguir en php.net o a través de tu gestor de paquetes en debian
# apt-get source php5-dev
una vez descargadas las fuentes las descomprimimos y nos colocamos en ext/
dentro del tar descomprimido en mi caso php-5.2.0/ext
bcmath fdf mbstring pcre reflection sysvsem
bz2 filter mcrypt pdo session sysvshm
calendar ftp mhash pdo_dblib shmop tidy
com_dotnet gd mime_magic pdo_firebird simplexml tokenizer
ctype gettext ming pdo_mysql skeleton wddx
curl gmp msql pdo_oci snmp xml
Estos son algunos de los módulos disponibles.
Entramos al directorio del modulo que nos interese por ejemplo oci8 para dar soporte para Oracle
Entramos en el directorio del modulo.
# cd oci8
Ejecutamos el comando phpize
Compilamos el modulo
# ./configure && make
Copiamos el archivo compilado a la carpeta de librerías de php5 en mi caso (usr/lib/php5/20060613+lfs)
#cp .libs/oci8.so usr/lib/php5/20060613+lfs/
NOTA: El directorio .lib es oculto por lo que debes poner un “.” antes
Le Cambiarmos los permisos
#chmod 644 usr/lib/php5/20060613+lfs/oci8.so
Editamos php.ini para cargar la nueva extensión añadida.
# vi /etc/php.ini
. . .
extension_dir = “usr/lib/php5/20060613+lfs”
extension=oci8
. . .
Reiniciamos el servidor web
/etc/init.d/apache2 restart
Con esto tendremos el módulo de mssql para php5
Ahora simplemente cambias por el modulo que necesites.
Servicios de Hosting Con IP Dinamica
![]()
Holas después de un largo tiempo sin publicar nada , aquí os dejo un pequeño manual para montar hosting casero usando ip dinamica y los servicios de 1and1.
Primero de Todo debemos crear un dominio dinamico en algun servicio como no-ip.com
para el caso de no-ip nos registramos en la web y añadimos un nuevo host

Una vez añadido el host debemos configurarlo en nuestro servidor o router para ello instalaremos el cliente
de no-ip que se encuentra en los repositorios de debian.
para ello ejecutaremos
# aptitude install no-ip
Una vez instalado ejecutamos
# no-ip -C
Please enter the login/email string for no-ip.com: tu_cuenta@domain.com
Please enter the password for user tu_password
Please enter an update interval:[30] //Dejalo en Default dale 30//
Do you wish to run something at successful update?[N] (y/N) //Presiona N//
Ejectando el servio si se reinicia la maquina.
# update-rc.d -f no-ip defaults
Adding system startup for /etc/init.d/no-ip ...
/etc/rc0.d/K20no-ip -> ../init.d/no-ip
/etc/rc1.d/K20no-ip -> ../init.d/no-ip
/etc/rc6.d/K20no-ip -> ../init.d/no-ip
/etc/rc2.d/S20no-ip -> ../init.d/no-ip
/etc/rc3.d/S20no-ip -> ../init.d/no-ip
/etc/rc4.d/S20no-ip -> ../init.d/no-ip
/etc/rc5.d/S20no-ip -> ../init.d/no-ip
Preparando toda la paqueteria.
Software necesario para nuestro Servidor:
- php
- mysql ( en los repos como mysql-client )
- mysql-server
- httpd (o apache2 en debian)
- perl
- bash ( La shell de linux este ya lo tenemos )
Modulos de Perl:
- POSIX
- Socket
- DBI
- DBD::mysql
- File::Basename
- MIME::Base64
- Sys::Syslog
Estos modulos puede que ya los tengas instalados en tu servidor si no puedes instalarlo desde cpan así:
# cpan
cpan> install Sys::Syslog
…..
cpan > bye
Paqueteria para Servicios web
- mod_ssl # Modulo SSL para apache, lo usaremos para crear paginas seguras
- openssl # Generar Certificados SSL
- php-imap # para que el webmail funcione
- php-mysql # para que phpMyAdmin funcione
- net-snmp # para obtener información con mrtg
Paqueteria para Servicios de Correo:
- postfix # servidor de correo
- postgrey # listas grises
- dovecot # Servidor POP3/IMAP
- vsftpd #Servidor FTP
- bind #Servidor DNS
- amavisd-new # Controlar anti-spam/virus
- spamassassin # Anti-spam para el correo
- clamd # Anti-virus para el correo
- mrtg # Gráficos de red
Instalando Todo
Para Debian:
# apt-get install apache2 php5 mysql-server apache-ssl openssl postfix postgrey dovecot-common vsftpd spamassassin clamav amavisd-new bind mrtg
Para CentOS: # yum install httpd php mysql-server mod_ssl openssl postfix postgrey dovecot vsftpd spamassassin clamd amavisd-new bind mrtg
Instalando Panel Control Usuarios
Una vez instaladas todas las dependencias es el momento de instalar un Panel para administrar todo.
Para ello descargamos la versión estable de Ravencore.
# wget http://garr.dl.sourceforge.net/sourceforge/ravencore/ravencore-0.3.3.tar.gz
# tar zxvf ravencore-0.3.3.tar.gz # cd ravencore-0.3.3 # make build # make install Con esto ya tenemos el Panel Instalado y listo para funcionar. # /etc/init.d/ravencore start Iniciado el servicio , asignamos una password al usuario admin # /usr/local/ravencore/sbin/run_cmd passwd Ahora ya podemos logearnos al panel conectándonos a la ip de la maquina al puerto 8000 http://x.x.x.x:8000
Click en la imagen para ver capturas
Una vez logeado podremos crear servicios web desde el panel.
Configuración DNS Proveedor.
En el caso de 1and1 iremos ha
Dominios
Seleccionamos nuestro Dominio . Pestaña DNS / Modificar Configuración DNS
Configuración general
| Alias * | tu_dominio.no-ip.org |
|---|---|
| [X]Conozco y acepto que toda configuración DNS, direcciones de e-mail y configuraciones para el reenvío actuales se desactivarán. |
Remplazar tu_dominio.no-ip.org por dominio Virtual creado en no-ip.com
Creación de VirtualHosts dinamicos
De esta forma con un solo virtualhost cubriremos todos los dominios.
# vi /etc/httpd/conf.d/dinamicos.conf
# Configuracion para virtualhost dinamicos: # UseCanonicalName Off <VirtualHost *:80> ServerName %1 VirtualDocumentRoot /users/%0/httpdocs
#VirtualScriptAlias /users/%0/cgi-bin
#ScriptAlias /cgi-bin/ /var/www/default/cgi-bin
<Directory /var/www/%0/httpsdocs>
AllowOverride All
Options FollowSymLinks
Order allow,deny
Allow from all
php_admin_value safe_mode 0
php_admin_value open_basedir /users/%0/httpdocs
php_admin_value sendmail_from webmaster-%0@%2+
#Include ./conf.d/php.conf
DirectoryIndex index.php index.php4 index.php3 index.cgi index.pl index.html index.htm index.shtml index.phtml
</Directory>
#
# rewrite
#
Rewritelog /var/log/httpd/rewrite_log
RewritelogLevel 0
RewriteEngine on
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{REQUEST_URI} !^/\_(MYADMIN|MYSQL|ERROR)
#RewriteCond %{REQUEST_URI} !^/\_(CORREO|MAIL|MYADMIN|MYSQL|ADMINCORREO|ERROR|SERVERGFX|STATS|GESTION)
#RewriteCond %{REQUEST_URI} !^/awstats
RewriteCond %{HTTP_HOST} ^www
RewriteCond %{HTTP_HOST} ^www\.(.+)$
RewriteRule ^(.+) /users/%1/httpdocs/$1
#
# Logs:
#
LogFormat “%V %{X-Forwarded-For}i %{%d-%m-%Y@%I:%M:%S(%Z)}t \”%r\” %s %b” vcommon
CustomLog /var/log/httpd/vcommon-access.log vcommon
</VirtualHost>
Nota:Remplazar /users/ por la ruta marcada en la instalación del panel.
Descargar Configuración
Cada vez que añadimos un virtual host tendremos de añadirlo en 1and1 y modificar el CNAME. Espero que les haya gustado si teneis alguna duda comentario.
