Apache: bad user name ${APACHE_RUN_USER} (1)

Generalmente tengo el servidor apache funcionando todo el tiempo (cosa que por seguridad no debería tenerlo) al momento de modificar algunos parámetros del php.ini necesitaba reiniciar el servidor, esto se hace normalmente con:

sudo /etc/init.d/apache2 restart

Pero al realizar dicha acción por consola, solo me salía el siguiente mensaje:

apache2: bad user name ${APACHE_RUN_USER}

La información extra:

  • SO: Ubuntu 9.10 karmic koala
  • Servidor: Apache/2.2.12 (Ubuntu)

Vamos al grano, para solucionar esto:

Necesitamos configurar un par de parámetros en el archivo apache2.conf (antiguamente httpd), lo hacemos con gedit, en consola:

sudo gedit /etc/apache2/apache2.conf

Luego buscamos las siguientes líneas:

User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

Y las modificamos con:

User www-data
Group www-data

Reiniciamos y la siguiente vez funcionarán normalmente las órdenes de apache.

Consola: buscar un texto en un conjunto de archivos

Al copiar «algunos» archivos de texto plano de la red a mi equipo, para ser más exactos 7329 archivos de texto plano.

La verdad que buscar una cadena de texto en esta cantidad de archivos es prácticamente imposible si se hace de manera manual, si se podrá encontrar la cadena de texto pero lo más probable es que no se encuentren «todos» los que se buscan.

Sin más vueltas me decidí hacerlo usando la útil consola de linux, para hacerlo simplemente es hacer lo siguiente:

find -exec grep -nH ‘cadena’ {} \;

Vayamos a explicar como funciona:

  • find: busca por defecto en el directorio actual.
  • -exec: parámetro de find para poder añadir un comando.
  • grep: busca una cadena en un archivo.
  • -n: parámetro de grep para imprimir la línea de texto donde se encuentra la cadena buscada.
  • -H: parámetro de grep para imprimir la ruta (archivo) donde se encontró la cadena buscada.

Nautilus: añadir opción ‘Duplicar’

Últimamente estoy realizando la documentación de un proyecto y tengo que trabajar con plantillas, y se hace muy moroso estar «copiando» y «pegando» el mismo archivo varias veces, hasta que se me ocurrió «porque no hacer estos dos pasos en uno solo?»

Para no dar más vueltas me hice un pequeño script en bash, cuyo contenido es el siguiente:

#!/bin/bash
ext=`echo "$1" | awk -F . '{print $NF}'`
extension='.'$ext
filename=`basename $1 $extension`
cp $1 $filename'_copia.'$ext

No es necesario poner ninguna extensión al archivo, yo lo llame «Duplicar» y lo puse en: /home/usuario/.gnome2/nautilus-scripts. Para usarlo solo se hace clic derecho sobre un archivo luego: Scripts->Duplicar y listo.

También se le puede añadir directamente al menú contextual con la Configuración de acciones de Nautilus. Para instalarlo en consola:

sudo apt-get install nautilus-actions

Un ejemplo de como usarlo: aquí.

Fail: Tito el Bambino en Viña

Hace unos día se presento Tito el Bambino en el festival de Viña, al margen de la presentación, voy a analizar la película que presento al inicio, una especie de Armaguedon donde Tito es el salvador activando una especie de rayo lazer gigantesco para destruir el meteorito que amenaza la vida humana. El vídeo en si es este:

La parte importante comienza en el minuto 03:46, la conversación es esta:

Voz: No funciona, cambia al código binario.

Es justo aquí donde se ve a un Tito tecleando un montón de letras, pero no señor, no escribe ni ceros ni unos, que forman parte del código binario, por lo menos habría que decirle porque se llama código binario, gracias demos que los verdaderos salvadores del mundo saben desde un inicio lo que es el código binario… XD. Muy a parte de este groso error, mejor debería dedicarse a cantar (que no lo hace tan bien) y dejar la actuación a los actores de verdad.