Servidores Web e Servidores de Aplicacións

De Wiki do Ciclo ASIR do IES de Rodeira
Saltar á navegación Saltar á procura

Servidores de Aplicacións

Os servidores de aplicacións proporcionan un marco de traballo integrado para a realización de aplicacións web no que o servidor se encarga de procesos comúns como a xestión do acceso ás bases de datos ou o soporte de configuracións de alta dispoñibilidade permitindo ao programador de aplicacións centrarse na lóxica da mesma.

Os servidores de aplicacións manteñen ademáis un entorno de execución de aplicación, común as peticións de todos os clientes, de xeito que é simple compartir información entre estos, e impoñen unha estructura de aplicación que fai relativamente simple a separación entre a lóxica e a presentación da aplicación.

Boxinfo info.png
Os recursos que necesita cada aplicación se indican nun ficheiro de configuración dentro da mesma, e o servidor se encarga de xestionalos e proporcionarllos cando os precise. Este ficheiro se chama en .NET web.config e en Tomcat ROOT.xml.

Os servidores de aplicacións máis empregados hoxe en día son os basados en JAVA como Apache Tomcat ou en .NET como o IIS.


Servidores Web

A misión dos servidores Web e cargar e enviarlle aos clientes os documentos solicitados. Para que o servidor dispoña de capacidade de proceso é necesario engadirlle os módulos correspondentes as tecnoloxías a empregar: SSI, CGI ou as linguaxes de scripting desexadas, como PHP.

Os servidor web máis utilizado no mundo con moita diferencia é o Apache Web Server, seguido polo Microsoft IIS.

Apache Web Server

Apache é a base do que se coñece por entornos LAMP, formados polo Sistema Operativo Linux, o Servidor Web Apache, a Linguaxe de Scripting PHP e o Xestor de Bases de Datos MySQL de uso xeral na Web.

Estructura do Apache

En Debian o apache almacena a súa configuración en /etc/apache2, co seguinte formato:

apache2.conf
Almacena a configuración do servidor (en outras distribucións chámase httpd.conf) incluindo ficheiros que se atopan en outros lugares. Debian trocea o ficheiro en varias carpetas para facilitar a xestión, aínda que ao final a configuración global residirá neste ficheiro.
envvars
Conten variables de entorno relativas ao funcionamento do servidor web.
magic
Almacena bytes de identificación de varios tipos de arquivo.
ports
Configura os portos dende o que Apache servirá as páxinas
conf.d
Neste directorio se configuran os permisos de acceso do servidor a diversos sitios.
mods-available
Neste directorio atópanse os módulos Apache instalados no sistema. Para activalos, é necesario crear un enlace aquí dende a carpeta mods-enabled
mods-enabled
Este directorio contén enlaces aos módulos de mods-available que se atopan activos.
sites-available
Este directorio almacena a configuración dos sitios web virtuais configurados. Para activalos é necesario crear un enlace aquí dende a carpeta sites-enabled
sites-enabled
Este directorio conten enlaces aos sitios web de sites-available que se atopan activos.

Servidores Virtuais

O protocolo http indica na cabeceira da petición o nome do servidor web ao que se lle realiza a solicitude. Esto o aproveitan os servidores web para seleccionar cal dos sitios que albergan deben servir, o que posibilita que un único servidor cunha única dirección IP poda atender varios sitios web ao mesmo tempo coñecidos como Sitios Virtuais.

En Apache a configuración dos sitios virtuais realízase mediante a directiva VirtualHost. Vexamos un exemplo de creación dun sitio virtual chamado www.virtualhost.com.

  • En primeiro lugar debemos crear un ficheiro en /etc/apache2/sites-available coa configuración do sitio. Podemos chamalo, por exemplo, www.virtualhost.com
  <VirtualHost *:80>
     ServerName www.virtualhost.com
     DocumentRoot /var/sites/virtualhost
  </VirtualHost>
Esto indica que o servidor virtual aceptará conexións en todas as IP da máquina (*), no porto 80. Que o servidor atenderá ás peticións de www.virtualhost.com e que os documentos están situados na carpeta /var/sites/virtualhost.
  • Logo debemos activar o sitio, e decir, crear un enlace dende /etc/apache2/sites-enabled. O faremos co script a2ensite:
   a2ensite www.virtualhost.com
Supoñendo que o ficheiro se chame www.virtualhost.com, que non ten por qué.

Alias, Directory, Location Mediante Directory e Location facilitamos acceso a determiñadas carpetas ao servidor Web e configuramos os seus permisos de acceso. Directory indica o camiño no árbore de directorios do sistema ao directorio a configurar, mentras que Location indica o camiño dende o árbore do sitio web:

   <Directory /var/lib/mywebapp>
   ....
   </Directory>
  <Location /documents>
  ....
  </Location>

Para posibilitar o acceso a directorios que residen fora do árbore do sitio web é necesario empregar a directiva Alias. Por exemplo:

  Alias /myapp /var/lib/mywebapp

Posibilitará o acceso dos clientes aos documentos situados en /var/lib/mywebapp poñendo /myapp detrás da URL do sitio.

Boxinfo info.png
As configuracións de seguridade se poden crear en tres sitios: A nivel de servidor (en conf.d ou apache2.conf), a nivel de host virtual (dentro do VirtualHost) ou a nivel de Directory ou Location

Order, Allow, Deny Unhas das directivas de seguridade máis importantes a nivel de permisos de acceso son Allow e Deny. Estas directivas se evalúan na orde especificada coa directiva Order

Options Mediante Options se poden activar o desactivar certas características dentro do servidor web, do sitio virtual ou dun directorio, dependendo do lugar en que a situemos.

Autenticación Configuración de Seguridade a Nivel de Administrador de Sitio

Http Seguro

Internet Information Services

IIS é o servidor proporcionado pola plataforma Windows Server, e proporciona un servidor de aplicacións .NET, xunto cun Servidor Web capaz de executar ASP e ampliable mediante módulos. Igual que o Apache, soporta servidores virtuais, configuración de seguridade a nivel de directorio, autenticación e http seguro.