Excelente aporte introduzca, sobre todo porque indicas una mejor manera de instalar apache que la convencional. Me gusta, pero de momento, en mi nuevo xubuntu 11.10 no la he probado así porque mysql lo uso con la misma contraseña del sistema (así no me hago bolas).
Y hoy, el profesor orochi les trae un nuevo apartado
Cómo instalar Glassfish con sun-javaPara esto, si son de los que usan versiones 9.10 para arriba, sabrán que Java dejó de ser parte de Sun Microsystems, para pasar a ser parte de la familia oracle. Como todos saben, esto se instala de la siguiente manera:
- Código: Seleccionar todo
sudo apt-get install java-6-openjdk
Pero instalarlo así nos va a traer problemas, porque glassfish (por lo menos la versión que voy a usar en este mini-tuto y que me parece la más estable) tiene como predeterminada la carpeta donde se instala como si fuese de Sun Microsystems. Así que para agregar este apartado, simplemente hacemos en una terminal:
- Código: Seleccionar todo
sudo nano /etc/apt/sources.list
Nos desplazamos hasta el final del documento y agregamos esto:
- Código: Seleccionar todo
deb http:
(creo que había una para nauty, pero no estoy seguro, esta de lucid me funcionó).
Con esto, ahora sí, le ponemos a la terminal el siguiente comando:
- Código: Seleccionar todo
sudo apt-get install sun-java6-jdk sun-java6-jre
Dejan que termine de instalar. Y cuando ya vean su promt, teclean:
- Código: Seleccionar todo
javac
Si les sale varios comandos de este tipo:
- Código: Seleccionar todo
implicitly referenced files
-encoding <encoding> Specify character encoding used by source files
-source <release> Provide source compatibility with specified release
-target <release> Generate class files for specific VM version
-version Version information
-help Print a synopsis of standard options
-Akey[=value] Options to pass to annotation processors
-X Print a synopsis of nonstandard options
-J<flag> Pass <flag> directly to the runtime system
Perfecto, ya tenemos java instalado a la perfección.
El siguiente paso es descargar el software de glassfish (pesa 60 mb aprox). Recomiendo que se vajen la versión 2.1, la pueden conseguir tecleando:
- Código: Seleccionar todo
wget http:
(recomiendo que antes de teclear eso, se posicionen a una carpeta donde sepan donde va a descargarse, esto es para que al final podamos borrar el instalador si ya no lo necesitamos).
Ok, ahora vamos a teclear un comando de java que nos sirve para hacer instalaciones (el -Xmx256M) para ejecutar el instalador.
- Código: Seleccionar todo
sudo java -Xmx256M -jar glassfish-installer-v2.1-b60e-linux.jar
El instalador les debe de dar una pantalla de este estilo:

Desplazan la barra hasta el final para que el botón de "Accept" se active. Lo presionamos. Después, va a correr en la terminal un sin fin de comandos para finalizar con una carpeta instalada.
Ahora, lo que hacemos es lo siguiente:
- Código: Seleccionar todo
sudo mv glassfish /opt
En otros tutoriales en internet en el que pueden encontrar esta guía, vi que muchos creaban un usuario (para añadir mayor seguridad) para el uso específico de glassfish. Sin embargo, en lo personal eso me parece innecesario, así que simplemente me lo voy a saltar (quien quiera que le explique esta parte con mucho gusto la haré).
Lo siguiente entonces es darle permisos a los scripts de Ant de la carpeta glassfish. Para esto, usamos el comando:
- Código: Seleccionar todo
cd /opt/glassfish/
sudo chmod -R +x lib/ant/bin/
En openjdk, con esto ya sería suficiente para instalar las configuraciones. Pero sun-java no lo permite así de fácil, así que antes de instalar las configuraciones, hacemos:
- Código: Seleccionar todo
sudo update-alternatives --config java
Si no se ejecuta este comando, al final les saldrá un comando diciéndoles que no puede instalar porque no encuentra una paquetería de java. Por eso incluí ese paso extra.
Lo siguiente es (ahora sí) ejecutar las configuraciones:
- Código: Seleccionar todo
sudo /opt/glassfish/lib/ant/bin/ant -f setup.xml
Se tarda un poco, pero ahora, al pasarnos a la carpeta bin de glassfish debe existir un archivo (un binario) llamado asadmin. Si ya lo tienes, glassfish ya está instalado.
Ahora solo corremos este comando para probar:
- Código: Seleccionar todo
sudo /opt/glassfish/bin/asadmin start-domain domain1
y vamos a firefox, chrome, opera o el que gusten, y entramos en este vínculo:
http://localhost:4848/Para desactivarlo, o para reiniciar el servidor, es casi el mismo comando, solo que poniendo "stop-domain" o "restart-domain"
Si funciona, deben de entrar a un menú que les pide contraseña. El usuario por defecto es
admin y la contraseña es
adminadmin (esto se puede cambiar después en la configuración).
Bueno, ya con eso, mi recomendación es que sus proyectos los hagan en su carpeta personal, y los pasen a la carpeta del servidor con el siguiente comando:
Primero, comprimimos el proyecto (con la carpeta WEB-INF/classes y demás, eso no lo explicaré aquí, en todo caso es parte del taller de programación) dentro de la carpeta del proyecto hacemos el sig comando:
- Código: Seleccionar todo
jar -cvf nombredelproyecto.war *
Luego, lo pasamos (con el servidor iniciado), con el siguiente comando:
- Código: Seleccionar todo
sudo cp nombredelproyecto.war /opt/glassfish/domains/domain1/autodeploy
Haciendo esto, el proyecto se auto compila para funcionar el glassfish. Y para correrlo tenemos dos opciones:
1.-Correrlo sobre el administrado de glassfish (en web-projects, y le dan "launch)
2.-O con entrar en
http://localhost:8080/nombredelproyectoY ya con eso debe funcionar sus proyectos.
Unos extras: como seguro usarán en sus proyectos jdbc para mysql o javamail, les recomiendo hacer estos comendos para que funcione a la perfección y sin problemas:
1.-Se instala:
- Código: Seleccionar todo
sudo apt-get install libmysql-java
2.-Luego se hace un enlace simbólico:
- Código: Seleccionar todo
sudo ln -s /usr/share/java/mysql-connector-java.jar /opt/glassfish/lib/mysql-connector-java.jar
3.-Luego se copia en la carpeta del dominio:
- Código: Seleccionar todo
sudo cp /usr/share/java/mysql-connector-java.jar /opt/glassfish/domains/domain1/lib/ext/
Y para javamail prácticamente lo mismo, solo que hay que descargar dicho api. La página está
aquíY como un pilón más, esto solo sirve para bases de datos que se manejen como paquetería de java. Si lo quieren usar en un jsp directamente, es necesario crear la base de datos en la interfaz de glassfish. Y para esto, hacemos lo siguiente:
1.-Creamos una base de datos en mysql (o postgresql, la que más se les acomode, yo prefiero mysql). De nueva cuenta, esto no lo explico aquí porque ya es parte de la programación. Si quieren saber como crear una base de datos sencilla, recomiendo vayan al taller de programación para que todos lo veamos.
2.-Nos vamos a la parte de "Resources" y le decimos que agregue una nueva conexión a la base de datos con los siguientes datos:
- Nombre de la conexión
- en Resource Type lo dejamos como javax.sql.ConnectionPoolDataSource
- en DatabaseVendor seleccionamos Mysql
3.-La siguiente pantalla (botón "Next") les pedirá muchísimos datos sobre la base de datos. Pero para no complicarnos en demasía, simplemente rellenaremos los siguientes:
- User (donde aquí ponemos el usuario con el que entramos a Mysql, en mi caso, el root)
- assword (la contraseña que usamos para entrar a mysql, en mi caso como dije, la misma que uso para todo)
- URL: jdbc:mysql://localhost:3306/nombre_de_la_base_de_datos (donde nombre_de_la_base_de_datos es la base de datos creada con anterioridad en mysql)
- url: jdbc:mysql://localhost:3306/nombre_de_la_base_de_datos (donde nombre_de_la_base_de_datos es la base de datos creada con anterioridad en mysql)
Y finalmente probamos haciendo PING en el menú de glassfish. Si dice "Ping succeded" listo, ya con eso ya pueden usar la base de datos dentro del código de jsp, y no en el java necesariamente.
Espero que este tuto les sea de utilidad. No encontré uno que me dijera las instrucciones tal cual las detallo acá, así que las consideré pertinentes. Quien tenga dudas, en este tema por favor.
Saludos
Hablemos de tautologías: Todo caballero respeta el pacto de caballeros. El que no es caballero, entonces es P***. Entonces, si un caballero no respeta el pacto de caballeros, entonces no es caballero. Y si no respeta el pacto, entonces es P***