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.