jueves, 20 de noviembre de 2008

Error en MySQL

Una tontería, pero para que quede constancia de ella.

Me intentaba conectar entre dos máquinas, de una DMZ a una LAN, al puerto MySQL.
Después de abrir todos los puertos correspondientes, al intentar conectar al MySQL (recién instalado, por otro lado), el sistema me devuelve un error así:

esther@Tuxxxy:~$ mysql -h 192.168.150.70 -u MailManagerAdmin -p mail
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.150.70' (111)
esther@Tuxxxy:~$

Nada, que revisando configuración me he encontrado en el
/etc/mysql/my.conf

la siguiente entrada:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1

Y lo único que he tenido que hacer es comentar la línea, reinciar el myslq y ya podía conectar!
#bind-address = 127.0.0.1

martes, 4 de noviembre de 2008

Ubuntu/Debian y la Ricoh Aficio C2500

El otro día nos dieron una pequeña mala noticia en el trabajo: se acaba el utilizar impresoras de tóner. A partir de ahora, vamos a utilizar todos los mastodontes esos que se definen ahora como Impresora Multifuncional (es verdad por otro lado, que si se pudiera conectar con la ThermoMix sería la leche...). O sea, que nos olvidamos de las HP Laserjet que corrían por la oficina, con lo bonitas y útiles que son... y lo cerquita que tenía yo la mía...

El caso es que probé a configurar mi Ubuntu y no había manera. Así que protesté. Todo lo arreglo protestando, y se me explicó que era una determinación que se había tomado a nivel de empresa, por un tema de costes. "Así que nada, te jodes" fue más o menos lo que me dijeron.

Han pasado un par de semanas, tal vez un mes, y he vuelto a configurarla. He pensado que seguramente alguien estaría en un dilema parecido... y googleando he encontrado esta página:

http://www.linuxprinting.org/show_printer.cgi?recnum=Ricoh-Aficio_MP_C2500

y mano de santo... Además, como mi Ubuntu es así de inteligente (no, no he migrado a la 8.10, estoy esperando a ver qué tal va), ella misma ha instalado el paquete nada más descargarlo, y yo simplemente he tenido que volver a añadir la impresora y seleccionar el modelo exacto.

Y no veáis qué bien lo hace.

Otra ventaja de usar linux: soy la única en la ofi con un Linux y tengo la suerte de que la gente de microinformática no sabe cómo funciona, y mientras todos tienen configurada la impresora en modo Escala de grises con el Administrador del dominio, yo no... me la configuro como me da la gana... y no será porque no les he dicho que lo cambien... si pueden!!!

viernes, 24 de octubre de 2008

La crisis, que nos afecta a todos

Hoy he leído una noticia que me ha llamado mucho la atención. Parece ser que este año no se va a celebrar la feria de la informática más importante de España, y unas del sector, SIMO.

Por lo que he podido leer, es una mezcla de la crisis que nos azota y de una petición de un cambio de planteamiento por parte de Ifema, que es quien organiza la feria.

Más info aquí.

Personalmente creo que si el mercado está en receso, una feria de este tipo no incrementará ventas ni es el mejor lugar para presentar nuevos productos. Originalmente la feria se creó para que los profesionales del ramo tuvieran un punto de encuentro, para hacer contactos y para tener un lugar propicio para las presentaciones de nuevos productos. Con el tiempo, y entrando muchas más empresas, el usuario final también tuvo cabida en este evento.

Por eso mismo, al ser un punto de encuentro obligado, que un año no pueda celebrarse (supongo que porque no es rentable, ya que casi 200 empresas confirmaron asistencia, aunque las grandes se desmarcaron), seguro que el año que viene vuelve renovado.

Y con más fuerza.
Es una suerte contar en España con una feria de estas características, que este año cumple 48 desde su primera edición.

jueves, 18 de septiembre de 2008

Ubuntu "Hardy Heron" y mi Aspire 5920

Hoy he instalado (por fín, tras varios meses de "dejadez") Ubuntu 8.04 (también conocida como Hardy Heron) en mi pequeñín, mi Acer Aspire 5920, que hasta el momento (sacrilegio!!!) sólo tenía Windows Vista Home...

Tras una instalación limpia y rápida (antes de ser consciente de todas las instalaciones que hace este Vista que viene preinstalado), me he dado cuenta de que todo funcionaba a la perfección excepto el sonido. He hecho un montón de comprobaciones, el sistema reconocía la tarjeta sin problemas, tenía drivers y con una gran sonrisa, mi recién instalada Ubuntu me decía que todo estaba bien...

Pero San Google me ha iluminado. La solución la tenía delante de mis narices. Simplemente tenía que editar un archivo, añadir una línea y reiniciar.

El archivo es:
/etc/modprobe.d/alsa-base
y añadimos
options snd-hda-intel model=auto
guardamos y reiniciamos.

Y mano de santo... como siempre.

Por cierto, parece que la solución es válida para muchos modelos Acer Aspire, y al menos también para Ubuntu Gutsy Gibon (7.10) y para Feisty Fawn (7.04).

viernes, 12 de septiembre de 2008

Parar máquina en VMware

NOTA: Sólo lo he probado en ESX 3.x!

No os ha pasado alguna vez que se os queda una máquina virtual un poco tonta, y no podéis entrar por TS (o por SSH)? Y no os ha pasado que esa máquina "no tiene activas" las vmware tools y no podéis parar la máquina?

Pues el frotar se va a acabar!
Vamos, que a mí también me pasó y se puede solucionar desde la línea de comandos. Una vez estéis dentro de la máquina, para identificar las máquinas virtuales que hay, lo hacemos con:

/usr/bin/vmware-cmd -l

y obtendremos un listado del tipo

/vmfs/volumes/48248230-81ff0c70-5543-001e4f2a91fd/Server1/Server1.vmx
/vmfs/volumes/48248230-81ff0c70-5543-001e4f2a91fd/Server2/Server2.vmx
/vmfs/volumes/48248230-81ff0c70-5543-001e4f2a91fd/Server3/Server3.vmx
/vmfs/volumes/48248230-81ff0c70-5543-001e4f2a91fd/Server4/Server4.vmx

que son los paths a los archivos de configuración de todas las máquinas virtuales que ahya en el sistema. Simplemente habrá que seleccionar la máquina que queramos parar y hacer:

/usr/bin/vmware-cmd stop

y la máquina se parará. Y para levantarla, será lo mismo pero en lugar de stop, será start.

/usr/bin/vmware-cmd start


En el caso de que la máquina no se pare con el comando "stop", podremos matar el proceso. Habrá que buscar los procesos que contengan

/usr/lib/vmware/bin/vmkload_app

de la siguiente manera

[root@vmware01 root]# ps aufx | grep vmkload_app
root 14672 0.0 0.2 3688 676 pts/0 S 11:28 0:00 \_ grep vmkload_app
root 1748 0.0 0.1 2016 404 ? S< group="host/vim/vmkauthd" min="4" max="12" group="host/user" name="VMware" version="3.5.0;licensename=" licenseversion="2.0" pipe="/tmp/vmhsdaemon-0/vmxddeff927aa6fd1c7;">

y matar el que corresponda a la máquina virtual que no podemos parar.

Y así de sencillo!!!

martes, 12 de agosto de 2008

Así estamos

Hoy, viendo Camera Café, no sé por qué, pero por seis minutos me he sentido identificada...



No sé por qué... decídmelo vosotros...

Dar formato a un disco nuevo en Linux

¿Cuál es el comando universal, aquel que se entiende en cualquier plataforma?
fdisk
Y por ahí voy a empezar.
Cuando instalamos un disco duro nuevo, lo primero que tenemos que hacer son las particiones, y les damos forma con el comando fdisk.

Lo que voy a hacer es dar forma al nuevo disco, que para mi máquina será el /dev/sdb.

Tuxxxy:~$ fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.


The number of cylinders for this disk is set to 1305.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1305, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305):
Using default value 1305

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 83

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Lo que he hecho ha sido hacer una única partición de ese disco, y aprovechar todo el espacio. Ahora tengo la partición /dev/sdb1, y tengo que crear un sistema de archivos en ella. Como trabajo con Linux, la más estandarizada es la ext3, así que lo hago de esta manera:

Tuxxxy:~$ mkfs.ext3 -b 4096 /dev/sdb1
mke2fs 1.40-WIP (14-Nov-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1310720 inodes, 2620595 blocks
131029 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

Y una vez ya tengo el disco particionado y con su sistema de archivos correspondiente, sólo me queda montarlo y utilizarlo.

Para montarlo manualmente lo hago así:

Tuxxxy:~$ mount -t ext3 /dev/sdb1 /data

Y compruebo que se ha montado bien con un

Tuxxxy:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 9.9G 151M 9.2G 2% /data

Después tocaría hacer pruebas y comprobaciones como si se me permite la escritura en el disco y cosas de este estilo, y una vez estuviéramos seguros de que funciona, pues lo pondríamos en el /etc/fstab para que la unidad se monte cada vez que arranquemos el sistema operativo.

Tuxxxy:~$ vi /etc/fstab

# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
/dev/sda2 / ext3 defaults,errors=remount-ro 0 1
/dev/sda1 none swap sw 0 0
/dev/sdb1 /data ext3 defaults,errors=remount-ro 0 1

donde he añadido la última línea, la que corresponde a mi disco nuevo, con su nombre, el punto de montaje, el sistema de archivos y las opciones con las que quiero que se monte.

Sólo queda reiniciar para comprobar que el sistema monta el disco solo.
Y con esto y un bizcocho...

lunes, 4 de agosto de 2008

Número máximo de conexiones para Apache2

Antes que nada, hay tener en cuenta que el aumento sin control del número de conexiones de apache puede tumbar la máquina. Eso hay que tenerlo muy claro.

Una vez dicho esto, para aumentar (o disminuir) el número máximo de conexiones que admite el servidor web, lo hacemos modificando el /etc/apache2/apache2.conf.

Buscamos una variable que es
MaxClients
y que por defecto está limitada a 150. Nosotros podemos ponerla como máximo a 256, que son los servers que puede levantar el sistema solo. La idea es comprobar primero de todo que el servidor aguanta estos 256 y que necesita más. Si está utilizando alrededor de 200 servers no hará falta darle más, no seamos avariciosos.

Pero puede ser que estos 256 se queden cortos y que el servidor aguante bien (si no aguanta bien, la idea sería bajar el número de MaxClients, hasta llegar a un punto que aguante bien... si la página tarda en cargar, no serán más que daños colaterales). Si esto pasa, podemos aumentar por encima de los 256, pero utilizando otra directiva, el
ServerLimit
que le pondremos un valor alto, pero no demasiado descabellado, unos 100 threads por encima del MaxClients está bien, para tener un poco de margen.

Para habilitar la directiva ServerLimit, lo tenemos que hacer en la propia configuración del apache, en el httpd.conf o en el apache.conf. Lo haremos en el mismo módulo que estaba MaxClients, pero poniéndola la primera, de esta manera:

ServerLimit 500
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 350
MaxRequestsPerChild 0

Lo mismo que antes, una vez se añada la directiva ServerLimit tendremos que ir con cuidado. Apache reserva una cantidad de memoria que puede ser que no utilice si el valor es muy alto y no se llega ni de lejos, pero también puede pasar que el sistema se vuelva inestable o simplemente que Apache no arranque. Por eso, cuidado al utilizar esta directiva.


Existe un límite inviolable compilado en el servidor que es ServerLimit 20000. Con este límite se intentan evitar las consecuencias que pueden tener los errores tipográficos.

jueves, 31 de julio de 2008

Tomcat y su memoria

Hoy hemos tenido una situación un poco molesta: un mailing masivo de un cliente ha tenido la web a punto de caerse durante media mañana. Y es que la aplicación necesita una cantidad bestial de memoria... y no la tenía asignada.

Simplemente he tenido que cambiar este parámetro, y la cosa ha ido mucho más fluida.

Así que si alguna vez tenéis que hacerlo, ahí va el cómo.

El parámetro a modificar es Xmx, y hay que modificarlo desde el binario que arranca el demonio (en linux). Es simplemente localizarlo y cambiar el valor que tiene a continuación

Servidor:/var/lib/tomcat5/conf# grep -ir Xmx /etc/init.d/tomcat5
CATALINA_OPTS="-Djava.awt.headless=true -Xmx128M"

En mi caso (es la configuración por defecto) estaba a 128Mb. Y lo he subido a 512.

Pues nada, después de hacer la modificación reiniciamos el tomcat (no vale un reload porque sólo carga la configuración, no para y arranca el proceso) y ya lo tenemos.
Ah! y además de verse en el script, también se ve con un ps:

Servidor:/var/lib/tomcat5/conf# ps aufx | grep tomcat

tomcat5 17124 0.0 0.0 7696 1768 pts/0 S 11:27 0:00 \_ /usr/sbin/rotatelogs /var/lib/tomcat5/logs/catalina_%F.log 86400
tomcat5 17131 73.5 6.1 721564 130332 pts/0 Sl 11:27 0:16 /usr/local/jdk1.6.0_04/bin/java -Djava.awt.headless=true -Xmx512M-Djava.endorsed.dirs=/usr/share/tomcat5/common/endorsed -classpath /usr/local/jdk1.6.0_04/lib/tools.jar:/usr/share/tomcat5/bin/commons-launcher.jar:/usr/share/tomcat5/bin/commons-logging-api.jar:/usr/share/tomcat5/bin/jmx.jar:/usr/local/jdk1.6.0_04/jre//lib/jcert.jar:/usr/local/jdk1.6.0_04/jre//lib/jnet.jar:/usr/local/jdk1.6.0_04/jre//lib/jsse.jar:/usr/share/tomcat5/bin/bootstrap.jar:/usr/share/tomcat5/bin/commons-logging-api.jar -Djava.security.manager -Djava.security.policy==/var/lib/tomcat5/conf/catalina.policy -Dcatalina.base=/var/lib/tomcat5 -Dcatalina.home=/usr/share/tomcat5 -Djava.io.tmpdir=/var/lib/tomcat5/temp org.apache.catalina.startup.Bootstrap start


Ah, por cierto, al igual que hay una variable para la memoria máxima que puede asignarse a tomcat para que la utilice, también hay una memoria mínima. La variable es Xms.

martes, 29 de julio de 2008

Cómo registrar una librería (.DLL) en Windows

Hay veces, por motivos varios y diferentes cada uno de ellos, que necesitamos registrar (o "desregistrar") una librería concreta. No basta con moverla o borrarla ya que Windows sigue pensando que está ahí y la va a buscar.

¿Qué hacer en esos casos? Pues es muy sencillo.

Desde la línea de comandos (Inicio --> Ejecutar --> cmd --> intro, se abre la ventana de MS-DOS), ejecutamos

regsvr32 X:/ruta/a/la/libreria.dll

y hecho ;)

Además de registrarla, podéis decirle al sistema que la "descargue", que no la tenga en memoria. La opción para ello es -u (undo):

regsvr32 -u X:/ruta/a/la/libreria.dll

Y si lo que queremos es que no nos muestre ningún mensaje durante/al finalizar el registro, la opción es -s (silent):

regsvr32 -s X:/ruta/a/la/libreria.dll

Y ya está :)

viernes, 25 de julio de 2008

Logs en Microsoft Exchange Server 2007

¿Dos entradas en dos días? Cómo es eso??? Pues nada, yo, que pasaba por aquí :)

Es una tontería, supongo que como ayer, que me irá muy bien para tenerlo en cuenta en otro momento.
Parece ser que el Exchange 2007 es un poco diferente a sus versiones anteriores, pero por lo que he visto yo, la verdad es que está hecho más cara a que lo administre un usuario que otra cosa. Bastante sencillito y claro, al menos en lo que se refiere a los logs.

Para verlos, la cosa es muy fácil.

Abrimos la Consola de Administración de Exchange (en Inicio --> Programas --> Microsoft Exchange Server 2007), y en el menú de la izquierda vamos a Cuadro de Herramientas. Buscamos Seguimiento de mensajes y hacemos doble click para entrar. Se abre otra ventana donde primero comprueba que estén instaladas las actualizaciones necesarias (podemos cancelar la comprobación si queremos) y luego nos sale un enlace que dice Ir a la Pantalla de Bienvenida. Al hacer click, nos lleva a la página de Parámetros de Seguimientos de Mensajes, donde tendremos que jugar con todos los parámetros para hacer las búsquedas en los logs que necesitemos.

Tenemos las siguientes categorías para filtrar los logs:
Destinatario
Remitente
Servidor
EventID
MessageID
InternalMessageID
Asunto
Referencia
Inicio
Fin
donde las únicas categorías obligatorias son las dos últimas y el EventID (qué tipo de categoría: error, entrada de correo, salida de correo...)

La verdad es que es una interfaz muy amigable, y es muy cómodo trabajar con ella, aunque yo siga prefiriendo mi terminal, con mis letras en verde y amarillo, fondo negro semitransparente y el logo de Debian en el fondo...


Así da gusto trabajar

jueves, 24 de julio de 2008

Problemas con Httpd en Red Hat

Cuánto tiempo sin postear nada!!!
Ha sido una larga temporada, muchos cambios, mucho trabajo y muchos viajes... pero a ver si puedo ir posteando poquito a poco.


Esta vez vengo con una solución que podría haberme llevado muchas horas, pero con la que he dado pronto... afortunadamente.

He montado un servidor de hosting con Red Hat (sí, en el trabajo estamos cambiando a Red Hat), y me da problemas el httpd. Al arrancarlo, me da el siguiente error:

[warn] _default_ VirtualHost overlap on port 80, the first has precedence

El apache arrancaba sin problemas, pero no se cargaba bien la configuración. Tenía definidos varios Virtualhosts, pero parece que sólo se había cargado el primero. El resto redirigían a éste, como si no estuvieran configurados.

Después de hacer varios cambios en la configuración de las directivas de apache, he dado con el problema :)
Simplemente, he descomentado la siguiente línea:

NameVirtualHost *:80

y el resto es historia!
El apache se ha levantado, ha cargado todos los hosts virtuales y funciona a las mil maravillas...

martes, 20 de mayo de 2008

Matar procesos en Windows XP/2003

Imaginad que tenéis un script que te para y te vuelve a arrancar un servicio, pero por lo que sea, el proceso no se para de manera automática, sino que tarda unos segundos (o se quedan procesos pululando por el sistema). En este caso, rearrancar el servicio no te sirve de mucho porque o no se arranca bien, o te abre más instancias de las necesarias y siempre es un problema.

El caso es que lo ideal entre la parada y la arrancada del servicio sería matar los procesos que queden vivos de alguna manera. Yo he encontrado un comando (que por lo visto funciona en XP y en 2003 Server) que realiza esta tarea de una manera muy efectiva:

Desde la línea de comandos, la idea es matar el proceso. Sabiendo el nombre exacto (notepad.exe, winword.exe, firefox.exe, iexplore.exe), podemos matarlo y quedarnos más anchos que largos...
Inicio --> Ejecutar --> cmd (Aceptar)

Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

C:\Documents and Settings\Administrator> taskkill /IM nombre_del_proceso.exe

Y punto pelota.

De todas maneras, en algún caso me he encontrado con que no puede acabar con el proceso porque hay que forzarlo (usando la opción /F). En este caso, la forma correcta es:

taskkill /F /IM nombre_del_proceso.exe

O si lo queremos hacer con el Process ID (PID), lo hacemos así:

taskkill /PID pid_del_proceso_a_matar

Si queréis saber más utilidades de este comando, podéis usar la ayuda. La verdad es que es bastante versátil.

lunes, 12 de mayo de 2008

Windows Vista y Telnet

Por defecto, Windows Vista no trae habilitadas muchas funciones básicas para administradores de sistemas, como puede ser el servicio SNMP o el protocolo TELNET. Habilitarlos es algo relativamente sencillo, pero bastante importante si, como en mi caso, nos dedicamos al área de networking.

Se trata de hacer
Inicio --> Configuración --> Panel de Control --> Programas y Características --> (menú izquierda) Activar o desactivar las características de Windows

Esperamos a que se cargue la ventana y activamos/desactivamos las opciones que nos interesen. En este caso (para activar el telnet) yo habilito las opciones de

Servidor Telnet
Cliente Telnet

y para el caso del SNMP simplemente habilitamos la Característica SNMP.

Aceptamos y esperamos a que se instalen los servicios requeridos y punto pelota.

viernes, 9 de mayo de 2008

Alta de usuario en SQL Server (Enterprise Manager 2005)

Este post va dedicado a mí: esta mañana nos hemos pasado una hora para una tontería tan tonta que casi me da vergüenza aceptarlo. Pero bueno, como de los errores se aprende, no me arrepiento.

A ver, abrimos el SQL Enterprise Managerm en mi caso

Inicio --> Programas --> Microsoft SQL Server --> Administrador Coporativo

y desplegamos hasta localizar la carpeta Seguridad. La desplegamos también y nos vamos a Inicios de Sesión y (botón derecho -->) Nuevo Inicio de Sesión.

El usuario que vamos a crear será sólo para SQL, nada que ver con la autentificación Windows, así que en Nombre ponemos el nombre que hayamos pensado y habilitamos la opción "Autentificación de SQL Server" y escribimos la contraseña que queramos. En Base de Datos (en el apartado Predeterminado) seleccionamos la base de datos (la principal si son más de una) para la que este usuario tendrá permisos (si no está porque aún no la has dado de alta, te das cuenta que has empezado la casa por el tejado).

Buscamos la pestaña Acceso a Base de Datos y seleccionamos todas las BBDD a las que tenga que tener acceso, y el nivel de acceso. Cuando marcamos una BDD, en el recuadro de abajo aparecen las diferentes funciones que puede hacer el usuario. Por defecto, viene marcada public, pero si queremos que el usuario pueda administrarla marcaremos bd_owner.

[Aquí había estado mi fallo: había marcado una opción que no tocaba]

Salvaremos, saldremos y ya estará el usuario creado. Si queréis ver si este usuario tiene permisos realmente, abrid el Analizador de Consultas, logaros con ese usuario y haced alguna consulta contra alguna de las BDD a las que tenga acceso, del estilo
select * from tabla

y para que se ejecute, clickad en el play que hay arriba. Si no devuelve ningún error, está todo bien. Si no, repasad vuestros pasos.

Para dar de alta una base de datos: Fácil, desde el propio Enterprise Manager, váis a Bases de Datos y (botón derecho -->) Nueva Base de Datos. Se abre una ventana, donde tendréis que poner el nombre de la nueva base de datos. Y (no es necesario) también podéis indicarle dónde queréis que el sistema guarde los archivos de la base de datos y el registro de transacciones. El primero son los datos de la base de datos, y el segundo un registro de los movimientos que se hacen en esa base de datos. A veces va bien poder elegir dónde los guarda, sobre todo cuando en la unidad C: (donde se guarda normalmente por defecto) no hay mucho espacio, ya que esto ocupa mucho espacio.

Una vez creada la base de datos, si queremos importar algún backup, nos pondremos encima y (botón derecho -->) Todas las tareas --> Restaurar Base de Datos. Si de la copia de seguridad tenemos un archivo .BAK (lo más normal si es un backup del propio SQL), seleccionaremos Desde Dispositivo, y en Dispositivo seleccionaremos el archivo .BAK que queramos restaurar. Y aceptar, y él sólo restaura. Si veis que os da algún error, es probable (si el backup era de otra máquina, con otra configuración) que vosotros no tengáis la misma estructura, y, por ejemplo, que en lugar de guardar los archivos en la D: como se hacía en la otra máquina, los guardéis en la C. Sólo tendréis que cambiarlo en la pestaña Opciones. Simplemente habrá que tener en cuenta estos pequeños detalles y no habrá problema para restaurar.

Ale, cómo me he enrollado. Espero que quede claro. Cualquier duda, dejadme un comentario!!!!

martes, 6 de mayo de 2008

Programar la parada/arranque de un servicio en Windows

Después de tiempo sin postear nada, aquí va una pequeña perla de sabiduría...
Algo bastante sencillo y que os puede sacar de algún apuro en algún momento.

Para programar la parada/arranque de un servicio de Windows, vamos a crear un archivo bat (lo_que_sea.bat) muy sencillito, e incluiremos

NET STOP "xxxxx"
NET START "xxxxx"

donde xxxxx es el nombre del servicio de Windows que queremos parar (NET STOP) o arrancar (NET START). El nombre es el que aparece en Servicios, no el nombre del ejecutable ni nada de eso, así de sencillo.

Bueno, yo aquí lo he hecho de manera que el script primero pararía el servicio y después lo arrancaría, lo que sería equivalente a reiniciarlo.

Y una vez tenemos el script y hemos comprobado que funciona, habría que programarlo para que se ejecute cuando sea requerido. Esto lo hacemos con la función de Tareas Programadas

Inicio --> Programas --> Accesorios --> Herramientas de Sistema --> Tareas Programadas

indicándole qué queremos ejecutar (el .bat) y cuando. Y ya está.
Estad un poco por el tema al menos la primera vez que se tenga que ejecutar, para comprobar que se hace bien.

Y por hoy, ya es bastante...! Con esto y un bizcocho...

lunes, 7 de abril de 2008

15 signos de que eres adicto a Linux

Navegando por ahí encontré esta web, que me pareció bastante curiosa. Para los que no dominen la lengua del imperio de su graciosa majestad, os dejo aquí la traducción

  • Llevas contigo un LiveCD cuando vas a usar un ordenador que no es el tuyo.
  • Cada vez que un amigo te cuenta lo lento que va su PC debido a virus, adware, etc. tu le comentas que instale Linux.
  • Quieres un pingüino de mascota.
  • Comprendes lo que significa el comando mv windows /dev/null.
  • Tu página de inicio es http://www.google.com/linux
  • Eres miembro de un grupo local sobre Linux.
  • Tienes instalado Linux en el ordenador de tus padres.
  • Conoces la definición africana de la palabra Ubuntu.
  • Sabes quién es Linus Torvalds.
  • Sabes quién es Hans Reiser y de que fue acusado

Bueno, y estos son mis resultados del test... un poco adicta sí que soy, para qué negarlo.

  • No, no llevo siempre un CDLive cuando trabajo en otro ordenador, pero lo que sí que es verdad es que me aseguro de llevarlo siempre en la bolsa del portátil: nunca se sabe...
  • No, más bien le digo que se instale un antivirus potente y gratuito, por ejemplo el WinClam, y que se pase un programa que quite bien quitados cualquier tipo de malware. Aquí suelo recomendar el de eWido.net.
  • TENGO un pingüino de mascota... de peluche, pero sirve igual.
  • Me reí mucho cuando lo ví por primera vez... sí, lo entiendo.
  • Em... no. Más bien es www.google.es
  • Sip, de CaLiU (Cathalan Linux User), www.caliu.cat.
  • Sí, en el portátil de mi padre hay una ubuntu. Él sabe que está "por si algún día pasa alguna cosa".
  • Sip, sin mirar la wikipedia: humanitu towards othes. Qué pasa, trabajo con Ubuntu!!!!
  • Linus?? DIOS! Jajajaja... no, no tanto... un visionario.
  • De matar a su mujer... vale, ésta sí que la he mirado en la wikipedia.

Bueno, vosotros diréis si os lo parece o no...

lunes, 31 de marzo de 2008

MySQL, cuando el cliente o el servidor están obsoletos

O no llego, o me paso.

O no posteo en semanas, o me repito en un día. Pero hay días que te encuentras con cosas curiosas que acabas encontrando la solución, y no voy a dejar de postear por eso mismo...

Aquí va la segunda entrada de hoy.

Intentando conectar desde un cliente MySQL (5.0x) a un servidor (3.x, aunque esto sirve para versiones anteriores a 4.1.1), me devolvía este error:

Client does not support authentication protocol requested by server; consider upgrading MySQL client

La gracia es que no podía actualizar el cliente porque está en una máquina poco estable, obsoleta pero que de momento aguanta (y aquí nos guiamos muchas veces por eso de "si funciona, no lo toques"), así que he tenido que buscar otra solución. Googleando por ahí, he visto que el problema es debido a la diferencia de versiones, y que a partir de la 4.1.1, las contraseñas se encriptan de otra manera, por lo que no se puede validar. La idea es que, para los usuarios que se tienen que conectar entre estas dos máquinas, vamos a poner el formato antiguo de la contraseña. Y lo hacemos de la siguiente manera:

root@Tuxxxy:~# /var/log/mysql# mysql -p -h localhost -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 29
Server version: 5.0.32-Debian_7etch5-log Debian etch distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> set password for 'user'@'host' = OLD_PASSWORD('mysql');
Query OK, 0 rows affected (0.00 sec)

donde password es la contraseña de ese usuario, user el usuario y host el servidor remoto desde el que te conectas.
Después un

mysql> flush privileges;
y arreando, que es gerundio!

Windows Vista y módem USB Huawei E220 de Vodafone

Hace unas semanas, entró en casa mi enano. Mi enano no es más que mi nuevo portátil, y aunque no sea nada del otro mundo, para mí está muy bien (es un Acer Aspire 5920...)

El caso es que el enano traía un intruso, también conocido como Windows Vista. Mi primer impulso fue formatear: "formateo, meto Windows XP y una partición con una Debian, y arreando". Ja. Anda que no me las prometía yo felices. Al intentar formatear, el disco de Windows XP me decía que no había medios particionables. "Que no qué!!?? Será ~%k#ñ&$!!" es lo único que me salía de la boquita.

El caso es que decidí dejar Vista, aunque me doliera, y mira, eso que tenía ya avanzado para cuando se estandarizara. Debo decir que cada vez me gusta menos, y que la interfaz me recuerda mucho a un escritorio KDE bien tuneado. Pero bueno, poco a poco voy trabajando con él. Cada paso me cuesta horrores. El primer problema fue la VPN de SonicWall, que no había manera de instalarla. Un conflicto con una librería llamada ntdll.dll me traía de cabeza. La solución fue fácil: dejé apartado el tema durante la semana santa y al probarlo después, se instaló sin problema. Fui instalando otros programas necesarios para trabajar, hasta que me encontré con otro problemilla, que es con el que estoy ahora.

En el trabajo tenemos un módem 3G para conectarnos durante las guardias. Es de Vodafone, y es un Huawei E220 que, extrañamente, no funciona con Windows Vista. Después de mucho buscar en foros y que no diera resultado nada, caí (gracias Pablo) en pasarme por la web de Vodafone, para ver si decía alguna cosa. Y sí! Por fin encontré una solución...

Id a la página de Vodafone para ver la solución... Básicamente hay que actualizar el firmware del módem, y aunque la operación es sencilla, el proceso es delicado, porque si por cualquier motivo se queda colgado, el módem se va a pastar...

Bueno, yo lo dejo ahí. Allá cada uno con lo que hace...

miércoles, 26 de marzo de 2008

Postfix y trivial-rewrite

Estando instalando un servidor backend para un sistema de correo postfix (con autentificación MySQl), me he encontrado con el siguiente problema.

Mar 26 13:43:19 srvpilot postfix/trivial-rewrite[5727]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Mar 26 13:43:19 srvpilot postfix/trivial-rewrite[5727]: fatal: mysql:/etc/postfix/mysql_virtual_alias_maps.cf(0,lock|fold_fix): table lookup problem
Mar 26 13:43:20 srvpilot postfix/smtpd[5718]: warning: premature end-of-input on private/rewrite socket while reading input attribute name
Mar 26 13:43:20 srvpilot postfix/smtpd[5718]: warning: problem talking to service rewrite: Success
Mar 26 13:43:20 srvpilot postfix/master[5699]: warning: process /usr/lib/postfix/trivial-rewrite pid 5727 exit status 1
Mar 26 13:43:20 srvpilot postfix/master[5699]: warning: /usr/lib/postfix/trivial-rewrite: bad command startup -- throttling
Mar 26 13:43:20 srvpilot postfix/cleanup[5725]: warning: premature end-of-input on private/rewrite socket while reading input attribute name
Mar 26 13:43:20 srvpilot postfix/cleanup[5725]: warning: problem talking to service rewrite: Connection reset by peer


Y así mil veces... o más. Bueno, el caso es que googleando por ahí, he visto dos posibles soluciones al problema.

Una era comprobar que el usuario MySQL con el que has configurado los accesos, tiene los permisos correctos sobre la tabla necesaria. Yo lo he comprobado y todo OK.

La segunda solución me ha valido a mí. En la propia configuración del Postfix, en el main.cf, tú configuras el UID y el GID con los que va a trabajar el postfix, y que tienen que coincidir con los del usuario de sistema, que está en /etc/passwd. Lo he cambiado, he reiniciado el postfix y el error ha desaparecido. Bueno, tengo otro, pero no tiene nada que ver. Si encuentro lo que es, ya lo postearé por aquí.

miércoles, 19 de marzo de 2008

Arracando Lighttpd... si se deja

El problemilla al que hago referencia en el post anterior, del que no conozco el origen ni lo voy a intentar averiguar ahora, es el siguiente.

El sistema: un servidor Sparc con una Gentoo, dos IPs diferentes y dos servidores web, lighhtp y apache, escuchando en cada IP por el puerto 80. Por motivos del aplicativo (vamos, que va como el culo) he tenido que reiniciar el lighttpd, pero me ha devuelto el siguiente error:

Starting lighttpd: 2008-03-19 0:48:00: (network.c.300) can't bind to port: 80 Address already in use

Después de comprobar que ni se me había levantado nada (el servidor web... que yo no tengo nada para levantar) ni se había hecho ningún cambio en la modificación de ambos servidores web... ni que nada escuchaba en el puerto 80 de la IP que correspondía al lighhtpd, he encontrado en un foro remoto (y tan remoto, estaba en alemán!!!) otra manera de arrancarlo. Lo bueno es que ha funcionado... e insisto, no tengo ni idea de cómo lo ha hecho, pero el caso es que lo ha hecho, ¿no?

La solución "magistral" (si se le puede llamar de esa manera) es la siguiente:
lighttpd -f /etc/lighttpd/lighttpd.conf

Si miráis las opciones del binario correspondiente, la opción -f corresponde con el archivo de configuración con el que quieres que arranque. Y ese es el que tenemos por defecto. Así que ni idea de lo que ha pasado, pero al menos me puedo ir a dormir tranquilamente.

Buenas noches

Afrontando problemas

Una pequeña gran verdad que he visto posteada en un foro. Estoy todavía buscando la solución a un problema que está presentando un servidor, y he leído esta gran verdad
for Windows problems, reboot
for Linux problems, be root

Sólo puedo decir una cosa.
Amén.

domingo, 16 de marzo de 2008

Ampliando discos en VMware

Siento haber tardado tanto en volver a postear, la verdad es que he tenido unas semanas muy liadas y bastante duras. Y tampoco se me ocurría nada lo suficientemente decente como para postear, así que para hacerlo mal, ni lo he intentado.

Pero bueno, tengo algo bueno. Algo que he hecho por primera vez esta semana: ampliar un disco en una máquina virtual montada sobre un servidor VMware ESX 3.01 (si mal no recuerdo). Cuando hablo de ampliar quiero decir eso, ampliar, hacer mayor; creo que el procedimiento (al menos uno de sus pasos) no es válido si lo queremos hacer es disminuir el tamaño del disco.

** Antes de nada, haced un backup del disco duro **

La operación tiene dos partes, y no presenta mucha dificultad.

Primera parte: redimensionamos el disco lógicamente (por decirlo de alguna manera)

- Apagamos la máquina virtual.
- Entramos por SSH al servidor ESX
- Navegamos hasta el directorio donde se encuentra el archivo de configuración de la máquina (nombre_máquina.vmdk, no nombre_maquina-flat.vmdk)
- Ejecutamos el comando de eXtensión del disco:
vmkfstools -X nuevo_tamaño(m,g) nombre_máquina.vmdk
o en mi caso
vmkfstools -X 20G Web2.vmd
Esto tarda un par de segundos en ejecutarse, y ya tenemos hecho la redimensión del disco.

Segunda parte: redimensionar el disco físicamente

Por lo que he estado viendo, hay diferentes maneras de hacerlo, pero principalmente me he quedado con dos, por parecerme las más cómodas.

La primera manera es con una herramienta propia de Windows. Arracamos la máquina de nuevo, y ejecutamos una herramienta propia de Windows. Desde la página de Microsoft pone cómo hay que hacerlo

http://support.microsoft.com/kb/325590

Esta opción no es recomendable si se trata de extender la unidad donde se encuentra el sistema operativo y, sobre todo, el archivo de paginación de Windows. Es recomendable para extender unidades básicas de datos.

La segunda opción se puede utilizar cuando trabajamos sobre la unidad donde se encuentra el sistema operativo.

Lo primero será descargarnos una ISO y arrancaremos con ella. Esta ISO tiene una aplicación, gparted, que es el editor de particiones de Gnome, para la creación, eliminación, redimensionamiento, inspección y copia del espacio de una unidad.

http://sourceforge.net/project/showfiles.php?group_id=115843&package_id=173828

Arracancamos con ella y nos aseguramos de entrar en el modo gráfico. Una vez dentro, con la propia herramienta gparted (sale abierta por defecto), seleccionamos el disco que queramos redimensionar, y veremos que aparece un espacio no particionado, coincidiendo con el espacio que hemos añadido.

Seleccionamos el disco duro y se nos activará la opción de Resized. Pulsamos ahí. En la pantalla que se abre, simplemente desplazamos la barra hasta que marque el espacio que queremos que tenga el disco (hasta el final de la barra si queremos que sea todo, menos si queremos menos espacio). Aceptamos, y el sistema nos pedirá confirmación para los cambios. Que sí, que
lo haga.

Una vez acabe, reiniciamos y entramos en el sistema en Windows. Al arrancar, nos pedirá hacer un checkdisk. Que lo haga. Sin problemas

Una vez entremos, podremos ver que el disco ya tiene la nueva capacidad.

Si lo que queremos es redimensionar un sistema linux, tendréis que hacerlo de la segunda manera. No creo que dé mucho problema, aunque tampoco lo he intentado, pero por lo que he visto se hace de la misma manera.

jueves, 21 de febrero de 2008

Rutas? Rutas!

Hoy voy a dejarme aquí apuntado cómo se dan de alta rutas, tanto en Windows como en Linux... ahora que pienso, creo que es exactamente igual... así que nada...

Añadiendo las rutas

¿Qué es una ruta? Bueno, el concepto no es muy complicado. Básicamente, la idea es que cuando tu ordenador tiene que ir a buscar a otro que no esté en la misma red (si no, poca gracia tiene...) (por ejemplo, haces una petición a internet, o tienes que acceder por Terminal Server a otra máquina) tiene que saber cuál será la siguiente máquina a la que saltar (o preguntar). Por defecto, todas los ordenadores tienen una ruta, la que nos marca cuál es nuestra puerta de enlace predeterminada, es decir, cuál será el siguiente salto.

En el caso de mi ordenador, tengo la siguiente configuración:
Tuxxxy:~$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.251.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.251.254 0.0.0.0 UG 0 0 0 eth0

Esto viene a decirme que estoy en la red 192.168.251.0/24 y que mi puerta de enlace es la 192.168.251.254. Cuando yo tengo que hacer alguna acción, el primer hacia donde salta mi petición es ese dispositivo (en mi caso el router de la oficina).

Imaginaos por ejemplo que, por ejemplo, en mi oficina ponemos un router que da acceso a un rango 10.1.1.0/24 (otro día explico esto, pero es que a mí me cuesta todavía...), por ejemplo, el 192.168.251.1. Entonces yo tendría que ponerle una ruta a mi máquina para decirle que cualquier petición para la red 10.1.1.0/24 lo dirija hacia el router 192.168.251.1, que él ya la sabrá gestionar (si está bien configurado, claro...).

En el caso de un servidor Linux, la cosa va así:

Tuxxxy:~# route add -net 10.1.1.0 netmask 255.255.255.0 gw 192.168.251.1

y entonces en la tabla de rutas aparece una nueva:

Tuxxxy:~# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.251.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.1.1.0 192.168.251.1 255.255.255.0 UG 0 0 0 eth0
0.0.0.0 192.168.251.254 0.0.0.0 UG 0 0 0 eth0

Y si lo que queremos es eliminar la ruta, cambiamos el ADD por DEL... y ya está!

En el caso de las máquinas Windows, cambia un poco el comando. En este caso sería

C:\Documents and Settings\Administrator>route delete 10.1.1.0 mask 255.255.255.0 192.168.251.1

y para eliminarla, también cambiamos el ADD pero esta vez por DELETE.

miércoles, 20 de febrero de 2008

Linux, Apache2, PHP5 y... ASP!!!!

Un truquillo

Si tenéis un Apache con PHP instalado, y queréis que os interprete las páginas .asp como si fueran PHP, es fácil reconfigurar el servidor web.

Da igual qué versión de PHP tengáis en el servidor, yo lo he probado tanto con PHP4 como con PHP5 y en las dos ha ido bien. Si la instalación está bien hecha, además de las dos aplicaciones, tendréis también el conector (yo en el caso de Debian Etch he utilizado Apache2.2, PHP5 y libapache2-mod-php5 como conector). Pues en la configuración del conector, simplemente tendréis que añadir la extensión .asp para que la interprete como PHP. Es decir, donde ahora tenéis

Tuxxxy:~$ vi /etc/apache2/mods-available/php5.conf

AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps

tenéis que pasar a tener

Tuxxxy:~$ vi /etc/apache2/mods-available/php5.conf

AddType application/x-httpd-php .php .phtml .php3 .asp
AddType application/x-httpd-php-source .phps

y después de hacer el cambio, hacéis un reload del Apache.

Tuxxxy:~$ /etc/init.d/apache2 reload


Eh! y mano de santo...

lunes, 18 de febrero de 2008

Alta de usuarios en MySQL

La verdad es que esto no tiene mucha complicación, pero en su momento me acuerdo que me costó un poco encontrar cómo hacerlo de manera clara, sencilla y sin muchas tonterías. Por eso me parece una buena idea postearlo aquí.

Poned atención, que va a ser rápido e indoloro
Tuxxxy:~$ mysql -u root mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.0.38-Ubuntu_0ubuntu1.2-log Ubuntu 7.04 distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Con esto lo que hacéis es acceder. Es probable que necesitéis poner la contraseña de vuestro usuario root (en este caso no tiene); si tenéis password, deberéis ejecutar

Tuxxxy:~$ mysql -u root-p mysql
Welcome to the MySQL monitor. Commands end with ; or \g.

Bueno, una vez estoy usando la tabla MySQL, doy de alta los usuarios con

GRANT ALL PRIVILEGES on database to 'user'@'localhost' [ 'user'@'IP_server' ] identified by 'password' with grant option;

Después, la tabla Db enlaza usuarios y las bases de datos correspondientes. Lo que tenemos que hacer es añadir el enlace entre el usuario que tenemos y la base (o bases) de datos que queremos que vea. Es simplemente añadir la entrada correspondiente en la tabla Bd, así que yo, para no liarme, lo hago a mano. Para MySQL 4.x lo hago así

insert into db values ('%','database','user','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
insert into db values ('localhost','database','user','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

Para MySQL 5.x hay más campos, así que tendréis que mirar cómo están. Haciendo

select * from db;


ya podéis ver todos los datos que hay en la tabla, y ver qué estructura tiene y dar de alta una nueva fila siguiendo cómo está hecho.

viernes, 15 de febrero de 2008

Los informáticos no son gente seria

¿Quién dijo que lo éramos?
Ni de lejos, vamos... ¿serios? ¿nosotros? Qué va... pa' qué, copón!

Empecemos por mi caso. En mi equipo somos cuatro personas (más mi jefe, que no es que no sea una persona... es que es eso, nuestro jefe, y son una especie aparte), y a los cuatro nos gusta pasárnoslo bien. "Y a quién no" habrá alguien que diga... pues a mucha gente, oiga!. O al menos no les gusta nuestra manera de divertirnos. A ver, que también trabajamos lo nuestro, pero nos gusta pegarnos nuestras risas, como a todo hijo de vecino. Bueno, el caso es que hoy os voy a dejar una de las coñas con las que más nos reímos (hay más, y poco a poco las postearé aquí, seguramente los viernes, por eso de que es casi fin de semana y cuanto menos piense, mejor). Hoy os dejo con un capítulo de The IT Crowd. Es el primero de la segunda temporada, y aunque pienso que la primera temporada es mucho mejor, no está en YouTube, así que es lo que hay. Pero intentaré subirlo yo aunque sea, que el primer capítulo es buenísimo.

La serie la ha emitido Cuatro en España (creo), y se ha traducido como "Los Informáticos", y por lo que dicen no vale nada el doblaje... imagino que comparando las voces originales a las que la gente estaba acostumbrada por otras te suele dejar un poco descolocado. Yo no he escuchado la versión traducida, así que no me pronuncio al respecto. Y siendo más o menos fiel a esto, os dejo el capítulo del que os hablaba, en versión original pero subtitulada.

Ale, que os lo paséis igual de bien que nosotros viéndolos!










jueves, 14 de febrero de 2008

Añadiendo servicios en Windows

Hace unos días "re-aprendí" a poner como servicios en Windows un programa o un ejecutable cualquiera. ¿Cómo? Bueno, no es tan difícil; aunque he visto diferentes maneras de hacerlo, yo voy a poner aquí la manera como lo he hecho yo, y os dejo un enlace de una web donde lo explica de otra manera.

La cosa no es muy complicada. Necesitamos primero tener instalado el Kit de recursos de Windows porque necesitamos dos programillas incluidos en el paquete; pero vamos, que no es imprescindible (siempre os los podéis descargar por otro lado). Pero vamos, que me disperso. En el caso de que tengáis el kit instalado, obviad la parte de la instalación de los dos programas.

Si no tenéis el pack, podéis descargar los ejecutables desde aquí:
INSTSRV.EXE
SRVANY.EXE
Y los guardáis en alguna carpeta (por favor, no los dejéis en el escritorio!!), como por ejemplo
C:\Servicios
La carpeta donde los guardáis (la ruta de los programillas estos), la tenéis que poner en el Path del sistema (esto es lo que había explicado en mi anterior post, aquí).

Una vez tenéis el pack o habéis instalado las dos aplicaciones, la cosa es sencilla.
Os vais a la consola
Inicio --> Ejecutar --> escribíis cmd --> Intro

y escribíis:

Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

C:\Documents and Settings\Administrator>instsrv Servicio Ejecutable

donde Servicio es el nombre que le queréis dar al servicio (por ejemplo, nuevo_servicio, servicio_windows, pepito, lo que queráis) y Ejecutable es la ruta dónde se encuentra el ejecutable que queréis poner como servicio (por ejemplo, C:\Pepito\pepito.exe, C:\Archivos de Programa\MiCasa\micasa.exe, etc)... y ya está.

Para comprobar que se levanta bien y acabarlo de configurar (con qué usuario se tiene que ejecutar, cuándo, si es automático o no...), os vais a servicios

Inicio --> Programas --> Herramientas Administrativas --> Servicios


y en Propiedades, configuráis los parámetros como os interese más.

martes, 12 de febrero de 2008

Modificando el Path en Windows

Supongo que esto puede parecer muy fácil y muy obvio a la gente que tiene algo de idea, pero no lo es tanto para quien no, y como este es mi blog y es para todo el mundo, he pensado dedicar una entrada a explicar cómo podemos modificar el Path en Windows. Además, porque me viene bien como intro para la entrada de mañana.

¿Qué es el Path? Una especie de "chuleta" para tu Windows. ¿Por qué? Porque Windows también necesita chuletas. Cuando tú le pides a Windows que te ejecute un comando, sólo le dices:
ping www.google.es

Cuando Windows recibe la orden, no puede buscar en todo el disco duro el "ping" ese, así que para tenerlo más acotado, el propio sistema sólo busca en una serie de directorios. A esta serie de directorios se les llama Path. Y esto es lo que vamos a modificar.

Antes de nada, esta modificación es fácil, pero se trata de una variable de sistema. Si se modifica mal, dejarán muchas cosas de funcionar... Demasiadas para vuestro gusto, seguro. Así que sólo hacedlo si estáis bien seguros. Para modificar esta variable lo hacemos así:

Botón derecho en Mi PC --> Propiedades --> Avanzadas --> Variables de Entorno

y en Variables de Sistema buscad Path. Veréis que en el campo Values hay unas cuantas rutas, que por defecto son:

"%SystemRoot%\system32;
%SystemRoot%;
%SystemRoot%\System32\Wbem"

(eso de %SystemRoot% apunta a la carpeta donde se encuentra Windows, que normalmente es C:\Windows o C:\WINNT)
La idea ahora es señalar la variable que queríamos modificar, y una vez localizada le damos a Editar, y se nos abrirá una ventana con el nombre y el valor de la variable. Aquí podemos modificar ambos, podemos modificar el valor de Path, añadiendo la nueva ruta. Y después como siempre, OK y salimos.

Para probarlo podéis descargar algún ejecutable, ponerlo en una carpeta C:\Prueba (por ejemplo), añadíis la ruta correspondiente al Path e intentais llamarlo desde la linea de comandos o desde "Ejecutar"... a ver qué pasa.

Mañana más...

lunes, 11 de febrero de 2008

¿Impresoras y TS?

Hace unos días me pidieron una cosa rarísima: un cliente quería que cuando se conectara por Terminal Server a un servidor remoto, no intentara mapear las impresoras conectadas en local. Por defecto, esto se hace siempre, y la verdad es que nunca (casi nunca) se modifica, ya que no afecta al rendimiento del servidor ni nada de eso.

El caso es que nos lo pidieron, y claro, aquí somos unos mandaos, así que tuve que currármelo para ver cómo lo hacía. La gracia de esto es que estuve un montón de rato buscando cómo hacerlo, y cuando ya lo dejé por cansino y me puse a hacer otra cosa, lo encontré de manera accidental. Una de las leyes de Murphy de la informática...

Y cómo lo hice... es un misterio que pienso compartir con todo el que pase por aquí. Es sencillo una vez sabes lo que tienes que hacer o como enfocarlo. Yo lo he probado en W2000 y en W2003, y en ambos casos se hace exactamente igual

Editamos usuarios:
Inicio --> Herramientas Administrativas --> Administración de Equipos --> Usuarios Locales y Grupos --> Usuarios

y después vamos a las propiedas del usuario que se conecta remotamente (Administrador, Administrator, Pepito... el que sea):

Botón derecho --> Propiedades --> Pestaña ENTORNO

y en la parte donde pone

Dispositivos de Clientes

desactivamos los tres checkbox que hay (si queremos quitar impresoras y unidades cuando nos conectamos en remoto).

Y nada... mano de santo!

viernes, 8 de febrero de 2008

¿Cómo dices que accedes?

Ponéos en situación: un "mando intermedio" que lidera un equipo técnico. Una tarde de otoño. Un pollo mayúsculo corriendo por la oficina, con lo que todo el mundo tenía que aportar su granito de arena.

Y de repente el buen hombre se dirige a mí y me dice
Oye Esther, que estoy intentando entrar en XXX y me da error

(la máquina XXX es Solaris, 5.8 si mal no recuerdo)
A lo que una servidora, de manera inocente le pregunta
¿Cómo estás intentando entrar? Yo estoy dentro
Ah, pues será eso, que el Terminal Server no permite más sesiones

La cara que se me quedó debió ser un poema. Yo, una junior recién entrada en la empresa y que aún sentía "algo" de respeto por esta persona... se me cayó todo al suelo, la verdad.

Tiempo después la persona se disculpó diciendo "que era una broma".
Ya... claro...

jueves, 7 de febrero de 2008

Debian Etch, Apache 2.2.3 y Tomcat 5.5

Os habéis encontrado alguna vez algún problema al instalar la última versión de Apache y de Tomcat en una Etch? Sin compilar me refiero, con el cómodo

apt-get install apache2.2 tomcat5.5

(y aprovecho e instalo el JDK de Sun, me gusta instalar peligrosamente!)
¿Os ha funcionado a la primera? Supongo que a vosotros tampoco. Nuestro problema, una vez nos rompimos la cabeza porque no localizábamos el error de ninguna manera, estaba en el mod_jk, concretamente en la librería que utiliza, mod_jk.so. La verdad es que localizamos el error, descargamos la librería, renombramos y la cosa fue como la seda. Digo que la renombramos porque tiene un nombre que es un carro... Vamos, que haciendo:

root@Tuxxxy:~# wget http://www.signal42.com/mirrors/
/apache/tomcat/tomcat-connectors/jk/binaries/
/linux/jk-1.2.23/mod_jk-1.2.23-apache-2.2.x-linux-i686.so
root@Tuxxxy:~# mv mod_jk-1.2.23-apache-2.2.x-linux-i686.so
mod_jk.so
root@Tuxxxy:~# mv mod_jk.so /usr/lib/apache2/modules/

se nos solucionó la papeleta.

Mañana más!

miércoles, 6 de febrero de 2008

MySQL : "Can't open file: 'TableName.MYD'. (errno: 145)"

Postear una solución a este problemilla creo que ha sido un poco lo que me ha hecho tomar la decisión final de crear este bLog.

La primera vez que me encontré con este problema, en seguida localicé la siguiente solución:

REPAIR TABLE TableName;

pero la verdad es que de poco me sirvió: el error de mi tabla era lo suficientemente grave como para no poder hacer un repair de una manera tan alegre. Así que después de poner de vuelta y media a la pobre tabla, a la base de datos, al MySQL (genéricamente) y a la máquina donde está alojada, seguí buscando y testeando opciones de la propia orden repair, y di con la siguiente solución:

REPAIR TABLE TableName use_frm;

De esta manera lanzo el repair tan felizmente, pero le digo que para hacer la reparación de la tabla, utilice el archivo TableName.frm correspondiente.

Oye, y mano de santo... ¿eh?

Bienvenidos

Hola a tod@s!!!

Por fin me he decido a unirme a ese grupo de técnicos, analistas y fauna varia y dispersa que se dedican a la interesante rama de networking (o sistemas, que hay mucho purista suelto por ahí) y que de manera más o menos anónima postean su día a día en los servidores de blogspot (o cualquier otra comunidad blogger).

Mi idea en este caso es postear tanto soluciones a problemas que nos vamos encontrando como anécdotas del día a día, intentando no dar nombres (que hay gente muy sensible), con las que nos reímos en la oficina, para demostrar al mundo que, aunque seamos un poco freaks, somos gente muy divertida.