A lo mejor queréis hacer una página web. Porque mola. Está de moda y eso. A lo mejor pensáis que lo suyo es hacerla en Java, que es lo que se lleva ahora. Además, parece fácil.
NO.
NO LO ES.
Igual programarla no es tan complicado, depende de lo que queráis obtener, pero conseguir que el ordenador que vayáis a utilizar contenga todas las herramientas y cacharros varios para poder empezar es UN MALDITO INFIERNO. Por eso escribo este tutorial, porque lo he intentado y me han entrado tantas ganas de matar, que quiero poner aquí toda la información para que no le pase a más gente lo que a mí.
INCISO
Estoy muy cabreada. Me he pasado días intentando configurar esta maraña de programas, y cuando casi lo tenía, me he dado cuenta de que había borrado un programa esencial para llevar a cabo toda esta basura de proceso. Me dispongo a desinstalarlo todo y a volver a empezar. Estoy muy cabreada.
FIN DEL INCISO
Mi objetivo es hacer una página web en
Java, desde un sistema operativo
Linux (
Mint, que viene a ser
Ubuntu, al final) utilizando el entorno de desarrollo
Eclipse.
Si hay tres o más palabras desconocidas para ti en el párrafo anterior, hay un listado de blogs maravillosos ahí abajo a la derecha para que puedas leer algo interesante y no mi cruzada personal contra esta instalación de las narices. Si aún así quieres aprender, bienvenido seas y puedes seguir leyendo.
Lo primero que hay que hacer es instalarse un
servidor. Yo ya lo hice en su día, pero como la he liado en algún momento y aquí no funciona nada, lo vuelvo a hacer.
La página la voy a hacer en
Java (asumo que tenéis
Java ya instalado), así que el servidor que voy a instalar es
Tomcat. Vamos al gestor de paquetes
Synaptic y lo buscamos. Busco
Tomcat 7, que es la última versión disponible.
Si os da guerra la instalación por
Synaptic (como me está pasando a mí ahora) podéis:
a) Buscar al que lleva la gestión de paquetes de
Ubuntu y pegarle.
b) Buscar al creador de
Tomcat y pegarle.
c) Realizar la instalación mediante el gestor de software.
La opción c es la más aburrida, pero la más eficaz, y desafortunadamente la única legal, así que vamos a buscar
Tomcat 7 en el gestor de software:
Esto va a tardar un rato. Lo suyo es que os vayáis a tomar un café, o a leer. Yo un café ahora no me voy a tomar, porque son las dos de la mañana, y tampoco quiero ponerme a leer, porque estoy leyendo 50 sombras de Grey y
es una mierda. Voy a buscar otro libro.
...
O mejor me voy a dormir, que esto va para largo.
...
Resulta que a veces la instalación de
Tomcat se atasca en el 12%, pero solo aparentemente. En realidad se sigue instalando. Qué bien. Si os pasa, salid del gestor y volved a entrar; con un poco de suerte pondrá que ya está instalado.
INCISO
He dormido y estoy de mejor humor. A ver cuánto tardo en cabrearme otra vez.
FIN DEL INCISO
¿Ya tenemos
Tomcat? ¿Sí? Vamos a ver si funciona. Abrid un terminal y escribid:
sudo service tomcat7 start
Meted vuestra contraseña de administrador y no debería haber ningún problema. Ya tenéís el servidor arrancado. Una vez hecho esto, abrid un navegador y escribid:
localhost:8080
Debería aparecer un mensaje
It works!:
Igual no os hace falta nunca, pero, si quisiérais detener el servidor, la instrucción en consola es:
sudo service tomcat7 stop
Además, por consejo de la página que se nos acaba de mostrar, id a
Synaptic e instalad:
Tomcat7-docs.
Tomcat7-examples.
Tomcat7-admin.
Ya tenéis
Tomcat instalado y funcionando. Sigamos.
De la parte de bases de datos se encarga
MySQL. Id a
Synaptic otra vez:
Marcad para instalar
mysql-client,
mysql-server y
phpmyadmin. El resto, si no recuerdo mal, se instalarán por dependencia con éstos, pero si tenéis algún problema, instalad uno por uno todos los paquetes que hay marcados como instalados (cuadradito verde) en la captura previa. No cuento nada de
MySQL porque yo ya lo tengo todo en funcionamiento y por tanto no puedo hacer un paso a paso decente, pero de eso sí hay tutoriales aceptables por ahí, en caso de que os hagan falta. Solo comento que para acceder a
phpmyadmin hay que poner en el navegador
localhost/phpmyadmin
y que el nombre de usuario por defecto es
root.
Vale, ahora toca instalar el entorno de desarrollo. Yo he optado por
Eclipse, porque en todas partes lo ponían como la opción por defecto, pero leyendo más cosas por ahí he visto que todo se simplifica mucho si utilizáis
Netbeans, así que a lo mejor estáis a tiempo de seguir un camino algo más fácil que éste. Yo sigo con
Eclipse.
Entrad
aquí y descargad
Eclipse IDE for Java EE Developers. La versión que yo me he instalado se llama
Juno.
Esto va a llevar un rato, buscad algo entretenido que hacer. Yo me voy a dar una ducha.
...
¿Está descargado
Eclipse ya? Bien. Con la elegancia que me confiere el llevar una toalla enroscada en la cabeza, vamos a seguir con este asunto.
Extraed el contenido del paquete descargado y así aparecerá la carpeta de
Eclipse. Dentro de la misma aparecerá el icono del programa como tal, y podremos lanzarlo haciendo doble clic en él.
Una vez dentro, hay que elegir una ruta para el workspace. Yo he modificado la que viene por defecto, creando una carpeta
eclipseWorkspace dentro de la carpeta
Workspaces que ya existe en mi sistema, pero vosotros podéis poner la que os apetezca, o dejar la que viene por defecto.
Ahora hay que decirle a
Eclipse que va a tener que llevarse bien con
Tomcat. Para ello hacemos lo siguiente:
INCISO
Tengo mil dudas acerca de si este paso es realmente necesario. He hecho unos cuantos experimentos y creo que os lo podéis saltar. Pero si luego no funciona nada, a mí no me lloréis. Yo recomiendo que lo hagáis, por si acaso.
FIN DEL INCISO
COMIENZO DEL PASO SUPUESTAMENTE PRESCINDIBLE
Clic en window/preferences/server/runtime environment/add.
Elegís la versión de Tomcat que hayáis instalado, en este caso, la 7. Además, hay que marcar la opción Create a new local server:
Ahora le decimos cuál es la ruta de instalación de Tomcat. Esta información se encuentra en la página It works! de la que hablamos antes. La ruta que hay que proporcionar es:
usr/share/tomcat7
Clic en Finish, y ya tenemos a Eclipse al tanto de Tomcat.
El nuevo servidor aparecerá en la ventana Servidores, y podremos arrancarlo haciendo clic derecho, start (o por consola, como ya dijimos antes).
FIN DEL PASO SUPUESTAMENTE PRESCINDIBLE
Me voy a tomar un café y al cine a ver
Looper, a ver si así se me olvida un poco que llevo todo el fin de semana encerrada con esta bazofia de instalación. Luego vuelvo.
...
Looper está bien. Si ignoramos las motos voladoras, me ha parecido una película muy digna. Sigamos.
Vamos a comprobar que todo funciona bien, y ya de paso aprendemos a crear un proyecto. Voy a utilizar unas instrucciones que he encontrado
aquí y
aquí (tendría que poner mil referencias más, pero ya ni sé dónde he mirado cada cosa).
Para crear un proyecto, haced clic en
file/new/dynamic web project. Yo creo un
dynamic web project porque no tengo intención de que mi web tenga solo contenido estático, pero vosotros echad un vistazo a los tipos de proyectos que hay, para crear el que mejor se adapte a lo que buscáis. También se puede crear un
dynamic web project a través de
file/new/project/web/Dynamic web project.
Dadle nombre al proyecto (al mío lo he llamado
pruebaJuno), y podéis pulsar
Finish. El nuevo proyecto se habrá creado dentro de nuestro workspace.
En la ventana
Project Explorer, que se encuentra a la izquierda de
Eclipse, debería estar el proyecto que acabáis de crear. Si hacéis clic en el más (+) asociado a su carpeta, veréis las carpetas que contiene. Ahora hay que hacer clic derecho en la carpeta
Web Content y seleccionar
New/JSP file. Llamadlo
index.jsp y pulsad
finish. Aparecerá algo así:
Ahora seleccionad todo ese código que aparece en pantalla y sustituidlo por:
<html>
<body>
Tu navegador es <%= request.getHeader("user-agent")
%>
</body>
</html>
A continuación tenéis dos opciones. La primera es que introduzcáis por consola el código que os voy a dar a continuación, cosa que servirá para solucionar errores que, con un poco de suerte, no vais a llegar a ver nunca. La segunda es que os hagáis los valientes y sigáis con la instalación ignorando dicho código, pensando que ya arreglaréis los errores cuando aparezcan. ÉSTA ES LA MALA. Tenéis que elegir la otra, no me vengáis con tonterías, que luego no funciona nada y hay dramas. Ya exploraréis vuestra vena friki otro día. Ahora mismo, abrid una consola para escribir lo siguiente (os recuerdo que en consola se puede pegar con
ctrl + shift + v):
cd ~/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/
rm org.eclipse.jst.server.tomcat.core.prefs
rm org.eclipse.wst.server.core.prefs
Donde
workspace es el nombre de vuestro workspace de Eclipse.
Esto soluciona un error que dice
“Cannot create a server using the selected type”. Para otro error, el
“Could not load the Tomcat server configuration at
/usr/share/tomcat7/conf. The configuration may be corrupt or
incomplete. /usr/share/tomcat7/conf/catalina.policy (No such file or
directory)”, hay que poner:
cd /usr/share/tomcat7
sudo ln -s /var/lib/tomcat7/conf conf
sudo ln -s /etc/tomcat7/policy.d/03catalina.policy conf/catalina.policy
sudo ln -s /var/log/tomcat7 log
sudo chmod -R 777 /usr/share/tomcat7/conf
El segundo
ln a mí me da un error:
ln: failed to create symbolic link `conf/catalina.policy': File exists
pero no parece dar más guerra asociada, así que si os surge este problema, no os preocupéis y seguid adelante.
Cerramos
Eclipse y lo volvemos a abrir.
A continuación tenéis que asociar el proyecto que habéis creado al servidor.
Haced clic derecho en el interior de la ventana
Servers. Clic en
New/Server. Elegid
Apache/Tomcat v7.0 Server y clic en
Next.
Seleccionad vuestro proyecto de la ventana
Available y añadidlo a la ventana
Configured haciendo clic en
Add:
Cuando esté añadido, terminad haciendo clic en
Finish.
Haciendo clic derecho sobre el servidor que acabáis de añadir podréis ver la opción
Start de la que ya hemos hablado hace un rato. Seleccionadla. Abrid vuestro navegador y escribid en la barra de direcciones:
localhost:8080/nombre-de-vuestro-programa
Debería aparecer esto:
¡Ya está! Tras horas de configuraciones y un principio de úlcera de estómago, ¡mi sistema ya está preparado para crear páginas web en Java! Espero que vuestros sistemas funcionen igual de bien, pero con menos horas de trabajo. Y espero también que conservéis la salud de vuestro estómago. Por pedir.
p.d. Gracias infinitas a toda la gente que se dedica a subir tutoriales por todo internet. Si no es por ellos, yo no configuro esto en la vida.
p.d.2 Si veis errores, avisad.