Cosas que me pasan con Linux, php, software libre...

Hacer funcionar php usando Apache mod_php como modo de ejecución en Virtualmin

Al cambiar el modo de ejecución de Apache en Virtualmin, para aumentar el tiempo de ejecución de los scripts, veo que no se ejecutan los archivos php, saca el código por pantalla.

La solución la encuentro en este hilo del foro de Virtualmin, en resumen:

Abrir el archivo  /etc/apache2/mods-enabled/php5.conf y “descomentar” las 2 líneas de SetHandler

Ahora ya reiniciar Apache y solucionado.

Publicado en Apache, Php, Virtualmin

Cambiar formato del login de las nuevas cuentas de correo en Virtualmin

Por defecto, Virtualmin crea los usuarios de correo con la forma usuario.dominio. Sin embargo, es más fácil para los usuarios utilizar el formato usuario@dominio para hacer login.

La manera de cambiarlo, solo para los nuevos usuarios que creemos, es ir a:

System Settings / Server Templates / Mail for domain

Allí cambiar a nuestro gusto la opción: Format for usernames that include domain

Publicado en Correo, Linux, Virtualmin

Sonido en Dell Vostro 1000 con Ubuntu (solución curiosa)

Como ya comenté en este post, he tenido que instalar Ubuntu en mi portátil Vostro 1000 de Dell. Después de instalar la versión 12.04 y actualizar a los dos días a la 13.04, todo funcionaba correctamente excepto el sonido. Después de varios días me he decidido a hacer pruebas.

La primera ha sido conectar unos auriculares, y cual ha sido mi sorpresa al comprobar que se escuchaba música. Al desconectarlos para empezar a revisar la configuración mi sorpresa ha aumentado al seguir oyendo sonido. Después del reinicio de rigor todo seguía correcto, así que damos el problema por solucionado.

Comparto esta curiosa solución por si a alguien le puede valer…

Publicado en Linux, Personal Etiquetado con: , , , ,

Ver las rutas de los directorios en modo texto en Nautilus

Mi sistema operativo favorito es Debian, lo uso tanto en servidores como en mi ordenador personal. Sin embargo hay veces que la incompatibilidad de hardware (o la dificultad para conseguir hacerlo funcionar) obliga a usar otras alternativas. Un sistema con buena compatibilidad y similitud con Debian es el famoso Ubuntu. Hay muchas cosas que no me gustan de él, sin embargo ha sido la mejor opción que he encontrado para mi portátil (Dell Vostro 1000). Funciona todo a la primera, excepto el sonido que aun tengo que intentar hacerlo funcionar –> solucionado el tema del sonido.

Después de esta pequeña introducción, a lo importante:

Para ver la ruta en modo texto de la carpeta donde nos encontramos tenemos que ejecutar el siguiente comando desde una terminal:

gsettings set org.gnome.nautilus.preferences always-use-location-entry true

En debian, recientemente me había servido:

gconftool –type Boolean –set /apps/nautilus/preferences/always_use_location_entry true

Para quitar esta opción basta con escribir el comando anterior cambiando true por false.

Para conseguir este efecto momentáneamente tenemos la opción de pulsar “ctrl + l“.

Información encontrada en:

http://www.liberiangeek.net/2012/05/enable-nautilus-location-entry-in-ubuntu-12-04-precise-pangolin/

Publicado en Linux, Personal, Uncategorized Etiquetado con: , , , , ,

Realizar copias de seguridad incrementales con rsync a un servidor remoto

Una copia de seguridad incremental es aquella que copia los ficheros creados o modificados desde la ultima vez que realizó el respaldo. De esta forma se aligera la copia de seguridad tanto a la hora de hacer el backup como a la de enviar al servidor remoto.

Vamos a crear un script para realizar el backup y otro para restaurar.

Realizar backup y enviar al servidor remoto:

#!/bin/bash

rsync -av –delete -u -e “ssh -p 76” /ruta-directorio-a-respaldar/ usuario-remoto@servidor-remoto.com:/ruta-copia/

Restaurar backup desde el servidor remoto:

#!/bin/bash

rsync -av –delete -u -e “ssh -p 76” usuario-remoto@servidor-remoto.com:/ruta-copia/ /ruta-directorio-a-respaldar/

Las opciones que he utilizado son:

-a modo archivo, combina -r, -l, -p, -t, -g, -o, -D. Con esto se realiza una copia exacta de la estructura de los ficheros y directorios. Más información en el man de rsync.

-v para ver por pantalla lo que se va haciendo.

–delete por defecto no se eliminan los archivos que se han borrado en el origen, con esta opción lo forzamos.

-u sirve para que no se reescriban los archivos del destino más recientes que los de origen, normalmente no pasará eso, pero podría darse el caso.

-e para indicar que usamos un puerto distinto al 22, en este caso el 76. Si usamos el 22 no hace falta usar esta opción.

Al ejecutar estos scripts nos pedirá la contraseña del usuario remoto, en este anterior post vemos cómo evitar que rsync nos pida contraseña.

Para hacerlo todo más cómodo y automático, también podemos hacer que se ejecuten los scripts al encender y al apagar el ordenador.

Publicado en Linux, Seguridad, SSH Etiquetado con: , , ,

Ejecutar scripts al iniciar o al apagar el ordenador en linux

Para ejecutar un script al iniciar el ordenador basta con editar el archivo /etc/rc.local y añadir antes del “exit 0”:

/bin/sh /ruta-del-script/script.sh

Para ejecutar un script al apagar el ordenador tendríamos que colocar el script en el directorio /etc/init.d/ y luego crear un enlace simbólico al script en el directorio /etc/rc0.d/ y darle permisos de ejecución:

# ln -s /ruta-del-script/script.sh /etc/rc0.d/k99enlace-simbólico.sh
# chmod +x /etc/rc0.d/k99enlace-simbólico.sh

El nombre del enlace simbólico tiene que empezar por “K99” para que sea lo último que se ejecute al apagar ya que los scripts de este directorio se ejecutan por orden alfabético.

Actualización: Si por alguna razón no funciona el script en el apagado, siempre se puede añadir el comando halt -p al final del script que queremos ejecutar para que se apague al ejecutarse…

Publicado en Linux Etiquetado con: , ,

Usar ssh sin contraseña

Si queremos conectarnos a un servidor de ssh puntualmente no es molestia escribir la contraseña al hacer login, sin embargo si queremos hacerlo automáticamente desde un script, cron, etc. no solo es molestia sino que puede ser imposible meter la contraseña. Para eso necesitamos crear una clave pública para autentificarnos. Lo haremos así, por supuesto en linux:

En local, generamos la clave:

$ ssh-keygen -t rsa

Aceptamos las opciones por defecto y se nos creará en nuestra home .ssh/id_rsa.pub

Ahora tendremos que subir ese archivo al servidor remoto con el usuario que queremos usar.

En el servidor remoto, copiaremos el contenido del archivo subido al archivo de claves autorizadas (si no existe se creará, aunque si no existe el directorio .ssh habrá que crearlo antes) Y le damos permisos solo al usuario.

$ cat id_rsa.pub >>~/.ssh/authorized_keys

$ chmod 700 ~/.ssh/authorized_keys

Nota: ~ significa nuestro directorio home, este símbolo se consigue con la combinación de teclas “alt + 1, 2, 6“.

Ya podemos conectarnos por ssh sin que se nos pida password. También es válido para usar comandos que necesitan ssh como por ejemplo rsync.

Publicado en Linux, Seguridad, SSH Etiquetado con: , ,

Can’t locate LWP/UserAgent.pm in @INC instalando Config Server Firewall

Instalando CSF+LFD me encontré un error que nunca me había salido:

Checking Perl modules…
Can’t locate LWP/UserAgent.pm in @INC (@INC contains: /etc/csf /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at (eval 22) line 2.
BEGIN failed–compilation aborted at (eval 22) line 2.
Configuration modified for Debian/Ubuntu/Gentoo settings /etc/csf/csf.conf

You need to install the missing perl modules and then install cxs

La solución googleando la he encontrado en este enlace, donde indican que hay que instalar libwww-perl.

Resumiendo, siendo root:

apt-get install libwww-perl

Después de la instalación he podido seguir con la instalación de CSF+LFD.

Publicado en Linux, Personal, Seguridad

Subir y descargar directorios completos por ftp usando lftp

Hace un tiempo encontré la solución para descargar directorios completos por ftp en línea de comandos usando wget. Hoy he necesitado subir un directorio completo y ha sido posible usando lftp, con el que también puedes descargar. Es muy sencillo:

Primero hay que conectarse

lftp -u usuario dominio.com  (nos pedirá clave)

Para subir todo el contenido del directorio donde nos encontremos

mput *

Para descargarlo

mget *

Para descargar un directorio

mirror directorio/

Para subir un directorio

mirror -R directorio/

Aquí está la página de man de lftp con todas sus opciones.

Publicado en Linux

Error 404 al intentar ejecutar Javascript en servidor Apache

Normalmente me había encontrado con este error en el que no se encuentran los archivos de Javascript y siempre había sido problema de permisos fácilmente solucionable.

En esta ocasión en un servidor recién instalado los permisos eran correctos. La solución la he encontrado muy bien explicada en este post:  Ubuntu Linux Apache2 javascript folder ’404 file not found’ error? I’ve got the fix!

En resumen:

  • Editar /etc/apache2/conf.d/javascript-common
  • Comentar la línea: Alias /javascript /usr/share/javascript/
  • Reiniciar Apache2: /etc/init.d/apache2 restart
Publicado en Apache, Javascript, Linux, Personal