Apache Tomcat 7

apache-tomcat

Instalar nuestro servidor Apache Tomcat como contenedor de Servlets, será tan fácil como preparar una limonada, solo es cuestión de leer correctamente el paso a paso, así poder tipear de manera consiente y adecuada los siguientes comandos sobre Debian.

wget http://www.us.apache.org/dist/tomcat/tomcat-7/v7.0.47/src/apache-tomcat-7.0.47-src.tar.gz
  • 2 . – Descomprimir y ubicar nuestro paquete
tar -xvzf apache-tomcat-7.0.47-src.tar.gz -C /usr/local/
  • 3 . – Creamos un enlace simbólico a la carpeta creada
ln -s /usr/local/apache-tomcat-7.0.47 /usr/local/tomcat
  • 4 . – Facilitamos la gestión del servidor añadiendo un enlace al contenedor de servlets Catalina
ln -s /usr/local/tomcat/bin/catalina.sh /usr/local/catalina
  • 5 . – Añadimos catalina al RunLevel de nuestro sistema operativo.
ln -s /usr/local/catalina /etc/rc1.d/K99catalina
ln -s /usr/local/catalina /etc/rc2.d/S99catalina
  • 6 . – Editamos el archivo tomcat-users.xml para poder administrar el panel de control

Accedemos a tomcat-users.xml

nano /usr/local/tomcat/conf/tomcat-users.xml

Añadimos lo siguiente:

<tomcat-users>
     <role rolename="manager"/>
     <role rolename="manager-gui"/>
     <role rolename="admin"/>
     <user username="admin" password="tomcat" roles="admin,manager,manager-gui"/>
</tomcat-users>
  • 7 . – Creamos un script demonio dentro de /etc/init.d para poder detener e iniciar nuestro servicio

Antes de crear nuestro demonio verificaremos la ruta del java que tenemos instalado

echo $JAVA_HOME
/usr/lib/jvm/jdk1.7.0_25

Esa ruta la agregaremos al archivo que crearemos editando el siguiente archivo

nano /etc/init.d/tomcat
#Tomcat auto-start
#description: Auto-starts tomcat
#processname: tomcat
#pidfile: /var/run/tomcat.pid
#this path should point to your JAVA_HOME Directory
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_25/
case $1 in
start)
     sh /usr/local/tomcat/bin/startup.sh
;;
stop)
     sh /usr/local/tomcat/bin/shutdown.sh
;;
restart)
     sh /usr/local/tomcat/bin/shutdown.sh
     sh /usr/local/tomcat/bin/startup.sh
;;
esac
exit 0
  • 8 . – Una vez creado y guardado nuestro archivo, procedemos a iniciar el servicio
/etc/init.d/tomcat start
  • 9 . – Accedemos al explorador para corroborar que el servicio esta activo
http://localhost:8080

Para acceder al panel de administración es a través de la siguiente ruta:

http://localhost:8080/manager

Como instalar Java 7 en Debian Wheezy

java

Por lo general siempre es un dolor de cabeza, para quien esta acostumbrado a gindous adaptarse a linux, en esta ocasión aprenderemos a como instalar JDK 1.7 de Oracle en Debian Wheezy, veamos como queda nuestro paso a paso:

  • 1 . – Aceptar las condiciones y descargar el JDK de Oracle
  • 2 . – Crear una carpeta donde guardaremos el paquete fuente
mkdir /usr/lib/jvm
  • 3 . – Descomprimimos el archivo *.tar.gz y lo ubicamos en la ruta creada
tar -zxvf jdk-7u25-linux-x64.tar.gz -C /usr/lib/jvm/
  • 4 . – Compruebe con el siguiente comando, en qué prioridad se encuentra las alternativas de Java que estén instaladas:
update-alternatives --display java
  • 5 . – Agregue la última versión de java, javac y javaws usando update-alternatives, haciendo referencia a la fuente descargada:
update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_25/bin/java 1067
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_25/bin/javac 1067
update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.7.0_25/bin/javaws 1067
  • 6 . – En caso de que existan versiones anteriores del JDK puede eliminarlas y dejar las instaladas por update-alternatives haciendo una selección automática:
rm -rf /usr/lib/jvm/jdk1.7.0_21
update-alternatives --auto java
update-alternatives --auto javac
update-alternatives --auto javaws
  • 7 . – Ahora solo resta verificar si tenemos instalado correctamente nuestra versión del JDK 1.7
java -version

Instalar y Configurar PostgreSQL

postgresql_bumper

Téngase en cuenta que en el siguiente apartado, instalaremos PostgreSQL sobre Debian 7 Wheezy

  • 1 . – Actualizamos los repositorios
aptitude update
  • 2 . – Instalamos los siguientes paquetes
aptitude install postgresql postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1
  • 3 . – Accedemos a postgres

Una vez instalados nuestros paquetes se nos crea un usuario por defecto llamado postgres, con el cual tendremos interacción de comandos con nuestro servidor, para ello debemos loguearnos con ese usuario como tal:

su postgres

Luego de habernos logueado, procedemos a entrar en la consola de PostgreSQL

psql

Al entrar a la consola de postgres veremos que nuestro (prompt) o linea de comandos cambia de la siguiente forma:

psql (9.1.9) 
Type "help" for help. 
postgres=#
  • 4 . – Cambiar contraseña del usuario postgres
postgres=# \password postgres
  • 5 . – Instalar el paquete de administración, nos permitirá utilizar ciertos comando fuera de la consola de PostgreSQL
postgres=# CREATE EXTENSION adminpack; 
CREATE EXTENSION
postgres=# \q
  • 6 . – Al salir de la consola de Postgresql, crearemos un usuario llamado nuevo
adduser nuevo

Nos logueamos como el usuario por defecto postgres

su postgres

Ingresaremos el siguiente comando para crear el usuario nuevo

createuser

Entraremos al prompt

psql

Cambiaremos la contraseña del usuario nuevo

postgres=# \password nuevo
  • 7 . – Configurar Autenticación de PostgreSQL por MD5

Por defecto, PosgreSQL utiliza la autenticación ident, para que los usuarios del sistema local se puede conceder el acceso a bases de datos propias por parte de ellos. Si desea configurar la autenticación MD5 para requerir que los usuarios introduzcan contraseñas, debe abrir y editar el archivo pg_hba.conf

nano /etc/postgresql/9.1/main/pg_hba.conf

cambiar la siguiente linea

local     all     all     ident

por la siguiente

local     all     all     md5
  • 8 . – Configurar PostgreSQL para conexiones TCP/IP

Por defecto, la conexión TCP/IP está deshabilitado, por lo que los usuarios de otros ordenadores no puedan acceder a PostgreSQL. Para permitir a los usuarios conectarse desde otros equipos, edite el archivo postgresql.conf:

nano /etc/postgresql/9.1/main/postgresql.conf

Buscar y cambiar las siguientes lineas

#listen_addresses = 'localhost'
#password_encryption = on

por las siguientes (recordemos descomentar la linea cambiada, quitando la almohadilla al principio de la linea)

listen_addresses = '192.168.1.200'
password_encryption = on
  • 9 . – Reiniciamos postgres
/etc/init.d/postgresql restart

Como configurar VirtualHost de Apache en Debian

bifurcacion

Configurar VirtualHost nos permitirá tener una cantidad N de dominios en una misma máquina, lo cual combinado a la virtualización del Sistema Operativo donde Apache apunte a una IP virtualizada, podrá brindarnos un nivel de seguridad relativo a la importancia de la aplicación que se esté publicando.

  • 1 . – Creamos el directorio que será virtualizado
mkdir /var/www/virtualizado
  • 2 . – Movemos nuestro archivo principal index.html
mv /var/www/index.html /var/www/virtualizado/
  • 3 . – Ahora creamos un nuevo archivo para la configuración de nuestro directorio virtualizado.
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/virtualizado.com
  • 4 . – Modificamos nuestro archivo de la siguiente forma:
nano /etc/apache2/sites-available/virtualizado.com

. . .

# Asegúrese de que Apache escuche en el puerto 80
Listen 80
# Atiendo las peticiones del sitio virtualizado en todas las direcciones IP
NameVirtualHost *:80
     <VirtualHost *:80>
          DocumentRoot /var/www/virtualizado/
          ServerAdmin webmaster@virtualizado.com
          ServerName virtualizado.com
          ServerAlias www.virtualizado.com
          ErrorLog /var/log/apache2/virtualizado.com.error.log
          LogLevel warn
          CustomLog /var/log/apache2/virtualizado.com.access.log combined
          <Directory "/var/www/virtualizado/">
               Options Indexes FollowSymLinks MultiViews ExecCGI
               AllowOverride All
               Order allow,deny
               Allow from all
          </Directory>
     </VirtualHost>
  • 5 . – Habilitamos el VirtualHost en el Apache
cd /etc/apache2/sites-available/
a2ensite virtualizado.com
  • 6 . – Cambiamos permisos de usuario
chown -R www-data:www-data /var/www/virtualizado/
chmod -R 755 /var/www
  • 7 . – Reiniciamos nuestro servidor
/etc/init.d/apache2 restart