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






miércoles, 18 de junio de 2008

Configurar my.cnf para acceso remoto



Acceder a mysql desde equipo que no sea donde esta instalado el server de mysql






Bueno como les dije acá van a tener "piques" para cosas que me pasan, o me pasaron en algún momento.




¿que es lo que preciso? lo que preciso es conectarme a hacer consultas mysql desde un equipo que no es donde esta instalado el servidor myslq, que en mi caso es un linux-ubuntu (que dicho sea de paso es el que mas me gusta) server.


En mi caso particular también, el equipo que esta instalado el server mysql es una maquina virtual con VmWare, entonces es todo en un mismo equipo pero digámoslo así, son 2 (que es una VmWare, maquina virtual, bueno eso va a ser otro post).


Para los que no sepan que quise decir con VmWare, no lean eso y léanlo como 2 equipos distinto, digamos mi equipo personal que puede tener windows, y un server que esta en otro lado.




Bueno primero obviamente en el linux debe de estar instalado el server mysql, entonces accedo a la carpeta donde esta el archivo de configuración de mysql, que en este caso es en la carpeta /eta/mysql, editamos este archivo y buscamos donde diga









bind-address = 127.0.0.1










y comentamos ese renglón, luego debemos de bajar y subir el myslq algo como










/ete/init.d/mysql restart










luego de esto desde el equipo Windows con el programa que mas les guste, yo uso el Browser de Mysql, ya van a poder acceder con algún usuario y contraseña que tengan de mysql.


Si por algún motivo no tiene un usuario que pueda acceder desde otro equipo deben de darle los privilegios necesarios en mysql, eso lo voy a contar también en otro post.




Nota: hay que tener cuidado con esto, es decir en un equipo que este en producción que pueda ser atacado por alguien, y no va a tener administración remota, nunca hagan esto.




Espero les sea claro y espero sus comentarios.