Buscar este blog

lunes, 14 de diciembre de 2009

Conectar unidad de red a un servidor SAMBA

Una forma útil de utilizar un servidor SAMBA desde un entorno de clientes Windows es conectar como unidad de red los recursos compartidos del servidor SAMBA.

Para hacer esto de forma automática es más cómodo generar un script (.bat) para que conecte las unidades de red en los equipos Windows.

El comando es muy sencillo, solo tendemos que ejecutar: net use \\\ /user:

El comando quedaría así para un servidor con IP 192.168.1.1, el recurso al que queremos conectar nuestra unidad de red se llama "compartido" y nos conectaremos con usuario "administrador" y clave "1234". Por último asignaremos a la unidad la letra "f".

net use f: \\192.168.1.1\compartido 1234 /user:administrador
Recuerda que para ejecutar este comando en un Windows XP, antes tienes que abrir la linea de comandos de Windows y para ello: inicio > Ejecutar > cmd.

jueves, 22 de octubre de 2009

Problemas iniciando Enterprise Manager 11g

He estado instalando Oracle DataBase 11g en un Windows XP para hacer pruebas y aprender algo más sobre administración y gestión de bases de datos Oracle, pero me encontré con un problema.

La máquina que utilicé para la batería de pruebas estaba configurada como DHCP (ip dinamica). Cuando lo instalé funcionaba correctamente, pero al reiniciar el servidor DHCP me asignó otra IP y Oracle DataBase 11g dejó de funcionar.

Después de mucho investigar, descubrí que el problema venía porque Listener estaba configurado para la IP antigua que tenía asignada. Es decir la IP que tenia la máquina cuando se instaló. La solución a esto es sencilla, simplemente tendrás que volver a configurar Listener y volverá a funcionar todo.

Pero claro, si la máquina que estás utilizando es un portatil que hoy lo utilizas aquí y mañana allí, no es nada cómodo tener que configurar Listener cada vez que quieras utilizar tu Oracle DataBase.

Encontré la solución a este problema, realmente es muy sencilla, simplemente tenemos que crear una tarjeta de red virtual, asiganarle una IP estática fuera de los rango habituales de la redes a las que nos conectemos y configurar Listener para esa dirección IP. Ahora siempre tendremos esa dirección IP asignada y no volveremos a tener problemas para iniciar Listener.

Tengo algunas capturas que os ayudarán a configurar una tarjeta de red virtual en Windows XP.

El primer paso es Inicio > Configuración > Panel de control.



Agregar hardware











Una vez que tenemos agregada la nueva tarjeta de red tendremos que configurarla con una IP estática.















Ahora hay que configurar Listener para que corra sobre la nueva IP. Sin olvidar también configurar tnsnames.ora.



Configuración listener.ora



Configuración tnsnames.ora



Una vez configurado procedemos a reiniciar el servicio Listener para que se inicie con la nueva configuración.











Ahora toca hacer las pruebas y verificar que todo está funcionando correctamente.

Aquí tienes la respuesta correcta de un "tnsping ORCL" o "tnsping 192.168.254.254"





Para configurar el Enterprise Manager utilizaremos "emca -config dbcontrol db", esto nos irá pidiendo información para la correcta configuración. Recuerda escribir el nombre del servicio tal cual lo escribiste en el tnsnames.ora, es decir si está en mayusculas, lo escribes en mayusculas.



Yo ya lo tengo funcionando. Recuerda que todos estos servicios pueden tardar un poco en iniciarse cuando iniciar el sistema. Yo muchos servicios corriendo en este Windows XP y tengo que esperar un poco para que todo funcione correctamente, espera un poco antes de ponerte a modificar ficheros de configuración como un loco. Si pasado un tiempo ves que no funciona ha llegado la hora de buscar el problema.

martes, 20 de octubre de 2009

Hola mundo CodeBlocks

Después de mucho intentarlo he conseguido compilar mi primera aplicación en C con CodeBlocks. Mi primer "Hola mundo!".

Como con muchas otras cosas lo apuntaré en mi blog para acordarme el día que tenga que volver a hacer todos estos pasos, porque seguro que se me olvidará y volveré a perder el tiempo intentado compilar de nuevo un proyecto.

Lo primero que tienes que hacer es crear un proyecto nuevo y definir el main de un "hola mundo". Casualmente esta versión de CodeBlocks cuando creas un nuevo proyecto, directamente te crea el "Hola mundo".

El problema llega cuando intentas compilar el proyecto. Yo obtenía "uses an invalid compiler. Skipping...".


Para solucionar esto, entraremos en: Settings> Compiler and debugger...




Se abrirá esta ventana:




Nos vamos a la pestaña de: Toolchain executables





Una vez aquí tenemos que modificar la ruta de: Compiler's installation directory. (La ruta normalmente es la que se puede ver en la imagen "c:\Archivos de programas\CodeBlocks\MinGW")




Una vez modificada la ruta aceptaremos y volveremos compilar nuestra aplicación. Esta vez debería ejecutarse sin problemas.

viernes, 16 de octubre de 2009

Problemas con GWT en Eclise (Ubuntu)

Cuando intento lanzar mi proyecto con Eclipse obtento este error en la consola:
** Unable to load Mozilla for hosted mode **
java.lang.UnsatisfiedLinkError: /home/jmruiz/Escritorio/eclipse35/plugins/com.google.gwt.eclipse.sdkbundle.linux_1.7.1.v200909221731/gwt-linux-1.7.1/mozilla-1.7.12/libxpcom.so: libstdc++.so.5: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1778)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1674)
at java.lang.Runtime.load0(Runtime.java:770)
at java.lang.System.load(System.java:1003)
at com.google.gwt.dev.shell.moz.MozillaInstall.load(MozillaInstall.java:190)
at com.google.gwt.dev.BootStrapPlatform.initHostedMode(BootStrapPlatform.java:53)
at com.google.gwt.dev.HostedModeBase.(HostedModeBase.java:362)
at com.google.gwt.dev.SwtHostedModeBase.(SwtHostedModeBase.java:127)
at com.google.gwt.dev.HostedMode.(HostedMode.java:271)
at com.google.gwt.dev.HostedMode.main(HostedMode.java:230)

Para solucionar instalaremos libstdc++5.
$ sudo apt-get install libstdc++5
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes NUEVOS:
libstdc++5
0 actualizados, 1 se instalarán, 0 para eliminar y 0 no actualizados.
Necesito descargar 296kB de archivos.
Se utilizarán 872kB de espacio de disco adicional después de esta operación.
Des:1 http://es.archive.ubuntu.com jaunty/universe libstdc++5 1:3.3.6-17ubuntu1 [296kB]
Descargados 296kB en 0s (399kB/s)
Seleccionando el paquete libstdc++5 previamente no seleccionado.
(Leyendo la base de datos ...
227973 ficheros y directorios instalados actualmente.)
Desempaquetando libstdc++5 (de .../libstdc++5_1%3a3.3.6-17ubuntu1_i386.deb) ...
Configurando libstdc++5 (1:3.3.6-17ubuntu1) ...
Procesando disparadores para libc6 ...
ldconfig deferred processing now taking place

Una vez instalado podrás ejecutar la aplicación sin problemas.

http://whatwouldnickdo.com/wordpress/99/unable-to-load-mozilla-for-hosted-mode-gwt-ubuntu-810-linux/

martes, 22 de septiembre de 2009

VBoxGuestAdditions para Debian

Es muy útil instalar VBoxGuestAdditions (cliente de virtual box para máquinas virtuales) en las máquinas virtuales que tengas corriendo en un servidor de VirtualBox. Así facilitarás la comunicación entre el Kernel de la máquina virtual y el servidor de máquinas virtuales.

Para instalarlo lo primero que tenemos que hacer es comprobar el Kernel que estamos utilizando en la máquina virtualizada. Para ello ejecutamos:
# uname -a
Linux Debian5Nagios 2.6.26-2-686 #1 SMP Thu Mar 26 01:08:11 UTC 2009 i686 GNU/Linux

Una vez sabemos el Kernel que estamos utilizando ejecutaremos el script correspondiente, en nuestro caso:
# ./VBoxLinuxAdditions-x86.run

Es posible que obtengamos el siguiente error:
Verifying archive integrity... All good.
Uncompressing VirtualBox 2.2.2 Guest Additions for Linux installation.................................................................
VirtualBox 2.2.2 Guest Additions installation
Please install the build and header files for your current Linux kernel.
The current kernel version is 2.6.26-2-686
This system does not seem to have support for OpenGL direct rendering.
VirtualBox requires Linux 2.6.27 or later for this. Please see the log
file /var/log/vboxadd-install.log if your guest uses Linux 2.6.27 and you still see this message.
Problems were found which would prevent the Guest Additions from installing.
Please correct these problems and try again.

Esto es porque necesitas las cabeceras del Kernel para poder compilar un modulo, para instalar las cabeceras de nuestro Kernel: (RECUERDA QUE TENDRÁS QUE INSTALAR LAS CABECERAS DEL KERNEL QUE ESTÉS UTILIZANDO)
# aptitude install linux-headers-2.6-686
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Leyendo las descripciones de las tareas... Hecho
Se instalarán los siguiente paquetes NUEVOS:
cpp-4.1{a} gcc-4.1{a} gcc-4.1-base{a} linux-headers-2.6-686 linux-headers-2.6.26-2-686{a}
linux-headers-2.6.26-2-common{a} linux-kbuild-2.6.26{a}
0 paquetes actualizados, 7 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 7254kB de ficheros. Después de desempaquetar se usarán 41,3MB.
¿Quiere continuar? [Y/n/?]
Escribiendo información de estado extendido... Hecho
Des:1 http://ftp.rediris.es lenny/main gcc-4.1-base 4.1.2-25 [207kB]
Des:2 http://ftp.rediris.es lenny/main cpp-4.1 4.1.2-25 [2317kB]
Des:3 http://ftp.rediris.es lenny/main gcc-4.1 4.1.2-25 [417kB]
Des:4 http://ftp.rediris.es lenny/main linux-headers-2.6.26-2-common 2.6.26-19 [3718kB]
Des:5 http://ftp.rediris.es lenny/main linux-kbuild-2.6.26 2.6.26-3 [194kB]
Des:6 http://ftp.rediris.es lenny/main linux-headers-2.6.26-2-686 2.6.26-19 [398kB]
Des:7 http://ftp.rediris.es lenny/main linux-headers-2.6-686 2.6.26+17+lenny1 [2474B]
Descargados 7254kB en 10s (699kB/s).
Seleccionando el paquete gcc-4.1-base previamente no seleccionado.
(Leyendo la base de datos ...
29434 ficheros y directorios instalados actualmente.)
Desempaquetando gcc-4.1-base (de .../gcc-4.1-base_4.1.2-25_i386.deb) ...
Seleccionando el paquete cpp-4.1 previamente no seleccionado.
Desempaquetando cpp-4.1 (de .../cpp-4.1_4.1.2-25_i386.deb) ...
Seleccionando el paquete gcc-4.1 previamente no seleccionado.
Desempaquetando gcc-4.1 (de .../gcc-4.1_4.1.2-25_i386.deb) ...
Seleccionando el paquete linux-headers-2.6.26-2-common previamente no seleccionado.
Desempaquetando linux-headers-2.6.26-2-common (de .../linux-headers-2.6.26-2-common_2.6.26-19_i386.deb) ...
Seleccionando el paquete linux-kbuild-2.6.26 previamente no seleccionado.
Desempaquetando linux-kbuild-2.6.26 (de .../linux-kbuild-2.6.26_2.6.26-3_i386.deb) ...
Seleccionando el paquete linux-headers-2.6.26-2-686 previamente no seleccionado.
Desempaquetando linux-headers-2.6.26-2-686 (de .../linux-headers-2.6.26-2-686_2.6.26-19_i386.deb) ...
Seleccionando el paquete linux-headers-2.6-686 previamente no seleccionado.
Desempaquetando linux-headers-2.6-686 (de .../linux-headers-2.6-686_2.6.26+17+lenny1_i386.deb) ...
Procesando disparadores para man-db ...
Configurando gcc-4.1-base (4.1.2-25) ...
Configurando cpp-4.1 (4.1.2-25) ...
Configurando gcc-4.1 (4.1.2-25) ...
Configurando linux-headers-2.6.26-2-common (2.6.26-19) ...
Configurando linux-kbuild-2.6.26 (2.6.26-3) ...
Configurando linux-headers-2.6.26-2-686 (2.6.26-19) ...
Configurando linux-headers-2.6-686 (2.6.26+17+lenny1) ...
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Escribiendo información de estado extendido... Hecho
Leyendo las descripciones de las tareas... Hecho

Una vez instaladas las cabeceras correspondientes a tu Kernel, no tendrías que tener ningún error al ejecutar:
# ./VBoxLinuxAdditions-x86.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 2.2.2 Guest Additions for Linux installation.......................................................................
VirtualBox 2.2.2 Guest Additions installation
This system does not seem to have support for OpenGL direct rendering.
VirtualBox requires Linux 2.6.27 or later for this. Please see the log
file /var/log/vboxadd-install.log if your guest uses Linux 2.6.27 and you still see this message.
Building the VirtualBox Guest Additions kernel module...
Building the shared folder support kernel module...
Installing the VirtualBox Guest Additions...

Could not find X.org or XFree86 on the guest system. The X Window drivers
will not be installed.

Y después de reiniciar la máquina virtual y ejecutar un "# ps aux", podrás ver un proceso correspondiente al modulo recién compilado.
/usr/sbin/vboxadd-timesync --daemonize

Ahora el Kernel de tu máquina virtual Debian se comunicará más fácilmente con el Kernel de tu máquina servidora de máquinas virtuales.

miércoles, 2 de septiembre de 2009

Respuesta a Claudio Aliste sobre Nagios

No es ninguna molestia contestar un correo de alguien que necesite mi ayuda. No soy un gran experto en el tema, pero conseguí montarlo después de muchas pruebas.

Sinceramente no recuerdo exactamente como llegué a configurarlo, ahora mi vida profesional ha tomado otro rumbo, orientándose más al análisis de información (BI) y tengo un poco olvidado el tema de la administración de servidores. Pero aún mantengo el servidor Nagios que monté hace más de un año para mantener vigilados unos 50 servidores.

Veo en el servidor que la configuración de Nagios se hace desde /usr/local/nagios/etc, ahí deberás encontrar los ficheros que necesitas para configurarlos.

Te adjunto la salida de un tree de mi directorio /usr/local/nagios/etc.
Debian5Nagios:/usr/local/nagios/etc# tree
.
|-- cgi.cfg
|-- htpasswd.users
|-- nagios.cfg
|-- nrpe.cfg
|-- objects
| |-- commands.cfg
| |-- contacts.cfg
| |-- localhost.cfg
| |-- localhost.cfg.original
| |-- printer.cfg
| |-- switch.cfg
| |-- templates.cfg
| |-- timeperiods.cfg
| `-- windows.cfg
|-- resource.cfg
`-- servers
|-- asd
| |-- hostgroup.cfg
| `-- nahor.cfg
|-- dsa
| |-- dabih.cfg
| `-- hostgroup.cfg
...

El resultado es mayor, porque dentro del directorio servers tengo un montón de directorios (uno por cada cliente) y dentro los ficheros de configuración de cada uno de los servidores correspondientes. Es una buena forma de organizar Nagios:
/usr/local/nagios/etc/servers/cliente1/servidor11.cfg
/usr/local/nagios/etc/servers/cliente1/servidor12.cfg

/usr/local/nagios/etc/servers/cliente2/servidor21.cfg
/usr/local/nagios/etc/servers/cliente2/servidor22.cfg
/usr/local/nagios/etc/servers/cliente2/servidor23.cfg

Tendrás que editar el fichero /usr/local/nagios/etc/nagios.cfg y descomentar la linea "cfg_dir=/usr/local/nagios/etc/servers" (para descomentarla quitale la # que tiene al principio), así te cogerá todos los .cfg que crees en /usr/local/nagios/etc/servers/*

Te adjunto el fichero de configuración de un servidor en concreto, este se llama nahor y Nagios monitoriza algunos de los servicios más basicos (ping, http y ssh).
Debian5Nagios:/usr/local/nagios/etc# cat servers/aic/nahor.cfg
# Define a host for the local machine

define host{
host_name nahor
alias nahor
address DIRECCION DEL SERVIDOR
parents internet
check_command check-host-alive
check_interval 5
retry_interval 1
max_check_attempts 5
check_period 24x7
process_perf_data 0
retain_nonstatus_information 0
# contact_groups router-admins
notification_interval 30
notification_period 24x7
notification_options d,u,r
icon_image firewall.gif
statusmap_image firewall.gd2
}

# Define a service to "ping" the local machine

define service{
use local-service ; Name of service template to use
host_name nahor
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}

define service{
use local-service ; Name of service template to use
host_name nahor
service_description HTTP
check_command check_http
notifications_enabled 0
}

define service{
use local-service ; Name of service template to use
host_name nahor
service_description SSH
check_command check_ssh
notifications_enabled 0
}

Además dentro de cada cliente yo he creado un hostgroup.cfg como podrás ver en la salida del "tree". Esto es porque todos los servidores tienen que pertenecer a un grupo.

En este caso el cliente "asd" solo tiene un servidor al que monitorizar. Esta es la salida de su
hostgroup.cfg.
define hostgroup{
hostgroup_name asd ; The name of the hostgroup
alias ada ; Long name of the group
members nahor ; Comma separated list of hosts that belong to this group
}

Para verificar que toda tu configuración sea correcta, tendrás que ejecutar el comando:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Y en una de las lineas te tiene que decir "Total Errors: 0" cuando tengas esto haz un restart del servicio nagios y todo tiene que funcionar correctamente.

Espero que mi información te sea de ayuda.
Un saludo.

martes, 9 de junio de 2009

net rpc SHUTDOWN

Puede que al intentar ejecutar net rpc SHUTDOWN ... obtengamos el error:
-bash: net: command not found
Para solucionarlo tendremos que instalar el cliente de samba.
# aptitude install samba-client
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Leyendo las descripciones de las tareas... Hecho
Nota: seleccionando "smbclient" en vez de
el paquete virtual "samba-client"
Se instalarán los siguiente paquetes NUEVOS:
libtalloc1{a} libwbclient0{a} samba-common{a} smbclient
0 paquetes actualizados, 4 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 10,8MB de ficheros. Después de desempaquetar se usarán 29,3MB.
¿Quiere continuar? [Y/n/?]
Después de instalar samba-client podrás volver a ejecutarlo y no tendrás problemas.
net rpc SHUTDOWN -t 0 -C "Apagado desde el servidor de maquinas vituales" -f -I xxx.xxx.xxx.xxx -U Administrador%password

Encender y Apagar máquinas virtuales en el inicio del sistema

Con este script podrás iniciar y apagar todas las máquinas virtuales de tu granja de servidores virtuales VirtualBox, sin preocuparte de corromper las máquinas virtuales al apagar la máquinas hospedadora.

Utilizo -type vrdp para no lanzarlas sobre ningún entorno gráfico. Las consolas serán accesibles desde la red.

Para apagar las máquinas windows utilizo el comando net rpc SHUTDOWN -t 0 -C "Apagado desde el servidor de maquinas vituales" -f -I xxx.xxx.xxx.xxx -U Administrador%password para el apagado desde la red de una máquina windows. Me ha pasado que en algunas máquinas no he sido capaz de que funcione, pero en otras sí. No soy un experto en windows así que si alquien sabe porqué puede pasar esto que deje un comentario.

Las máquinas Gnu/Linux normalmente se apagarán correctamente con la opción VBoxManage controlvm Suse10serverOracle10g acpipowerbutton.

No os preocupéis, he pensado en todo. Las maquinas tardan un tiempo en apagarse, el script está programado para esperar 60 segundos. Y después guardará el estado de todas las máquinas virtuales, por si alguna no se apagó correctamente (VBoxManage controlvm Win2003serverMSSql savestate).

Definir el fichero /etc/init.d/maquinasvirtuales.bash:
#!/bin/bash
echo "Script de iniciado/apagardo de máquinas virtuales"
case $1 in
start)
echo "Iniciando máquinas vituales, espere a que inicien los sistemas..."
VBoxManage startvm Win2003serverMSSql -type vrdp
VBoxManage startvm Suse10serverOracle10g -type vrdp
VBoxManage startvm Debian5Nagios -type vrdp
;;
stop)
echo "Parando máquinas vituales, espere a que termien de apagar los sistemas..."

# apagar windows desde la red (Win2003serverMsSQL)
net rpc SHUTDOWN -t 0 -C "Apagado desde el servidor de maquinas vituales" -f -I xxx.xxx.xxx.xxx -U Administrador%password

# apagar como si pulsaras una vez el botón de apagar (aparagá correctamente)
VBoxManage controlvm Suse10serverOracle10g acpipowerbutton
VBoxManage controlvm Debian5Nagios acpipowerbutton

# espernado un tiempo prudencial para dar tiempo a las maquinas virtuales a que se apaguen
for i in `seq 1 60`; do
sleep 1
echo -n "."
done

# si no se apagaron las máquinas guardamos su estado, así no corromperemos los sistemas de ficheros

VBoxManage controlvm Win2003serverMSSql savestate
VBoxManage controlvm Debian5Nagios savestate
VBoxManage controlvm Suse10serverOracle10g savestate

echo "sistemas apagados"
;;
restart)
/etc/init.d/maquinasvirtuales.bash stop
/etc/init.d/maquinasvirtuales.bash start
;;
*)
echo "Usa: /etc/init.d/maquinasvirtuales.sh {start|stop|restart}"
;;
esac

viernes, 5 de junio de 2009

Debian lenny -> Apache2 + php5

Esto es algo muy liviano, pero siempre hay alguien nuevo al que hay que ayudar a hacer este tipo de cosas. Aquí explico brevemente los pasos a seguir para instalar Apache2 con PHP5 en Debian5 (lenny).
Esto descargará, desempaquetará e instalará el paquete correspondiente a Apache2.
# aptitude install apache2
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Leyendo las descripciones de las tareas... Hecho
Se instalarán los siguiente paquetes NUEVOS:
apache2 apache2-mpm-worker{a} apache2-utils{a} apache2.2-common{a} libapr1{a} libaprutil1{a} libexpat1{a}
libmysqlclient15off{a} libpq5{a} mysql-common{a} openssl{a} openssl-blacklist{a} ssl-cert{a}
0 paquetes actualizados, 13 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 11,3MB de ficheros. Después de desempaquetar se usarán 26,2MB.
¿Quiere continuar? [Y/n/?]
Escribiendo información de estado extendido... Hecho
Des:1 http://ftp.rediris.es lenny/main openssl-blacklist 0.4.2 [6338kB]
Des:2 http://security.debian.org lenny/updates/main openssl 0.9.8g-15+lenny1 [1043kB]
Des:3 http://security.debian.org lenny/updates/main mysql-common 5.0.51a-24+lenny1 [60,5kB]
Des:4 http://security.debian.org lenny/updates/main libmysqlclient15off 5.0.51a-24+lenny1 [1905kB]
Des:5 http://security.debian.org lenny/updates/main libaprutil1 1.2.12+dfsg-8+lenny2 [79,8kB]
Des:6 http://ftp.rediris.es lenny/main libapr1 1.2.12-5 [114kB]
Des:7 http://ftp.rediris.es lenny/main libexpat1 2.0.1-4 [136kB]
Des:8 http://ftp.rediris.es lenny/main libpq5 8.3.7-0lenny1 [372kB]
Des:9 http://ftp.rediris.es lenny/main apache2-utils 2.2.9-10+lenny2 [144kB]
Des:10 http://ftp.rediris.es lenny/main apache2.2-common 2.2.9-10+lenny2 [824kB]
Des:11 http://ftp.rediris.es lenny/main apache2-mpm-worker 2.2.9-10+lenny2 [257kB]
Des:12 http://ftp.rediris.es lenny/main apache2 2.2.9-10+lenny2 [44,5kB]
Des:13 http://ftp.rediris.es lenny/main ssl-cert 1.0.23 [13,1kB]
Descargados 11,3MB en 36s (311kB/s).
Preconfigurando paquetes ...
Seleccionando el paquete openssl previamente no seleccionado.
(Leyendo la base de datos ...
20983 ficheros y directorios instalados actualmente.)
Desempaquetando openssl (de .../openssl_0.9.8g-15+lenny1_amd64.deb) ...
Seleccionando el paquete openssl-blacklist previamente no seleccionado.
Desempaquetando openssl-blacklist (de .../openssl-blacklist_0.4.2_all.deb) ...
Seleccionando el paquete libapr1 previamente no seleccionado.
Desempaquetando libapr1 (de .../libapr1_1.2.12-5_amd64.deb) ...
Seleccionando el paquete libexpat1 previamente no seleccionado.
Desempaquetando libexpat1 (de .../libexpat1_2.0.1-4_amd64.deb) ...
Seleccionando el paquete mysql-common previamente no seleccionado.
Desempaquetando mysql-common (de .../mysql-common_5.0.51a-24+lenny1_all.deb) ...
Seleccionando el paquete libmysqlclient15off previamente no seleccionado.
Desempaquetando libmysqlclient15off (de .../libmysqlclient15off_5.0.51a-24+lenny1_amd64.deb) ...
Seleccionando el paquete libpq5 previamente no seleccionado.
Desempaquetando libpq5 (de .../libpq5_8.3.7-0lenny1_amd64.deb) ...
Seleccionando el paquete libaprutil1 previamente no seleccionado.
Desempaquetando libaprutil1 (de .../libaprutil1_1.2.12+dfsg-8+lenny2_amd64.deb) ...
Seleccionando el paquete apache2-utils previamente no seleccionado.
Desempaquetando apache2-utils (de .../apache2-utils_2.2.9-10+lenny2_amd64.deb) ...
Seleccionando el paquete apache2.2-common previamente no seleccionado.
Desempaquetando apache2.2-common (de .../apache2.2-common_2.2.9-10+lenny2_amd64.deb) ...
Seleccionando el paquete apache2-mpm-worker previamente no seleccionado.
Desempaquetando apache2-mpm-worker (de .../apache2-mpm-worker_2.2.9-10+lenny2_amd64.deb) ...
Seleccionando el paquete apache2 previamente no seleccionado.
Desempaquetando apache2 (de .../apache2_2.2.9-10+lenny2_all.deb) ...
Seleccionando el paquete ssl-cert previamente no seleccionado.
Desempaquetando ssl-cert (de .../ssl-cert_1.0.23_all.deb) ...
Procesando disparadores para man-db ...
Configurando openssl (0.9.8g-15+lenny1) ...
Configurando openssl-blacklist (0.4.2) ...
Configurando libapr1 (1.2.12-5) ...
Configurando libexpat1 (2.0.1-4) ...
Configurando mysql-common (5.0.51a-24+lenny1) ...
Configurando libmysqlclient15off (5.0.51a-24+lenny1) ...
Configurando libpq5 (8.3.7-0lenny1) ...
Configurando libaprutil1 (1.2.12+dfsg-8+lenny2) ...
Configurando apache2-utils (2.2.9-10+lenny2) ...
Configurando apache2.2-common (2.2.9-10+lenny2) ...
Enabling site default.
Enabling module alias.
Enabling module autoindex.
Enabling module dir.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module status.
Enabling module auth_basic.
Enabling module deflate.
Enabling module authz_default.
Enabling module authz_user.
Enabling module authz_groupfile.
Enabling module authn_file.
Enabling module authz_host.
Configurando apache2-mpm-worker (2.2.9-10+lenny2) ...
Starting web server: apache2.
Configurando apache2 (2.2.9-10+lenny2) ...
Configurando ssl-cert (1.0.23) ...
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Escribiendo información de estado extendido... Hecho
Leyendo las descripciones de las tareas... Hecho

Ya tenemos instalado Apache2 en nuestro sistema Debian. Si en la barra navegación de nuestro firefox ponemos http://localhost, tendríamos que ver algo parecido a esto:

Después instalaremos los paquetes libapache2-mod-php5 y php5:
#aptitude install libapache2-mod-php5 php5
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Leyendo las descripciones de las tareas... Hecho
Se instalarán los siguiente paquetes NUEVOS:
apache2-mpm-prefork{a} libapache2-mod-php5 php5 php5-common{a}
Se ELIMINARÁN los siguientes paquetes:
apache2-mpm-worker{a}
0 paquetes actualizados, 4 nuevos instalados, 1 para eliminar y 0 sin actualizar.
Necesito descargar 3238kB de ficheros. Después de desempaquetar se usarán 7049kB.
¿Quiere continuar? [Y/n/?]
Escribiendo información de estado extendido... Hecho
Des:1 http://ftp.rediris.es lenny/main apache2-mpm-prefork 2.2.9-10+lenny2 [253kB]
Des:2 http://security.debian.org lenny/updates/main php5-common 5.2.6.dfsg.1-1+lenny3 [368kB]
Des:3 http://security.debian.org lenny/updates/main libapache2-mod-php5 5.2.6.dfsg.1-1+lenny3 [2616kB]
Des:4 http://security.debian.org lenny/updates/main php5 5.2.6.dfsg.1-1+lenny3 [1078B]
Descargados 3238kB en 2s (1347kB/s).
dpkg: apache2-mpm-worker: problemas de dependencias, pero se desinstalará de todas formas
tal y como se solicitó:
apache2 depende de apache2-mpm-worker (>= 2.2.9-10+lenny2) | apache2-mpm-prefork (>= 2.2.9-10+lenny2) | apache2-mpm-event (>= 2.2.9-10+lenny2); sin embargo:
El paquete `apache2-mpm-worker' va a ser desinstalado.
El paquete `apache2-mpm-prefork' no está instalado.
El paquete `apache2-mpm-event' no está instalado.
(Leyendo la base de datos ...
21983 ficheros y directorios instalados actualmente.)
Desinstalando apache2-mpm-worker ...
Stopping web server: apache2 ... waiting .
Seleccionando el paquete apache2-mpm-prefork previamente no seleccionado.
(Leyendo la base de datos ...
21974 ficheros y directorios instalados actualmente.)
Desempaquetando apache2-mpm-prefork (de .../apache2-mpm-prefork_2.2.9-10+lenny2_amd64.deb) ...
Seleccionando el paquete php5-common previamente no seleccionado.
Desempaquetando php5-common (de .../php5-common_5.2.6.dfsg.1-1+lenny3_amd64.deb) ...
Seleccionando el paquete libapache2-mod-php5 previamente no seleccionado.
Desempaquetando libapache2-mod-php5 (de .../libapache2-mod-php5_5.2.6.dfsg.1-1+lenny3_amd64.deb) ...
Seleccionando el paquete php5 previamente no seleccionado.
Desempaquetando php5 (de .../php5_5.2.6.dfsg.1-1+lenny3_all.deb) ...
Configurando apache2-mpm-prefork (2.2.9-10+lenny2) ...
Starting web server: apache2.
Configurando php5-common (5.2.6.dfsg.1-1+lenny3) ...
Configurando libapache2-mod-php5 (5.2.6.dfsg.1-1+lenny3) ...

Creating config file /etc/php5/apache2/php.ini with new version
Reloading web server config: apache2.
Configurando php5 (5.2.6.dfsg.1-1+lenny3) ...
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Escribiendo información de estado extendido... Hecho
Leyendo las descripciones de las tareas... Hecho

Cuando termine reiniciaremos nuestro Apache2 para que cargue el módulo correspondiente a PHP5.
# /etc/init.d/apache2 restart
Restarting web server: apache2 ... waiting .

Para verificar que está funcionando todo correctamente, crearemos un fichero /var/www/index.php. Me gusta el editor nano, pero podréis utilizar el que más os guste. Y metéis el código:
< ?php
phpinfo();
?>

Después hacemos que Apache2 ejecute nuestro nuevo index.php, para ello entramos en http://localhost/index.php y tendríamos que ver algo parecido a la siguiente imagen.

Ya tenemos funcionando Apache2 con PHP5 en nuestro sistema Debian lenny.

martes, 5 de mayo de 2009

vlc reproduce musica desde linea de comandos

Un buen reproductor de música para la linea de comandos de GNU/Linux puede ser vlc. Lo he estado utilizando y es perfecto para no sobrecargar el sistema con reproductores lentos.

Para ejecutarlo simplemente. Desde ahí podemos ir buscando las canciones que queramos reproducir.
vlc -I ncurses
Lo mejor creo que puede ser hacr un script pasándole como argumento los ficheros que queramos reproducir. Es decir el directorio donde almacenamos nuestra música.
#!/bin/bash
vlc -I curses /home/jmruiz/musik/*

Como abrir Firefox u otra aplicacion remotamente

Seguro que en muchas ocasiones has necesitado abrir una aplicaciones en otro ordenador para ver la ejecución en local. SSH nos permite esta funcionalidad, pero con algunas restricciones, tenemos que tener instalada la aplicación también en el equipo desde el que lanzado el comando. Ya que utiliza las librería locales para poder ejecutar la aplicación.

Solo necesitamos la IP de la máquina remota y que esta tenga corriendo el servidor SSH y permisos de ejecución para el aplicativo "firefox" para "usuario".
ssh usuario@192.168.254.254 -CX -f firefox
Parece un comando muy tonto, pero muy útil para ver por ejemplo una aplicación Web que únicamente se puede acceder desde el escritorio de la máquina y poniendo "http://localhost". Es decir que Apache solo admite peticiones que venga de la propia máquina.
Con este comando SSH podríamos acceder remotamente a esa aplicación que solo admite peticiones en modo local.

Si piensas un poco verás que puede ser muy útil cuando estás trabajando con más de una subred y necesitas saltar de una a otra.

DynDns OVH Sincronización de IP pública dinámica

  Si tienes un servidor en casa o detrás de una conexión con IP dinámica, sabes que tarde o temprano tu dirección IP pública cambia y tu dom...