sábado, 26 de julio de 2008

Configurar tarjeta de red en linux

Tengo un equipo Linux, el cual levanta la red con DHCP, y para tener mas dominio sobre el, para saber en todo momento cual es la IP que tiene, lo quiero configurar con una IP estática.




El equipo es un Ubuntu Server, entonces lo que tenemos que hacer es editar el archivo /etc/network/interfaces, y en la interface que queremos dejar estática ponemos lo siguiente




iface eth0 inet static


address 192.168.10.10


netmask 255.255.255.0


broadcast 192.168.10.255


gateway 192.168.10.1




En address ponemos la ip que tiene que tener el equipo, en este caso es una red tipo C, luego en mascara de subred, la ip de broacast de la red, y el gateway.




Volver al inicio





sábado, 19 de julio de 2008

Error en tomcat 6 con java 6

No se bien cual fue el problema, no lo investigue mucho tiempo, pero instale un windows XP de cero, luego instalar java, JRE 1.6.02 (también lo probé con 1.6.04), luego tomcat 6, y no arrancaba.


El error que salta es el siguiente




[2008-07-19 20:59:00] [986 prunsrv.c] [error] Failed creating java C:\Archivos de programa\Java\jre1.6.0_02\bin\client\jvm.dll


[2008-07-19 20:59:00] [1260 prunsrv.c] [error] ServiceStart returned 1


[2008-07-19 20:59:00] [info] Run service finished.


[2008-07-19 20:59:00] [info] Procrun finished.


[2008-07-19 21:08:09] [info] Procrun (2.0.3.0) started


[2008-07-19 21:08:09] [info] Running Service...


[2008-07-19 21:08:09] [info] Starting service...


[2008-07-19 21:08:09] [174 javajni.c] [error] No se puede encontrar el módulo especificado.




Luego buscando un poco en internet encontre lo siguiente




copiar el archivo msvcr71.dll de %java_home%/bin a window/system32




Y con esta simple solucion quedo todo andando.



Volver al inicio

domingo, 13 de julio de 2008

Configuracion de MySql con GeneXus

En este post vamos a dar la "pisadita" para que se pueda usar MySql con GeneXus en un ambiente Linux.


Y la verdad es muy fácil lo único que hay que hacer es agregar esta linea




lower_case_table_names=1




y luego bajar y subir mysql y ya podemos trabajar.




Cabe destacar que esta configuración lo que hace es tomar las tablas en minúsculas ya que cuando genexus crea las tablas las hace en mayúsculas, entonces si estas en un ambiente Linux que distingue las mayúsculas con las minúsculas, la aplicación no encontraría la tabla a la que te haces referencia.


Por que en windows no importa, porque windows no es case sensistive, es decir para el YO y yo son la misma persona :-)


Bueno fue muy corto pero muy productivo.



Volver al inicio

miércoles, 9 de julio de 2008

Cambiar de disco mysql

Bueno en esta situación les voy a contar algo que me paso en el trabajo y que lo pude solucionar muy rápidamente pero para no perderlo lo escribo para compartirlo con todos.


Tengo un servidor Linux el cual es servidor de base de datos mysql, el cual tiene un solo disco, y este se esta llenando, entonces se le agrego un nuevo disco. Hasta aquí todo normal, lo que hay que hacer es pasar la base de datos a el disco que se acabo de agregar.


Lo primero que hacemos es crear la partición, se pude hacer con muchos utilitarios que hay en la vuelta, pero a mi me gusta la forma tradicional, es decir con fdisk.


Entonces desde el prompt ejecutamos




fdisk




Esto nos lleva al menú de fdisk, el cual con m podemos ver todos los comandos que podemos ejecutar, en mi caso lo único que voy a hacer es crear la partición, esto solamente digitando la letra "n" ya nos empieza a crear la partición.


Luego de digitar n, nos empieza a preguntar, primeo si la partición es primaria o extendida, como mi idea es utilizar el disco entero, lo que hago es crear solo una partición primaria del total del disco, entonces en la pregunta le digo que si.


Luego nos pregunta desde que bloque y hasta que bloque va a tener esta partición, repito, como quiero el disco entero, dejo los valores por defecto en las 2 siguientes preguntas.


Luego fdisk vuelve al menú principal, y ahí solamente dándole "w" el guarda los datos en la tabla del disco y vuelve al prompt.


A esta altura tenemos la partición creada, ahora le debemos de la estructura (en definitiva los índices de la tabla del disco) del disco. Esto lo hacemos con el siguiente comando




Mkfs.ext3 /dev/sdc1




Me falto comentar 2 cosas una es que el disco es scasi por eso /dev/sdc, si fuera un disco Ide seria hdc, hdd o como sea, y además que elegí el formato ext3.


Luego de un rato el disco esta pronto para poder utilizarse, lo que tenemos que hacer es montarlo.


Para montarlo podemos hacerlo a mano cada vez que se reinicia el equipo, o se guarda en el archivo que monta los discos al arrancar. Yo por comodidad lo hago de la segunda forma, entonces tenemos que editar el disco fstab, que esta normalmente en la carpeta /etc, y lo que hay que hacer es copiar alguna línea de montaje, para poner los mismos parámetros y no errarle en alguno, igualmente se pude poner los parámetros que les guste, en mi caso le puse lo siguiente.




/dev/sdc1 /base ext3 acl,user_xattr 1 2




Como ven lo monte en la carpeta /base, antes de reiniciar o de montar el disco esta carpeta debe de existir, entonces hacemos lo siguiente




mkdir /base




Luego podemos probar sin reiniciar, lo que hacemos es




mount /dev/sdc1




Y si no nos tira ningún error debe de haber quedado montado, para verlo hacemos lo siguiente




df




Esto lo que hace es mostrarnos el espacio de los discos (también ejecutando el comando mount nos muestra si se monto). Si esta todo bien cuando se reinicie el servidor se montara automáticamente el disco.




Bueno si hasta ahora todo ha ido bien, lo que nos resta es mover la base de datos mysql de un disco a otro, esto es la parte mas fácil.


Primero paramos el motor




/etc/init.d/mysql stop




Luego copiamos la carpeta raíz de un disco a otro (en mi caso la carpeta estaba en /datos)




cp /datos/mysql /base/mysql




Luego de un rato, dependiendo del tamaño de la base, tenemos en el segundo disco todas las bases de datos.


Ahora eliminamos (yo por precavido deje un respaldo por un tiempo) la carpeta en donde estaba anteriormente.


Luego tuve que poner como el propietario de las carpetas al usuario y el grupo mysql




Chown mysql.mysl /base/mysql -R




Luego solamente hay que levantar mysql




/etc/init.d/mysql Stara




Y pronto, con esto tenemos 2 discos, y se libero espacio del primero que es el que nos daba problema.



Volver al inicio

viernes, 27 de junio de 2008

Tomcat sobre Linux

Tomcat en Linux

Bueno en esta oportunidad vamos a explicar como hacer para instalar Tomcat 6 en un Linux

Primero que nada hay que instalar java, en mi caso instala java 6.
Como la instalación fue bajo un Ubuntu-Server, lo que hago es lo siguiente

apt-get install sun-java6-jdk

Luego descargamos de la pagina de apache, la ultima versión de tomcat, y lo copiamos a alguna carpeta del Linux, y lo descomprimimos

tar -xvf apache...tar.gz

Luego lo copiamos al lugar donde nos guste tener el server en mi caso /softgxjava/tomcat

cp /carpeta donde descomprimimos/* /softgxjava/tomcat

luego lo que hacemos es crear el script para levantar el tomcat
entonces hacemos

vi /etc/init.d/tomcat6

y copiamos lo siguiente
#! /bin/sh

export JAVA_HOME="/softgxjava/java"
export JRE_HOME="/softgxjava/java"
export CATALINA_HOME="/softgxjava/tomcat"
export BASEDIR="/softgxjava/tomcat"
#export JAVA_OPTS="-Xms512M -Xmx1024M -Xss4M -Xloggc:/tmp/javalog.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintClassHistogram -XX:MaxPermSize=256m -Dorg.apache.lucene.mergeFactor=100 -Djava.awt.headless=true -Dfile.encoding=Cp1252"

start() {
  echo -n "Starting service Tomcat... "
  cd $CATALINA_HOME
  $CATALINA_HOME/bin/startup.sh
  echo "done"

}
stop() {
  #$CATALINA_HOME/catalogos.sh

  echo -n "Shutting down service Tomcat... "
  $CATALINA_HOME/bin/shutdown.sh > /dev/null 2>/dev/null
  echo "done"
}
case "$1" in
  start)
  start
  ;;
  stop)
  stop
  ;;
  restart)
  stop
  start
  ;;

  *)
  echo "Uso: $0 {start|stop|restart}"
  exit 1
  ;;
esac
(en este script hay cosas que están de mas, pero las utilizo para otras cosas, por eso las dejo)

luego hacemos un link simbólico a la ruta donde tengamos instalado java

ln -s /ruta donde tenemos java /softgxjava/java

y listo con esto ya esta pronto ahora levantamos tomcat

/etc/init.d/tomcat start

y luego solo tenemos que probar que se levante tomcat

http://dir_ip:8080

si nos muestra la pagina vamos bien, ahora nos falta definir los roles en el tomcat y la contraseña para acceder el administrador, esto lo hacemos con el archivo

/softgxjava/tomcat/conf/tomcat-user.xml

y debe de quedar así

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="admin" password="" roles="admin,manager"/>
</tomcat-users>

ahora si con

/etc/init.d/tomcat restart

y listo ya podes empezar a trabajar con tomcat

VMWare - Maquinas virtuales


VMWare - Maquina virtual




En esta oportunidad les voy a hablar un poco de que es una maquina virtual. En este caso voy a hablar de VMWare, pero hay varios, algunas pagas, otras free, algunas que andan solo en Linux, otra que andan solo en Microsoft, etc.




VMWare anda en ambos sistemas operativos, yo personalmente lo he utilizado en ambos.




¿Qué me es maquina virtual? Una maquina virtual es una maquina completa que puede trabajar dentro de otra. Bueno es un poco mas que eso pero para poner ideas no esta mal.


Pongamos un ejemplo para entendernos, yo tengo en mi equipo personal instalado un Windows XP, bueno pero me gusta probar los nuevos sistemas operativos, dígase Vista, o si quiero probar algún sistema operativo viejo, dígase Windows 2000, o mas interesante todavía me gusta investigar mucho en Linux, entonces que hacia antes, formateaba mi maquina instalaba lo que quería, obviamente respaldando todo antes, y rezando a que no pierda nada.


Bueno que hago ahora, me instalo VMWare Server, que es gratis, y me armo una nueva maquina virtual con el sistema operativo que me guste.




Es decir tengo mi XP sin tocarlo para nada, y en un programa (en este caso VMWare) tengo otro sistema operativo.




Que recursos tiene ese sistema operativo, bueno los que yo les de, pero obvio que son menos de los que tengo físicamente, a ver un ejemplo para entendernos, si tengo una maquina con 1GB de ram, a la maquina virtual le tengo que dar menos de 1GB, obviamente VMWare no me va a dejar asignarle todo, sino que va a sugerir 512 pro ejemplo. Lo mismo con los procesadores, si tu equipo tiene 2 núcleos, podes asignarle a la maquina 1 o 2.




¿Pero puedo tener una sola maquina virtual? No, puedo tener las que quiera, tantas como me deje el espacio en disco. Obvio que cada maquina virtual, me va a ocupar disco duro, y ocupa bastante, es decir ocupa lo mismo que ocupa el sistema operativo si lo instalara derecho en una maquina.




¿Pero como aparece el sistema operativo en la maquina virtual? Bueno eso tienes que hacerlo tu, es decir debes de instalar el sistema operativo, idéntico a como lo haces en un equipo común y corriente, y mejor, porque normalmente lo que hacemos es tenemos el cd y prendemos el equipo, arrancamos con el CD, etc. Bueno esto también lo hacemos en la maquina virtual, pero la ventaja que te da es que podes apuntar el CD de al maquina virtual a un imagen iso por ejemplo, entonces, si quiero instalar Ubuntu, me bajo el iso de Internet, luego en la maquina virtual apunto el cd a esta imagen y la inicio y voy a ver como empieza la instalación del sistema operativo.




Después de tener el sistema operativo, voy a poder hacer lo que yo quiera igual que en cualquier sistema operativo, navegar, chatear, jugar, etc.




Ahhh, una cosa que me preguntaron una vez, es si se podía instalar un juego que precisaba mucha tarjeta de video, la respuesta es nooo, es maravilloso pero no tanto, se pude jugar a algunos juegos, los que no consumen mucha tarjeta de video, como bien lo dijimos, la maquina es virtual, entonces la tarjeta de video es virtual, no es la misma que tu tienes en el equipo, pero pruébalo, no pierdes nada.




Otra cosa muy, pero muy interesante es que podes guardar una imagen de la maquina virtual en alguna momento y luego podes hacer las pruebas que quieras y si no te andan bien o no te gusta como queda, puedes volver a esa imagen, y todos los cambios se borraron.




Esto que les explique es en un equipo común y corriente, pero piensen en una empresa que precisa muchos servidores, y que hacían hace 5 años, compraban los n servidores, gastaban el precio de 1 equipo multiplicado por n. Que se puede hacer ahora, compran un equipo, pero un muy buen equipo y lo virtualizan, que es esto, bueno digámoslo así instalan vmware, y le crean las n maquinas virtuales. Que este equipo tiene que ser polenta polenta, en eso estamos de acuerdo pero se imaginan el administrar en vez de 10 equipos con el hardware disperso, y pasar a 1 solo, el espacio, etc. etc.




Bueno este es un primer encuentro con maquinas virtuales, lo único que les puedo aconsejar es que se bajen vmware y lo instalen y empiecen a jugar, y ya van a ver que le van a sacar provecho.




Volver al inicio






jueves, 19 de junio de 2008

Grant para acceder a mysql remotamente

Bueno, como dije en el post anterior, con comentar la línea





bind-address = 127.0.0.1



Con esto solo no vamos a poder acceder desde otro equipo a mysql, ¿Por qué?, bueno porque a mysql le tienes que decir que usuarios son los que pueden acceder de cualquier equipo, entonces lo que hay que hacer es a un usuario en particular darle permisos para que acceda desde tal o cual equipo, o desde todos.


Entonces en el equipo que tengamos el Server mysql accedemos por consola y digitamos lo siguiente


GRANT ALL PRIVILEGES ON *.* to root@"%" IDENTIFIED BY 'nuevo_password';


Con esto le decimos que el usuario root puede acceder desde cualquier equipo (con el %) con el pasword 'nuevo_password".


Después podemos jugar con el % y poner tal o cual equipo, pero eso lo dejo para que lo investiguen ustedes.



Nota: igual que antes si esto esta en producción, tener mucho cuidado de que hacemos, y otro "pique" es crear otro usuario y luego asignarle a este los derechos necesarios


Bueno este post ha sido corto pero no poco importante, espero que les sirva. Hasta la próxima.






Volver al inicio