http_access deny block_port
#ultima linea
http_access allow all
Si por ejemplo quieres que se aplique esta restriccion a toda la red menos a una ip determinada
acl no_block_port_ip src 192.168.1.10
http_access allow all

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:
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)
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
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
#killautodj 8003 //Para el autodj
#killradio 8003 //Para autodj y la radio
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.
![]()
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
Software necesario para nuestro Servidor:
Modulos de Perl:
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
Paqueteria para Servicios de Correo:
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
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>
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.

Aqui un sencillo tip para ejecutar comandos a todos los VPS a la vez
# ./vzexec-all uptime 12:57:12 up 2 days, 15:14, 0 users, load average: 0.00, 0.00, 0.00 3:57pm up 2 days 15:14, 0 users, load average: 0.00, 0.00, 0.00 3:57pm up 2 days 15:14, 0 users, load average: 0.00, 0.00, 0.00 3:57pm up 2 days 15:14, 0 users, load average: 0.03, 0.01, 0.00 12:57:13 up 2 days, 15:14, 0 users, load average: 0.00, 0.00, 0.00 12:57:13 up 2 days, 15:13, 0 users, load average: 0.00, 0.00, 0.00 12:57:13 up 2 days, 15:13, 0 users, load average: 0.00, 0.00, 0.00 12:57:13 up 2 days, 15:13, 0 users, load average: 0.00, 0.00, 0.00
El script se usa para ejecutar comandos a todas las maquinas que estan funcionando
modo empleo:
vzexec-all.sh comando
El script puede usarse para hacer copias de las paginas web alojadas de los VPS.
Podrias usar rsync para hacer backups de los directorios y guardarlos en el NAS comprimidos y como nombre usar `hostname`.$DATE.tar.gz

Instalación de nginx
Para tener instaladon nginx en gento , lo haremos desde el portage
# emerge nginx
Arrancamos nginx:
# /usr/local/sbin/nginx
y comprobamos que funciona introduciendo en el navegador nuestra URL:
http://midominio.com/
Lo único que nos queda para tener nginx funcionando es crear un script que arranque el servidor web cuando arranque el VPS:
# kill `cat /usr/local/nginx/logs/nginx.pid` # vi /etc/init.d/nginx # chmod +x /etc/init.d/nginx # /usr/sbin/update-rc.d -f nginx defaults
Siendo /etc/init.d/nginx:
#! /bin/sh
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/nginx
NAME=nginx
DESC=nginx
test -x $DAEMON || exit 0
# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/nginx.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid \
--exec $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/usr/local/nginx/logs/nginx.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
/usr/local/nginx/logs/nginx.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/nginx.pid \
--exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
Supongamos que el virtual host de nginx en el que funcionará el blog basado en WordPress es blog.midominio.com. En este caso, en el fichero de configuración de nginx, que será /usr/local/nginx/conf/nginx.conf, tendremos que añadir, de momento:
server {
listen 80;
server_name blog.midominio.com;
access_log /var/log/nginx/blog.midominio.com/access.log;
error_log /var/log/nginx/blog.midominio.com/error.log;
location / {
root /var/www/blog.midominio.com;
index index.html;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
El directorio para los logs, /var/log/nginx/blog.midominio.com, y el directorio para las páginas, /var/www/blog.midominio.com, pueden ser otros. En cualquier caso, los deberemos crear a mano. Después de cualquier cambio en el fichero de configuración de nginx es necesario un restart:
# /etc/init.d/nginx restart
Llegados a este punto, podemos crear un index.html en /var/www/blog.midominio.com y ver que carga correctamente en el navegador:
http://blog.midominio.com/
La instalación de PHP es realmente sencilla:
# emerge install php5-cli php5-cgi php5-mysql $ php -v PHP 5.2.0-8+gentoo (cli) (built: Dec 29 2007 14:49:25) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies
La implementación de FastCGI que vamos a utilizar es la que viene con lighttpd. Lo que haremos será compilar lighttpd, pero no instalarlo. Copiaremos a mano el proceso spawn-fcgi:
wget http://www.lighttpd.net/download/lighttpd-1.4.18.tar.gz gunzip lighttpd-1.4.18.tar.gz tar xvf lighttpd-1.4.18.tar cd lighttpd-1.4.18/ ./configure make sudo cp src/spawn-fcgi /usr/bin/spawn-fcgi
Ahora que ya tenemos FastCGI, crearemos un script para lanzarlo, al que llamaremos /usr/bin/php-fastcgi, y cuyo contenido será:
#!/bin/sh /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -f /usr/bin/php5-cgi
Crearemos también el script de arranque y parada para cuando rearranquemos el servidor. Le llamaremos /etc/init.d/php-fastcgi, y su contenido será:
#!/bin/bash
PHP_SCRIPT=/usr/bin/php-fastcgi
RETVAL=0
case "$1" in
start)
$PHP_SCRIPT
RETVAL=$?
;;
stop)
killall -9 php5-cgi
RETVAL=$?
;;
restart)
killall -9 php5-cgi
$PHP_SCRIPT
RETVAL=$?
;;
*)
echo "Usage: php-fastcgi {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL
Damos los permisos adecuados y añadimos php-fastcgi a los scripts de arranque y parada:
# chmod 755 /etc/init.d/php-fastcgi # chmod 755 /usr/bin/php-fastcgi # /usr/sbin/update-rc.d -f php-fastcgi defaults
Nos queda volver a editar el fichero de configuración de nginx, /usr/local/nginx/conf/nginx.conf, donde añadiremos, en la sección del servidor virtual que hemos creado, la configuración necesaria para que los scripts PHP sean redireccionados al proceso FastCGI. También en esta sección, deberemos cambiar la página de inicio de index.html a index.php y añadir una regla de reescritura para que WordPress funcione correctamente. Con todos estos cambios, la sección completa del servidor virtual de nginx para el blog quedaría:
server {
listen 80;
server_name blog.midominio.com;
access_log /var/log/nginx/blog.midominio.com/access.log;
error_log /var/log/nginx/blog.midominio.com/error.log;
location / {
root /var/www/blog.midominio.com;
index index.php;
if (-e $request_filename) {
break;
}
rewrite ^/(.+)$ /index.php?q=$1 last;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/blog.midominio.com$fastcgi_script_name;
include conf/fastcgi.conf;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
El fichero de configuración de FastCGI será /usr/local/nginx/conf/fastcgi.conf:
fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; # PHP only, required if PHP was built with --enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200;
Para probar que funcionar, después de rearrancar nginx, podemos crear en /var/www/blog.midominio.com el siguiente fichero index.php:
<? phpinfo(); ?>
Si introducimos en el navegador la URL http://blog.midominio.com obtendremos una página con información sobre nuestra instalación de PHP.
Script de Instalación Multidistro
Para los mas vagos he preparado un script de instalación multi Distro, Una vez instalado y con todas las Dependencias cumplidas , Paquetes de compilacion las bindutils nos permitira hacer funcionar el script Para alguna duda o ampliación del script dejen comentarios. PD: Una vez instalado deveras añadir el runlevel que quieres que te inicie de forma manual.

ssmtp es una pequeña herramienta que nos permitira enviar correos usando el comando mail o mutt desde la linea de comandos , de hecho ssmtp actua como un smtp relay reenviando nuestros correos a nuestra cuenta de gmail.
Esta herramienta puede ser util por ejemplo en scripts donde queremos enviar datos desde mail sin disponer de un MTA instalado localmente.
Tambien puede ser util en la configuración de las notificaciones de Nagios (Sistema de Monitorización) , para permitir la notificación en los servidores de correo de nuestra empresa.
En este how-to uso gentoo aunque puede ser adaptado facilmente a tu distribución favorita.
Para instalar ssmtp en gentoo usaremos el siguiente comando.
# USE=”ipv6 -mailwrapper -md5sum ssl” emerge ssmtp
Una vez instalado simplemente es configurar ssmtp:
necesitaremos dos archivos
$ ls -l /etc/ssmtp/
total 16
-rw-r–r– 1 root root 89 feb 9 01:39 revaliases
-rw-r–r– 1 root root 192 feb 9 01:38 ssmtp.conf
root=usuario@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=usuario@gmail.com
UseSTARTTLS=YES
AuthUser=usuario
AuthPass=tu_password
FromLineOverride=YES
Los datos que debes remplazar por los datos de tu cuenta estan marcados en negrita.
El AuthUser= debe escribirse sin @gmail.com
root:name@gmail.com:smtp.gmail.com:587
mainuser:name@gmail.com:smtp.gmail.com:587
Con esto asocia un usuario local a nuestra cuenta de gmail , logicamente tendremos de remplazar name@gmail.com por nuestra cuenta que configuremos en ssmtp.conf
Si todo funciona bien podremos enviar correos usando
$ echo “esto es una prueba” | mail -s “PRUEBA” destinatario@domain.com

Fr33project es el Blog de David Reguera Garcia , un buen amigo especializado en bajo nivel.
En su blog puedes ver algunas cosas interesantes como:
En conclusion un blog de calidad sobre el tema , con articulos muy elaborados y muy buenas herramientas.
Ademas esta en español y ingles
Uninformed es una publicación electronica sobre seguridad informatica con contenido underground.
Entre su contenido podemos destacar:
En este nuevo numero concretamente el 9 se incluye:
![]()
Algunas veces estamos editando un fichero con vim y queremos salir a la shell, pero no queremos perder la parte donde estamos editando , o tener que logearnos de nuevo por ssh , pues bien, si estamo en el modo comando de vim (Tecla ESC) es tan fácil como teclear :shell, y para volver al fichero que estamos editando tecleamos exit.

Para el que no lo sepa , squid es un proxy cache que funciona en servidores Unix , es un equivalente al ISA Server de microsoft
En muchas redes de empresas , institutos es necessario bloquear el messenger para que la gente no se distraiga.
Si por ejemplo quieres que se aplique esta restriccion a toda la red menos a una ip determinada