O Servidor web Apache

De Deseño, implantación e configuración dun dominio/rede Linux.
Saltar a: navegación, buscar

Instalar o servizo

  • O servidor web apache é un servizo que conta con un gran número de módulos que incrementan a súa funcionalidade. Hai módulos para distintos tipos de autentificación, soporte de linguaxes de programación como perl ou php, comunicación segura, etc.
  • No noso caso, ademais do módulo base instalaremos o módulo para soporte de php e o módulo ssl para conexións seguras.
  • Para arrancar o apache teremos que lanzar o servizo httpd (http daemon).
  • Podemos probar que o servizo funciona abrindo cun navagador o enderezo http://localhost


Publicación de páxinas no servidor

  • Normalmente, o cartafol por defecto para almacenar as páxinas en apache é /var/www/html.
  • Polo tanto, para publicar páxinas no servidor simplemente teremos que copialas a este cartafol:

Publicar paxina.jpg


Publicar paxina1.jpg

NOTA: Por defecto só o usuario root ten permiso para poder escribir documentos nesta carpeta.

Configuración básica do servidor Apache

  • O módulo Servidor Web Apache do webmin que atopamos na categoría de Servidores permite configurar a maioría dos parámetros da configuración do servidor.
  • Na páxina inicial do módulo distínguense dous apartados principais:

Configuracion apache.jpg

  • As opcións máis útiles son:
    • Redes y Direcciones: Podemos configurar aquí en que portos escoita o servidor web.
    • Archivos de Opciones de Por-Directorio: En Apache podemos configurar as restriccións de acceso e opcións de cada directorio do servidor web gardando neles uns ficheiros (.htaccess), con diretivas determinadas. Dende esta utilidade podemos editar e crear este tipo de ficheiros.
    • Editar Archivos de Configuración: Dende esta opción podemos editar directamente os ficheiros de configuración do servidor web apache.


Configuracion apache1.jpg

  • Neste segundo apartado podemos crear e editar servidores virtuais no noso servidor web.
  • Os servidores virtuais simulan distintos servidores web (cada un pode ter unha configuración totalmente distinta, incluso un directorio de documentos raíz de documentos diferentes) sobre un mismo servidor real, e actuará un ou outro dependendo dalgún criterio na conexión de entrada, que pode ser:
    • En función do número de porto de destino (O servidor web ten que escoitar en varios portos).
    • En función da dirección IP de destino (O servidor web ten que ter varias direccións IP).
    • En función do nome de DNS da cabeceira da petición (O servidor web ten que ter varios nomes DNS).
  • Unha vez creados, podemos picar nun servidor virtual para acceder á súa configuración, e podemos configurar parámetros como cal é o directorio raíz de documentos, cales deben ser as páxinas de erro, etc.
  • Por defecto, veremos xa dous servidores virtuais, que son o servidor por defecto, que manexa as conexións polo porto 80, e o servidor virtual seguro, que manexa as peticións recibidas polo porto 443 (peticións https).



Personalización do servidor web

Imos destacar as opcións máis importantes de personalización do comportamento do servidor web. Estas opcións poden establecerse para o servidor virtual ou para un directorio concreto do servidor:

  • Establecer os ficheiros índices do directorio: Dentro da opción de Indizado de Directorio podemos establecer que páxinas se mostran por defecto cando o usuario só introduce o nome dun directorio. Por exemplo, no seguinte caso estamos poñendo estas páxinas como predeterminadas:

Personalizar apache1.jpg


  • Mostrar listado dos ficheiros do directorio: En caso de que o usuario non indique o nome de ningún ficheiro e non haxa unha páxina de índice, podemos establecer que se mostre o listado se ficheiros dese directorio. Para facelo, dentro de Opciones de Documento activaremos a opción de Generar índices de directorio:

Personalizar apache3.jpg


Personalizar apache2.jpg


  • Personalizar as páxinas de erro: Outro aspecto interesante para personalizar son as páxinas de erro que devolve o servidor cando unha páxina non se atopa, ocorre un erro interno, etc. Picaremos en Manejo de Errores:

Personalizar apache4.jpg


Personalizar apache5.jpg


Control de acceso ás páxinas do servidor

  • Dentro da configuración do servidor virtual, podemos definir Opcións de Por-Directorio con restriccións ou configuracións particulares para certos directorios do servidor:

Control de acceso en apache.jpg


  • Entre as opcións que podemos definir para un directorio, está a de Control de acceso, que basicamente nos permitirá introducir dous tipos de restriccións:


Restricción por usuarios

  • Podemos establecer que para acceder a este directorio o servidor requira autentificación de usuarios, de forma que só os usuarios válidos poderán entrar.
  • O máis simple é definir os usuarios nun ficheiro de texto, aínda que apache dispón de módulos para tomar os usuarios de distintas fontes, como unha base de datos ou un servidor LDAP.
  • Introducimos os datos fundamentais, que serán:
    • Nome para o ámbito que imos restrinxir: Meramente informativo, para que apareza cando se lle solicite a autentificación ao usuario.
    • Tipo de Autentificación: Basic é o tipo de autentificación máis utilizado, aínda que ten como inconveniente que a clave do usuario se envía en claro pola rede. O método Digest envía a clave cifrada, pero non todos os navegadores o soportan.
    • Usuarios permitidos: poñemos o login dos usuarios que poden acceder a este directorio.
    • Ficheiro de usuarios: Introducimos onde queremos que se almacene o ficheiro de texto que conterá os usuarios de apache. É importante que non estea accesible dende os clientes a través do servidor web.

Control de acceso en apache2.jpg

  • Se volvemos a entrar na opción de Control de acceso poderemos introducir os nome de usuarios e claves no ficheiro de usuarios:
Control de acceso en apache3.jpg
Control de acceso en apache4.jpg
Control de acceso en apache5.jpg
  • Se intentamos acceder á este directorio dende un navegador, este solicitará que nos autentifiquemos:

Control de acceso en apache6.jpg


Restricción por máquinas

  • Tamén podemos establecer no mesmo sitio restriccións por máquinas, indicando dende que máquinas se pode ou se denega o acceso ao cartafol:

Control de acceso en apache1.jpg


  • Esta é a páxina que se obtén ao intentar acceder dende a máquina denegada:

Control de acceso en apache7.jpg


Configurar o servizo web seguro con Openssl

  • Instalando o módulo de apche para ssl, xa temos automaticamente un servidor virtual que atende peticións seguras por https no porto 443.


Instalación de plataformas LAMP

  • O acrónimo LAMP provén de Linux+Apache+MySQL+Perl,PHP ou Python e engloba un conxunto de plataformas web de xestión dinámica de contidos (coñecidas como CMS) cada vez máis populares e que están soportadas por estas tecnoloxías, tendo a característica principal de que todas elas son de código aberto e gratuítas.
  • Existen multitude de ferramentas deste tipo e con diversos propósitos, que van dende comercio electrónico ou blogs, a wikis ou galerías de imaxes, etc. No portal www.opensourcecms.com pódese atopar unha recopilación das máis utilizadas, e incluso versións de demostración para probalas sen ter que instalalas no equipo.
  • Polo seu interese no ámbito educativo, imos facer a instalación de dúas plataformas deste tipo:

Instalación de moodle

  • Moodle é unha das plataformas de e-aprendizaxe máis populares na actualidade. Inclúe un gran abanico de utilidades para deseñar cursos, actividades e compartir recursos entre os distintos usuarios da plataforma.
  • Para instalar calquera desta plataformas precisaremos ter instalado o apache con soporte para a linguaxe na que estea programada (normalmente PHP) e o xestor mysql (Tamén haberá que instalar o módulo da linguaxe, nesta caso PHP para acceder ao xestor de bases de datos).
  • Descargamos da web a última versión da plataforma:

Instalacion moodle.jpg


  • Descomprimimos o ficheiro descargado e seguimos as instruccións que atopamos no ficheiro README.
  • Copiamos o cartafol moodle ao cartafol raíz de documentos do servidor web (/var/www/html). Desta forma estará accesible en http://localhost/moodle.
  • Arrancamos a o servizo mysqld e creamos unha base de datos para moodle:
mysqladmin create moodle

Instalación de MediaWiki