Servidores de aplicaciones en
Linux
POR DAVIDOCHOBITS · 1 OCTUBRE, 2018
En el artículo de hoy vamos a intentar explicar que son los servidores de
aplicaciones en Linux. La idea del artículo es dejar claro varios conceptos
al respecto de los servidores de aplicaciones JAVA EE, ya que son muy
habituales en las empresas. Sé que para muchos de los usuarios de la
web estos les puede quedar un poco lejos, pero creo que es importante
que por lo menos “nos suene”; ya que gran parte de las plataformas web
de las medianas y grandes empresas, funcionan con estas piezas, como
un engranaje perfecto, con otros componentes, como bases de datos,
servidores web como Apache o Nginx o servidores de caché.
Ya sabéis que gran parte de mi formación es autodidacta y estoy muy
orgulloso de ello, ya que esto me permite, mediante un trabajo diario de
revisión y documentación, sobre todo de la World Wide Web, estar al día.
Gracias a que, desde hace unos años, en mi día a día, estoy trabajando
con estos servidores de aplicaciones, me permite devolver parte de lo
que he aprendido a la comunidad.
¿Qué son los servidores de aplicaciones?
Un servidor de aplicaciones se trata de un dispositivo, generalmente un
servidor, ya sea físico o virtual, que proporciona servicios de aplicación a
dispositivos cliente. Dichos servidores generalmente gestionan la mayor
parte de las funciones de lógica de negociación y acceso a los datos de
las aplicaciones.
Los principales beneficios de la aplicación de la tecnología de los
servidores de aplicación son la centralización y la disminución de la
complejidad en el desarrollo de aplicaciones.
Un servidor de aplicaciones entra dentro de la lógica de un sistema
distribuido. Dicho sistema, en oposición a un sistema monolítico, permite
mejorar en tres aspectos: la alta disponibilidad, la escalabilidad y el
mantenimiento.
¿Cuándo se utilizan los servidores de
aplicaciones?
Los servidores de aplicaciones se utilizan mejor cuando existe la
necesidad de integrarse con bases de datos y servidores, por ejemplo,
con servidores web, como hemos comentado antes. Una de las razones
principales es que pueden servir como un medio para proporcionar
integridad del código y los datos, al tener un enfoque integrado y
centralizado para mantener las aplicaciones actualizadas.
Además, con ellos incorporamos una capa adicional de seguridad, al
posicionarse entre los frontales web, los servidores de caché y las bases
de datos. De esta manera actúa como una barrera adicional a posibles
ataques, por ejemplo, de inyección SQL.
En lo que respecta al rendimiento puede ser mejora al utilizar los
servidores de aplicaciones, ya que podemos establecer un mayor control
del tráfico de red.
Servidores de aplicación Java EE
La Plataforma Java, Edición Enterprise o JAVA EE, define el conjunto
básico de API y características de los servicios de aplicaciones Java.
Una aplicación desarrollada con esta tecnología permite ser desplegada
en cualquier servidor de aplicaciones o servidor web que cumpla con el
estándar.
Esta infraestructura de JAVA EE, está dividida en contenedores lógicos:
EJB Container: Enterprise JavaBeans (EJB), se utilizan para
administrar transacciones. De acuerdo con los planos J2EE, la lógica
empresarial de una aplicación reside en Enterprise JavaBeans, un
componente de servidor modular que proporciona muchas funciones,
incluida la gestión declarativa de transacciones y la mejora de la
escalabilidad de la aplicación.
Contenedor Web: los módulos web incluyen “servlets” y JavaServer
Pages (JSP)
Contenedor JCA (JAVA EE Connector Architecture)
Proveedor JMS (Java Message Service)
Entre los servidores de aplicaciones Java comerciales
destacan WebLogic Application Server de la compañía
Oracle, WebSphere Application Server de IBA o JBoss Enterprise
Application Plataform de Red Hat. En este último caso la versión que
utiliza una licencia de software libre es WildFly
En lo que respecta al desarrollo
Una página de servidor Java (JSP) se ejecuta en un contenedor web. Las
JSP proporcionan una forma de crear página HTML al incorporar
referencias a la lógica del servidor dentro de la página. Los
programadores web y los programadores Java, pueden trabajar codo con
codo, uno junto al otro, al hacer referencia al código de cada uno.
Laboratorio de pruebas
No hay mejor manera de conocer algo que llevarlo a la práctica y eso
haremos en los siguientes capítulos. Ya hemos comentado más de una
vez que en la inmensa mayoría de servidores empresariales, sobre todo
en los enfocados al mundo web, GNU/Linux es el rey. Por lo que
utilizando nuestra plataforma favorita aprenderemos más cosas sobre los
servidores de aplicaciones. Para la ocasión utilizaremos la
plataforma WildFly, de la que ya hemos hablado antes.
En el siguiente artículo vamos a echar un vistazo a
WildFly (anteriormente conocido como Jboss AS). Este es
un servidor de aplicaciones Java EE ligero, rápido y
altamente optimizado basado en Java con el que se
podrán desarrollar grandes aplicaciones desde un solo
IDE. En las siguientes líneas vamos a ver cómo instalarlo
en Ubuntu 18.04.
WildFly es multiplataforma. Ofrece un panel de control
robusto que hace que cambiar una configuración en el
servidor de aplicaciones sea muy simple y rápido. No
es necesario navegar por páginas innecesarias para
personalizar el entorno buscando que se ajuste a tus
necesidades.
Instalar OpenJDK
ARTÍCULO RELACIONADO:
Instala Java 8, 9 y 10 en Ubuntu 18.04 y derivados
WildFly está escrito en Java, por eso requiere Java JDK
para funcionar. Para cumplir este requisito, los usuarios
podemos optar por instalar el JDK de Java oficial de
Oracle o usar la alternativa de código abierto llamada
OpenJDK. Para este ejemplo, vamos a optar por la
versión de código abierto de Java, por eso en una terminal
(Ctrl+Alt+T) vamos a escribir:
1 sudo apt update; sudo apt install default-jdk
Después de instalar OpenJDK, podemos comprobar la
instalación escribiendo en la terminal:
1 java -version
Si la terminal te devuelve unas líneas como las de la
anterior captura, Java estará instalado y listo.
Configura el usuario de WildFly
Dado que este es un servidor de aplicaciones,
generalmente se recomienda usar una cuenta de
servicio dedicada. Ejecuta en la terminal (Ctrl+Alt+T) los
siguientes comandos para crear una cuenta de servicio de
WildFly para administrar el servidor:
1 sudo groupadd -r wildfly
2
3 sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Terminado, continuamos con la descarga e instala de
WildFly.
Descarga e instala WildFly
Terminada la instalación de Java JDK y terminada la
creación de una cuenta de servicio para WildFly,
ejecutaremos los siguientes comandos para descargar el
paquete para WildFly. En este preciso momento, la
versión actual es la 16.0.0.Final. La última versión
disponible, se puede consultar en su página de
descargas.
Si abrimos una terminal (Ctrl+Alt+T), podemos utilizar el
comando wget para descargar el paquete fácilmente
usando los siguientes comandos:
1 cd /tmp
2
3 wget https://download.jboss.org/wildfly/16.0.0.Final/wildfly-16.0.0.Final.tar.gz
Terminada la descarga, tendremos que ejecutar los
siguientes comandos para crear la carpeta WildFly en el
directorio /opt y para cambiar su propiedad a la
cuenta de servicio de WildFly.
1 tar xvf wildfly-16.0.0.Final.tar.gz
2
3 sudo mv wildfly-16.0.0.Final/ /opt/wildfly
4
5 sudo chown -RH wildfly: /opt/wildfly
Continuamos creando la carpeta de servicio de WildFly
en el directorio /etc/ con el siguiente comando:
1 sudo mkdir -p /etc/wildfly
Tras crear el directorio, copia los archivos de
configuración de WildFly y los ejecutables en el
directorio recién creado.
1 sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
2 sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
También tenemos que hacer que los scripts en el
directorio /etc/wildfly/bin sean ejecutables.
1 sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'
En este punto vamos a copiar el archivo systemd al
directorio /etc/systemd/system/ ejecutando:
1 sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/syste
Ahora podemos utilizar los siguientes comandos para
detener, iniciar y habilitar los servicios de WildFly para
que se inicien automáticamente en el momento del
arranque:
Primero detenemos el servicio:
1 sudo systemctl stop wildfly.service
Ahora iniciamos el servicio:
1 sudo systemctl start wildfly.service
Y terminamos habilitando el servicio:
1 sudo systemctl enable wildfly.service
Para verificar el inicio, ejecuta el siguiente comando:
1 sudo systemctl status wildfly.service
Cuenta de usuario para conectar y administrar la consola web del servidor
Ahora que ha descargado e instalado el servicio WildFly,
ejecuta el siguiente comando para crear una cuenta de
usuario. Esta conectará y administrará la consola web del
servidor de aplicaciones. La cuenta la crearemos
escribiendo en la terminal (Ctrl+Alt+T):
1 sudo /opt/wildfly/bin/add-user.sh
En el menú que se puede ver en la captura de pantalla,
escribe “a” y pulsa Intro:
Ahora escribe un nuevo nombre de usuario y crea su
contraseña:
Escribe “yes” para completar la configuración. Ahora
WildFly debe estar instalado y listo.
Wildfly en el navegador
Ya podemos abrir el navegador y como URL utilizar el
nombre de host o la dirección IP del servidor seguido
por el puerto 8080.
1 http://localhost:8080
La consola del servidor está restringida solo al
servidor local. Si te interesa conectarte desde una
ubicación remota, se puede obtener información de cómo
hacerlo en su documentación.
Tras esto podremos acceder a la consola de
administración desde http://localhost:9990/console de
forma remota pues se ha instalado correctamente
WildFly en Ubuntu, 18.04 en este caso.
SERVIDOR WEB EN UBUNTU 16.04
Programación PHP Servidor Web en Ubuntu 16.04
16 julio, 2016 Elivar Largo
Aprende a crear aplicaciones PHP con este sencillo tutorial!!
Suscribete y descarga el tutorial: Introducción al Desarrollo de Aplicaciones Web
con PHP
Nombre
Email
Descargar
Tus datos estarán protegidos y 100% libre de Spam
CÓMO INSTALAR Y CONFIGURAR PHP, MYSQL Y
APACHE PARA DESARROLLAR APLICACIONES
WEB
Hola que tal, en este breve tutorial te voy a explicar
cómo instalar y configurar un entorno de Desarrollo
Web en local para que puedas crear aplicaciones con
PHP 7 así como desplegarlas en tu servidor local, la
configuración se realizará sobre Ubuntu 16.04. Para
Windows sólo es necesario descargar algún paquete
(WAMP, XAMPP) de los que menciono a lo largo del
tutorial y con esto tendrás configurado el servidor web
local.
Para poder desarrollar aplicaciones web con PHP
necesitas instalar y configurar un Servidor Web, un
Servidor de Base de Datos y el propio lenguaje PHP.
Adicional a esto necesitas un editor de texto para
escribir el código de tus aplicaciones.
Para familiarizarnos un poco te voy ha explicar que es
cada uno de los conceptos que he mencionado
anteriormente.
Nota: Si te interesa conocer cómo instalar
WampServer(Apache+Mysql+PHP+phpMyAdmin) en
Windows 10, puedes seguir el siguiente enlace Aprende
a instalar WampServer 3 en Windows 10.
QUE NECESITO PARA CREAR UN SERVIDOR WEB Y CREAR
APLICACIONES CON PHP
Servidor Web: Es un software que se instala en la
computadora donde vamos a desplegar nuestra
aplicación, después de la instalación se generan algunos
directorios en donde deberemos poner nuestra
aplicación para que sea accesible al usuario. Para el
tutorial lo voy a instalar en mi equipo local.
El Servidor Web tiene como función servir nuestras
páginas web a través de peticiones que le hacemos
desde el navegador.
Un claro ejemplo cuando entramos al correo
electrónico en Gmail a través de un formulario
ingresamos nuestros datos y damos entrar, lo que
estamos haciendo es una petición, estamos solicitando
un recurso en este caso el ingreso a nuestro correo,
internamente y en términos generales lo que hace el
servidor buscar el recurso solicitado y lo envía de vuelta
al usuario a través del navegador.
Entre los servidores web más utilizados tenemos a
Apache es un servidor web muy utilizado en entornos
Linux, NGINX que también es utilizado en entornos
Linux, también tenemos IIS(Internet Information
Server) que es el servidor web de Microsoft utilizado
para entornos Windows.
Base de Datos: Por lo general cuando estamos iniciando
en el mundo de PHP sólo hacemos aplicaciones muy
básicas pero con el pasar del tiempo vamos a necesitar
persistir datos datos en el tiempo y a su vez
recuperarlos, es entonces cuando aparece la necesidad
de utilizar un motor de base de datos que nos ayude
con estas funcionalidades.
Existen algunos motores de base de datos como MySql,
Postgres, Sql Server, Oracle entre los más conocidos.
PHP: Es el lenguaje programación que se ejecuta del
lado del servidor, que interpreta nuestro código y que
nos permite crear aplicaciones Web.
Editor de Código: Para codificar la aplicación
necesitamos una editor de código, se puede utilizar
cualquier editor de preferencia, Bloc de Notas, Gedit,
etc. pero a medida que nuestras aplicaciones crecen es
necesario utilizar un IDE, un entorno de desarrollo,
algunos de los que podemos utilizar: Netbeans, Eclipse,
yo acostumbro utilizar Sublime Text es un entorno
liviano, amigable y muy completo.
Comúnmente el servidor web + base de datos + PHP
vienen en paquetes que integran todo en un sólo
software por ejemplo existe
XAMPP(Apache,MySql+PHP, la X indica que es para
Windows), WAMP(Apache,MySql+PHP, la W indica que
es para entornos Windows) y
LAMP(Apache,MySql+PHP, la L indica que es para
entornos Linux). Para entornos Windows sólo basta
descargar e instalar estos paquetes para tener un
entorno de desarrollo web con PHP.
[irp posts=”2553″ name=”Introducción a la programación con PHP: sintaxis,
variables y arrays”]
INSTALAR Y CONFIGURAR EL SERVIDOR WEB EN UBUNTU
16.04
1. INSTALAR APACHE
Lo primero que tienes que hacer para instalar Apache
es abrir una terminal, luego vas a entrar como usuario
root pones tu cable, actualizamos los repositorios del
sistema y posteriormente instalamos apache, a
continuación dejo los comandos que vas a utilizar.
1 apt-get update
2 apt-get upgrade
3 apt-get install apache2
2. INSTALAR MYSQL
Ingresas a una terminal y escribes el siguiente comando
el cual instalará MySql, en la instalación te pedirá la
clave root (para aceptar te mueves con la tecla tab), la
misma que debes recordarla para utilizarla
posteriomente:
1 apt-get install mysql-server php-mysql
3. INSTALAR PHP 7
Por último instalamos PHP con el siguiente comando:
1 apt-get install php libapache2-mod-php php-mcrypt php-mysql
4. DAR PERMISOS A LA CARPETA WWW DEL SERVIDOR
Debes ingresar como usuario root y ejecutar los
siguientes comandos:
1 chown usuario:www-data /var/www/html
2 chmod 775 /var/www/html
5. VER LA INSTALACIÓN DEL SERVIDOR LOCAL
Para comprobar que nuestro servidor web está
instalado y que funciona correctamente realizamos el
siguiente procedimiento:
Desde la terminal ingresamos como usuario root y
ejecutamos el comando:
1 gedit /var/www/html/info.php
Se abre el editor de texto y copiamos el siguiente texto:
1 <?php
2 phpinfo();
3 ?>
guardamos, cerramos y reiniciamos el servicio de
Apache con el siguiente comando
1 service apache2 restart
Vamos al navegador y escribímos o probamos
directamente con http://localhost/info.php y se nos
mostrará un resumen con la información de nuestro
servidor instalado.
6. INSTALAR DE PHPMYADMIN EN UBUNTU 16.04
phpMyAdmin es una herramienta que te va permitir
administrar MySql (crear bases de datos, usuarios,
tablas etc.), a medida que vayas manejando más PHP
vas a necesitar hacer aplicaciones que manejen bases
de datos y esto de crear las tablas, crear secuencias lo
podrías hacer desde la consola pero es un poco tedioso.
phpMyAdmin es un entorno que se ejecuta en el
navegador y desde ahí podrás administrar todas las
bases de datos que sean necesarias para tu aplicación.
Bien, a continuación debes ejecutar los siguientes
comandos(dentro de la instalación selecciones Apache,
lo haces con la barra espaciadora y te mueves con la
tecla tab y enter, en la segunda ventana eliges YES, por
último pones la clave de tu usuario root de la
instalación de MySql:
1 apt-get update
2 apt-get install phpmyadmin
Reiniciamos el servicio de apache:
1 service apache2 restart
Finalmente vamos al navegador y escribímos o
probamos directamente
con http://localhost/phpmyadmin
Es posible que te salga una página en blanco o que te
salga un error algo sobre una librería mbstring. Para
solucionar el problema de la página en blanco abrimos
una terminal y escribímos el siguiente comando:
1 apt-get install php-gettext
Y para eliminar el error de la librería ejecutamos lo
siguiente:
1 apt-get install php-mbstring
Reiniciamos apache y volvemos a probar, ahora debería
estar todo funcional y tendremos un Servidor
Apache configurado para crear aplicaciones con PHP.
ARTÍCULOS RELACIONADOS:
Te gustaría aprender a programar con PHP de manera
profesional y sobre todo práctica?, aprovecha mi
curso Aprende a crear una Aplicación Web de Historias
Clínicas con PHP.
RESUMEN INSTALACIÓN Y CONFIGURACIÓN SERVIDOR WEB:
Instalar Apache
Instalar MySql
Instalar PHP
Instalar phpMyadmin