Mostrando entradas con la etiqueta servidor web. Mostrar todas las entradas
Mostrando entradas con la etiqueta servidor web. Mostrar todas las entradas

Configuración de los servidores Apache e IIS para su ejecución simultánea cambiando los puertos

  En entradas anteriores de la presente bitácora se ha hablado de los servidores de red Apache e Internet Information Services (IIS).
  Mientras se ejecute uno u otro en un mismo equipo servidor no hay problema. No obstante, si se pretende que ambos estén activos al mismo tiempo en el mismo equipo servidor surge un conflicto, puesto que la configuración por defecto de la instalación de ambos servidores hace que estos trabajen escuchando en el mismo puerto (el 80).
  Por lo tanto, uno de los modos para que Apache e IIS se ejecuten simultáneamente en la misma máquina con Windows instalado es hacer que cada uno de ellos trabaje en un puerto distinto. De esta forma, si se tiene la configuración, tanto de Apache como de IIS por defecto, es posible cambiar la configuración de uno de los dos servidores para que escuche en un puerto diferente al puerto predeterminado.

Instalación básica de contenedor de red Tomcat en Linux


  El mundo de los servidores de red es basto y lleno de misterios.
  En entradas anteriores de la presente bitácora se ha hablado de Apache, de Internet Information Services, y de Nginx. Todos ellos han sido definidos como servidores de red (aunque algunos posean otras funciones añadidas).
  Mas en esta entrada se hablará de un interesante complemento a un servidor de red conocido como contenedor de red (o contenedor web), de entre los cuales uno de los más populares es Apache Tomcat.
  Pero lo primero es lo primero. Un contenedor de red es, desde el punto de vista de la programación informática en Java, la implementación que hace cumplimiento del contrato de componentes web de la arquitectura J2EE (Java 2 Enterprise Edition, plataforma de programación en Java).​ Este contrato especifica un entorno de ejecución para componentes web que incluye seguridad, concurrencia, gestión del ciclo de vida, procesamiento de transacciones, despliegue y otros servicios. Un contenedor web suministra los mismos servicios que el contenedor de JSP así como también una vista federada de las API de la plataforma J2EE. Un contenedor de red se suministra incluido en un servidor de red o J2EE.

Configurar Nginx con proxy inverso y una aplicación de Tomcat en Linux

  En entradas anteriores se ha visto el modo de instalar un servidor de red Nginx y un contenedor de red Tomcat. También se ha comentado que el segundo solía ir conectado al primero (o a un servidor de red Apache), y que otra función de Nginx era crear proxys inversos con diferentes finalidades.
  Pero, ¿qué es un proxy inverso?, pues nada menos que un tipo de servidor proxy que recupera recursos en nombre de un cliente desde uno o más servidores. Estos recursos son entonces devueltos al cliente como si se originaran en el propio servidor de red. Por lo tanto, el proxy inverso es un intermediario para que sus servidores asociados sean contactados por cualquier cliente.
  Para ejemplificar esta explicación se ha empleado el servidor Debian 9 Stretch como sistema operativo base, el Nginx 1.14 como servidor de proxy inverso, y el contenedor de red Tomcat 8.

Instalación básica del servidor Nginx en Linux

  Ya se ha explicado en su momento qué es un servidor de red y para qué sirve, ejemplos de servidores de red son Apache o Internet Information Services, de los que se ha hablado en esta bitácora en varias ocasiones.
  En la presente entrada se explicará qué es y cómo se instala otro servidor de red que, además, posee otras funciones de servidor muy particulares, se trata de Nginx (pronunciado en inglés “engine X”).
  Se trata de un servidor web/proxy inverso ligero de alto rendimiento y un proxy para protocolos de correo electrónico (IMAP/POP3).
  Es software libre y de código abierto, licenciado bajo la Licencia BSD simplificada; también existe una versión comercial distribuida bajo el nombre de Nginx Plus. Es multiplataforma, por lo que corre en sistemas tipo unix (GNU/Linux, BSD, Solaris, Mac OS X, etc.) y Windows.
  Para ejemplificar esta explicación se utilizará el sistema operativo Debian 9 (Stretch) y Nginx  1.14.

Configuración básica de IIS (Parte 2: Crear un nuevo sitio web en un directorio externo)

  En una entrada anterior del presente blog se ha visto el modo de cambiar la página web predeterminada del servidor por otra personalizada del usuario; no obstante, dicha página web personalizada se alojaba en el directorio predeterminado del servidor de red.
  En esta entrada se explicará la manera de establecer un sitio web como predeterminado del servidor de red Internet Information Services desde otro directorio que no es el predeterminado de dicho servidor, sino uno que se encuentra ubicado en un directorio elegido por el usuario que posteriormente será conectado al mismo.
  Para ilustrar la explicación se utilizará un sistema operativo servidor Windows Server 2012 R2.

Configuración básica de IIS (Parte 1: Establecer una página web predeterminada personalizada del sitio)


  En entradas anteriores de este blog se ha definido el servidor de red Internet Information Services (IIS), que funciona bajo sistemas operativos Windows, especialmente las diferentes versiones de Windows Server.
   Normalmente, este servidor de red tiene, como suele suceder con este tipo de aplicaciones, una página web de ejemplo predeterminada. Mas esta página web puede cambiarse por la que el usuario desee servir en su sitio web servido desde IIS.
  Para ejemplificar la explicación de los pasos a seguir para configurar el servidor de red IIS con el fin de que sirva el sitio web a gusto del usuario y no el que el programa tiene por defecto, se utilizará un Windows Server 2012 r2.

Solución al error "HRESULT: 0x800704BE"

    Internet Information Services, o IIS, es un servidor de red de Microsoft que puede instalarse en ciertas versiones de Windows.
  A veces, al iniciar un sitio de red que se encuentra dentro de este servidor, o cuando se intenta iniciar el propio servidor de red, da un error en el que se especifica que el formato del nombre de red especificado no es correcto, o error con código "HRESULT: 0x800704BE".
  En esta entrada se utilizará el Windows Server 2012 R2 como sistema operativo base para ejemplificar la explicación de como resolver este problema.
  En resumen, se trata de eliminar la dirección IP de la lista de escucha IP.

Gestión básica de acceso en Apache (Parte 4: Gestión básica del archivo de configuración personalizada de directorios)

  Otra de las opciones que tiene el servidor web Apache para administrar el acceso a sus recursos es el archivo de configuración personalizada de directorios, denominado ".htaccess" predeterminadamente.
  Este fichero permite a un usuario determinar la configuración de cada directorio del servidor sin necesidad de que sea el administrador, puesto que el fichero se encuentra en un directorio que dicho usuario controla sin necesidad de permisos especiales.
  Lo que aquí se expondrá es cómo configurar el archivo ".htaccess" y el archivo de configuración del propio servidor web Apache para controlar el acceso a ciertos recursos del servidor alojados dentro de un directorio concreto que pertenece a un usuario determinado.

Gestión básica de acceso en Apache (Parte 3: Acceso mediante autenticación resumen)

  Un método de acceso más seguro del servidor de red Apache es el de la autenticación resumen, que se emplea cuando el equipo donde se encuentra el servidor de red se encuentra en un dominio.
  La autenticación resumen ("digest", en inglés) consiste en utilizar la contraseña y otros bits de información para crear un hash que se envía al servidor para identificar. Enviar un valor resumen ("hash", en inglés) evita el principal problema de la autenticación básica, que es enviar los datos sin encriptar.
   En esta entrada del blog se verá cómo configurar el servidor de red Apache para que posea el método de autenticación resumen.

Gestión básica de acceso en Apache (Parte 2: Acceso mediante autenticación básica)

  En el servidor web Apache es posible determinar con más precisión el acceso a usuarios gracias a las directivas "AuthName", "AuthType" y "AuthUserFile", que son compatibles con el uso de la directiva "Require", como puede verse en este enlace.
  La autenticación de acceso básica, en una transacción HTTP, es un método diseñado para permitir a un navegador de red, u otro programa cliente, proveer credenciales en la forma de usuario y contraseña cuando se le solicita una página al servidor. Básicamente, un usuario cliente deberá escribir su nombre de usuario y su contraseña para poder acceder a la página que sirve el servidor.
  En esta entrada del blog se verá cómo configurar un servidor de red Apache para que realice las operaciones necesarias que le permitan controlar el acceso a usuarios mediante el tipo de autenticación antes mencionado.

Gestión básica de acceso en Apache (Parte 1: Acceso mediante IP y nombre de dominio)

  En versiones del servidor web Apache anteriores a la 2.4 se podían definir las direcciones IP y los nombres de dominio que podían acceder a un recurso del servidor mediante las directivas "Order", "Allow" y "Deny", que se encontraban en secciones como "<Directory>" o "<File>", por ejemplo.
  Dichas directivas se pueden seguir empleando en versiones más actuales de Apache habilitando un módulo de compatibilidad llamado "mod_access_compat", pero es mejor emplear las nuevas directivas propias de estas nuevas versiones. Estas directivas son "Require", "RequireAll", "RequireAny" y "RequireNone" (puede verse la documentación oficial sobre estas en el siguiente  enlace).
  Aquí se verá el uso de las directivas mencionadas para gestionar el acceso al servidor desde una IP concreta o un nombre de dominio determinado.

Crear un directorio personal de usuario en Apache

  El módulo "userdir" del servidor web Apache sirve para que un usuario cree un directorio personal que pueda gestionar sin necesidad de ser superusuario.
  Este módulo no suele estar activo de modo predeterminado en el servidor web, pero aquí se verá cómo habilitarlo y prepararlo para su funcionamiento.
  Para ejemplificar esto se utilizará el sistema operativo Ubuntu Server 16.04 LTS.

Gestión básica de módulos en servidor web Apache

  El servidor web Apache posee módulos predeterminados que carga cuando se inicia, pero también existen otros módulos que se le pueden  habilitar para que funcionen a partir del momento en que se realiza tal acción.
  Cada uno de estos módulos posee ciertas funcionalidades y directivas para configurarlas. Los módulos pueden consultarse aquí o en este otro  enlace.
  En Apache hay dos tipos de módulos:
  • Estáticos: Son añadidos al compilar el servidor.
  • Dinámicos: Se cargan dinámicamente al iniciar el servidor. 
  Por defecto, este servidor web incluye un conjunto básico de módulos estáticos, pero si es compilado con la opción DSO (Dynamic Shared Object), se pueden cargar módulos dinámicos gracias a la directiva "LoadModule".
  Por otra parte, la directiva "<Ifmodule (nombre del módulo)> ... </Ifmodule>" permite especificar directivas que se activarán sólo si el módulo está cargado.

Alojamiento compartido en Apache (parte 1: Alojamiento basado en nombre)

  En esta entrada del blog se hablará de otra de las opciones que da el servidor HTTP Apache, el alojamiento compartido.
 El alojamiento compartido ("virtual hosting", en inglés) es un método del servidor para, según sus posibilidades, tener varios dominios y sitios web en un mismo equipo y servidor.
  Para ejemplificar la explicación se utilizará un servidor Apache alojado en Ubuntu Server 16.04, del usuario dependerá deducir o investigar sus variaciones respecto a otros sistemas operativos de servidor (o de cliente, si se da el caso).

Directorios virtuales en Apache

  En anteriores entradas ya se ha explicado qué era el servidor HTTP Apache, por lo que esa información no se va a repetir en esta.
  
  Un directorio virtual se define como un nombre de directorio, utilizado en una dirección, que corresponde a un directorio físico del servidor, que a veces se llama asignación de dirección URL. Esto significa que es un directorio que está fuera del directorio raíz del servidor, es decir, del "DocumentRoot".

Configurar directivas de configuración en el servidor HTTP Apache

  El servidor HTTP Apache es un servidor web HTTP, es decir, un programa informático que procesa una aplicación del lado del servidor, realizando conexiones bidireccionales o unidireccionales y síncronas o asíncronas con el cliente y generando o cediendo una respuesta en cualquier lenguaje o aplicación del lado del cliente, de código abierto, para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la noción de sitio virtual.
  Algunos usuarios informáticos empiezan a indagar las posibilidades de tener diferentes tipos de servidor en sus equipos, y experimentan de modo autodidacta o buscando quien les enseñe a gestionar sus propios servidores. Esta entrada es para esos emprendedores informáticos, y para otros que sepan más y deseen refrescar pequeños detalles del uso de este servidor web.
   Para este ejemplo sobre el uso de directivas en Apache, se usará el sistema operativo Ubuntu Server 16.04 LTS. Aquí se verá cómo configurar el Apache para que muestre la página web de inicio que desee el usuario y para cambiar la página de error predeterminada por otra al gusto del usuario.