Error al configurar Apache en Archlinux (access forbidden)

Al cambiar el DocumentRoot del apache nos podemos encontrar con el siguiente error:
Access forbidden!
You don't have permission to access the requested directory. There is either no index document or the directory is read-protected.
If you think this is a server error, please contact the webmaster.

Esto ocurre porque no sólo hay que cambiar el valor de la variable “DocumentRoot” en /etc/httpd/conf/httpd.conf, sino que también hemos de modificar una línea que aparece más hacia abajo:
#
# This should be changed to whatever you set DocumentRoot to.
< Directory "/home/web">

Ahora reiniciamos y listo.
# /etc/rc.d/httpd restart

Instalar Flash Player 10 en debian (y derivados)

Descargamos la última versión del pluggin (la guardamos en /tmp/): Flash player 10 Debian.

Como root:
# cd /tmp
# dpkg -i install_flash_player_10_linux.deb

Abrimos Firefox y en la barra de direcciones escribimos:
about:plugins

Una vez instalado debería aparecer algo así:
Shockwave Flash
Nombre del fichero: libflashplayer.so
Shockwave Flash 10.0 r45

Modificar grub2 para iniciar por defecto XP

Nuestro disco duro está dividido de la siguiente forma (puedes ver el tuyo con el comando “cfdisk”):
/dev/sda1 -> Partición de recuperación del fabricante
/dev/sda2 -> Partición para Windows (NTFS)
/dev/sda3 -> Partición para Ubuntu Linux
/dev/sda4 -> Linux Swap (partición de intercambio)

1- Nos tenemos que loguear como root, en ubuntu abrimos la consola y escribimos:
$ sudo su
2- Vemos la configuración actual del grub con el comando:
# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-19-generic
Found initrd image: /boot/initrd.img-2.6.31-19-generic
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows NT/2000/XP on /dev/sda1
Found Microsoft Windows XP Professional on /dev/sda2
done

Queremos conseguir:
- Que no se muestre la partición /dev/sda1 (és la del fabricante).
- Que se muestre primero la partición de windows.
- Que la partición de Windows sea la que se activa por defecto.
- Que no aparezca en el grub la opción de Memtest86.
- Cambiar el tiempo de espera.

Para ello, desde la consola (como root):
# cd /etc/grub.d/
# rm 20_memtest86+
# mv 10_linux 20_linux
# mv 30_os-prober 10_os-prober

Ahora el grub nos quedará de la siguiente forma:
# update-grub
Generating grub.cfg ...
Found Windows NT/2000/XP on /dev/sda1
Found Microsoft Windows XP Professional on /dev/sda2
Found linux image: /boot/vmlinuz-2.6.31-19-generic
Found initrd image: /boot/initrd.img-2.6.31-19-generic
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
done

Para eliminar la entrada /dev/sda1 editamos el archivo 10_os-prober, buscamos:
for OS in ${OSPROBED} ; do
DEVICE="`echo ${OS} | cut -d ':' -f 1`"
LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`"
BOOT="`echo ${OS} | cut -d ':' -f 4`"

if [ -z "${LONGNAME}" ] ; then
LONGNAME="${LABEL}"
fi

Y debajo añadimos:
if [ "${DEVICE}" = "/dev/sda1" ] ; then
continue
fi

Error wordpress al subir archivos (add new media)

El wordpress puede dar problemas en algunos hostings al subir archivos:
Error saving media attachment.

Esto sucede porque el servidor tiene activado el PHP SAFE MODE (modo seguro), el cuál no permite crear directorios (pero si archivos).

Wordpress tiene una opción para organizar los archivos que subimos en directorios, pero el servidor no permite crear directorios, por lo que tenemos que desactivar esta opción.

Settings-> Miscellaneous -> Desactivar casilla “Organize my uploads into month- and year-based folders”

Programación bash: error “let: not found”

A veces, al ejecutar un script en bash:
# sh script.sh
Obtenemos el siguiente error:
let: not found
Esto ocurre porque la shell que utilizamos no es la correcta, por defecto se usa dash y la orden “let” solo funciona con bash. (en dash podemos usar “expr” en vez de “let”).
Al ejecutar el script de la siguiente forma funcionará perfectamente:
# bash script.sh

Podemos modificar el enlace a /bin/sh para que use por defecto “bash” (hay que hacerlo como root):
$ cd /bin/ ; rm sh; ln -s /bin/bash /bin/sh

Bash Scripting I

Quitar espacio en blanco de una cadena de texto (o de los nombres de archivo):

$ echo "aa b ccc ddd eee" | sed -e "s/ //g"

Mostrar la primera palabra de cada línea de un fichero de texto:

#!/bin/sh
while read line
do
echo $line | cut -d" " -f1
done < texto.txt

Nuevo proyecto www.encarlet.com

Estos días he lanzado un nuevo proyecto web, esta vez se trata de una web para mi pueblo, Carlet.

Está hecha con el gestor de contenidos drupal, y permite que las diferentes asociaciones de esta localidad publiquen noticias y eventos que van a realizar próximamente.

Si le queréis hechar un vistazo: en carlet.

Airoscript error: el archivo de funciones no existe

“Airoscript” es el script que usa la distribución Wifislax para crackear redes wireless.
Es posible instalarlo en nuestra debian o derivadas (ubuntu) de una manera muy sencilla:

1- Nos bajamos el paquete desde:
http://code.google.com/p/airoscript/downloads/list
http://airoscript.googlecode.com/files/airoscript_2.1.1_all.deb

2- Como superusuario:
# apt-get install aircrack-ng konsole dhcpcd xterm kommander macchanger wireless-tools
Y lo instalamos:
# dpkg -i airoscript_2.1.1_all.deb

3- Si hubo algún error durante la instalación lo podremos solucionar seguramente con un:
# apt-get -f install

4- Ya tenemos el airoscript instalado, para ejecutarlo haremos (también como superusuario):
# airoscript
[ERROR] : El archivo de funciones no existe, saliendo
[ERROR] : Functions file does not exists, quitting

Parece ser que “airoscript” no encuentra el archivo de funciones (las rutas no están correctamente en el archivo de configuración), veamos cómo solucionar esto ;) :

1- Editamos el archivo de configuración (yo voy a usar el editor “vi”, vosotros podéis usar el que queráis, por ejemplo el gedit):
# vi /etc/airoscript.conf

2- En la línea número 56 vemos algo parecido a esto:
FUNCTIONS="$PREFIX/share/airoscript/airoscfunc.sh"
La variable $PREFIX hace referencia (línea 40) a:
PREFIX="/usr/local"
Por lo que se supone que el archivo de funciones tendría que estar en:
# ls /usr/local/share/airoscript/airoscfunc.sh
ls: no se puede acceder a /usr/local/share/airoscript/airoscfunc.sh: No existe el fichero o el directorio

3- Pero la ruta no es correcta…. ¿Dónde se encuentra nuestro archivo de funciones?
# updatedb
# locate airoscfunc.sh
/usr/share/airoscript/airoscfunc.sh

4- Como vemos, el archivo se encuentra en /usr/share y no en /usr/local/share como nos indicaba la variable $PREFIX vista anteriormente, así que la modificamos:
# vi /etc/airoscript.conf
PREFIX="/usr/local" -> PREFIX="/usr"

5- Y ya funciona correctamente:
# airoscript

Manifiesto: En defensa de los derechos fundamentales en Internet

Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que…

1.- Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.

2.- La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.

3.- La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.

4.- La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.

5.- Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.

6.- Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.

7.- Internet debe funcionar de forma libre y sin interferencias políticas auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.

8.- Exigimos que el Gobierno garantice por ley la neutralidad de la Red en España, ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.

9.- Proponemos una verdadera reforma del derecho de propiedad intelectual orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.

10.- En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.

Este manifiesto, elaborado de forma conjunta por varios autores, es de todos y de ninguno. Si quieres sumarte a él, difúndelo por Internet.

Virtualbox-3.0 (Sun VirtualBox) en Debian Squeeze

Existen dos ramas en Virtualbox, la versión OSE (Open Source Edition) que no tiene soporte para USB y la versión comercial (gratuita si le vas a dar un uso personal o de evaluación), en nuestro caso vamos a instalar la versión comercial.
Para que no tener ningún problema con los módulos vboxdrv y vboxnetflt lo que hacemos és instalar primero la versión OSE y después (una vez compilados e instalados los módulos) reemplazarla por la comercial.

Desde la consola y como root:

1 – Instalamos el virtualbox-ose (así compilaremos los módulos para nuestro kernel).
aptitude update && aptitude install module-assistant virtualbox-ose
m-a a-i virtualbox-ose-source
modprobe vboxdrv
modprobe vboxnetflt
adduser yourusername vboxusers

2- Añadimos al fichero /etc/apt/sources.list las línea siguientes:
# Virtualbox
deb http://download.virtualbox.org/virtualbox/debian lenny non-free

3- Ejecutamos desde la consola:
wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -

4- Instalamos el Virtualbox-3.0:
apt-get install virtualbox-3.0

5- Lo ejecutamos desde nuestro usuario y listo ;)
VirtualBox (V y B mayúsculas)