Diferencia entre revisiones de «Apache2»

De CURE - Informática
Ir a la navegación Ir a la búsqueda
(→‎Instalación: Detalles)
Línea 140: Línea 140:
 
(www.apache.org es el de la fundación, que también tiene otros proyectos, como Tomcat, por ejemplo)
 
(www.apache.org es el de la fundación, que también tiene otros proyectos, como Tomcat, por ejemplo)
 
Ver en particular:
 
Ver en particular:
    La documentación: http://httpd.apache.org/docs/2.2/
 
  
    El manejo de hospedajes virtuales: http://httpd.apache.org/docs/2.2/vhosts/
+
:La documentación: http://httpd.apache.org/docs/2.2/
  
    Las reglas de re-escritura de URLS: http://httpd.apache.org/docs/2.2/rewrite/
+
:El manejo de hospedajes virtuales: http://httpd.apache.org/docs/2.2/vhosts/
 +
:Las reglas de re-escritura de URLS: http://httpd.apache.org/docs/2.2/rewrite/

Revisión del 13:36 14 jun 2011

Borrador

Servidores web en GNU/linux: el principal y más conocido: apache pero también: lighthttpd, cherokee, ...

Utilizaremos apache2 (denominado así en debian/ubuntu porque cohabita(ro)n las versiones 1.3.x (apache) y 2.x (apache2)

Instalación

aptitude install apache2

Primer prueba: desde un navegador visitar la página: http://servidor.apache/ donde "servidor.apache" es la IP del servidor, o un nombre de domínio que resuelve a ésta. (si el servidor tiene un navegador, puede sar: http://localhost/)

Debemos entonces ver aparecer una página de prueba: "It works!"

Organización de /etc/apache2 :

   /etc/apache2/apache2.conf: archivo principal de configuración,
   /etc/apache2/ports.conf: declaración de uso de VirtualHosts y puertos de escucha
   /etc/apache2/conf.d/ carpeta de configuraciones específicas a módulos u otros paquetes que utilizan apache
   /etc/apache2/sites-available : definición de "sitios" VirtualHosts. aquí, inicialmente hay un sitio llamado "default", que responderá a cualquier solicitud.
   /etc/apache2/sites-enabled : "sitios" activados (enlaces simbólicos a la precedente carpeta)

Utilitarios de administración de sitios:

   a2ensite (por "apache2 enable site"): activación de los sitios disponibles,
   a2dissite: desactivación de los sitios.

Podemos, por ejemplo, crear un nuevo sitio creando un archivo /etc/apache2/sites-available/mi_sitio, a partir del archivo /etc/apache2/sites-available/default

Si queremos que este sitio sólo responda a cierto dominio que resuelve en ese servidor (y no a la IP o a otro dominio), agregamos en la sección <VirtualServer *:80> una directiva: ServerName www.mi_servidor.org

Se pueden personalizar las directivas existentes y/o agregar muchas otras. Debemos finalmente activar el sitio: a2ensite mi_sitio Y re-cargar la configuración: /etc/init.d/apache2 reload

Otros utilitarios similares existen para los módulos.

   a2enmod: habilitación de un módulo apache,
   a2dismod: deshabilitación de un módulo apache,

Apache ya viene compilado con diferentes módulos. Por ejemplo, para habilitar apache en https: a2enmod ssl

Esto requerirá, además, un certificado válido y la configuración de un sitio en https. Un certificado autofirmado se puede obtener instalando ssl-cert, y un sitio activando: a2ensite default-ssl

as2enmod, sin parámetro, muestra la lista de módulos disponibles.

Además de las dependencias, existen varios paquetes adicionales ligados a apache, a menudo a través de módulos: libapache2-mod-XXX, por ejemplo PHP: libapache2-mod-php5

Apache se utiliza a menudo en una configuración "LAMP": Linux Apache MySQL PHP. Es necesario instalar además:

   libapache2-mod-php5 (que incluye php5 en dependencia)
   mysql-server
   php-mysql

Objetivos

  1. Redirigir por default a la página principal de mediawiki con el módulo "rewrite" de apache
  2. Crear "vhosts" para la base de datos, mediawiki y tikiwiki (modificando previamente el DNS-apache)

Software

  • apache2

Procedimiento

Redirigir por default a la página principal de mediawiki con el módulo "rewrite" de apache

Para lograr esto, editamos el archivo /etc/apache2/sites-enabled/000-default y agregar el siguiente módulo:

       <IfModule mod_rewrite.c>
            RewriteEngine on
            RewriteRule ^/$ /mediawiki [R]
       </IfModule>

Crear "vhosts" para la base de datos, mediawiki y tikiwiki

  • vhost para la base de datos y redirección por default a mediawiki:

Primero queremos que a la base de datos ingresemos sólo por https y si los usuarios entran por http se rediriga a https. Para esto crearemos dos sitios, uno base-de-datos (vhost en el puerto 80) y otro base-de-datos-ssl (vhost por default en el puerto 443), en el primero unicamente redirigiremos a https y en el último haremos la redirección a mediawiki. Editemos /etc/apache2/sites-enabled/base-de-datos y agrequemos la siguiente linea para redirigir en forma permanente a https:

Redirect permanent / https://base-de-datos.taller.curerocha.edu.uy/

Y agregamos un NameServer y algunos ServerAlias

ServerName base-de-datos.taller.curerocha.edu.uy
ServerAlias base-de-datos.taller.csic.edu.uy bdd.taller.curerocha.edu.uy

Con esto iremos directamente a base-de-datos-ssl (vhost en el puerto 443), ahora configuremos este sitio editando /etc/apache2/sites-enabled/base-de-datos-ssl y agregando lo siguiente:

# Ponemos el alias en https solamente
Alias /base-de-datos /usr/share/phpmyadmin

<IfModule mod_rewrite.c>
     RewriteEngine On
     RewriteRule ^/$ /base-de-datos/ [R]
</IfModule>


  • vhost para tikiawiki

En el vhost (y en el DNS) definimos ServerName y ServerAlias

ServerName tikiwiki.taller.curerocha.edu.uy
ServerAlias tikiwiki.taller.csic.edu.uy


  • vhost para mediawiki

Procedemos de la misma manera que con tikiwiki respecto a los ServerName y los ServerAlias. Además hagamos alguna redirección poniendo lo siguiente en el archivo /etc/apache2/sites-enable/mediawiki

ServerName wiki.taller.curerocha.edu.uy
ServerAlias wiki.taller.csic.edu.uy mediawiki.taller.curerocha.edu.uy mediawiki.taller.csic.edu.uy

DocumentRoot /var/www/

RewriteEngine on
RewriteCond %{HTTP_HOST}   !^wiki\.taller\.curerocha\.edu\.uy [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://wiki.taller.curerocha.edu.uy/$1 [R]
RewriteRule ^/$ /mediawiki [R]

Notas adicionales

DNS-apache

Referencias

Servidor web apache http://httpd.apache.org/ (www.apache.org es el de la fundación, que también tiene otros proyectos, como Tomcat, por ejemplo) Ver en particular:

La documentación: http://httpd.apache.org/docs/2.2/
El manejo de hospedajes virtuales: http://httpd.apache.org/docs/2.2/vhosts/
Las reglas de re-escritura de URLS: http://httpd.apache.org/docs/2.2/rewrite/