Diferencia entre revisiones de «Apache2»

De CURE - Informática
Saltar a: navegación, buscar
(Procedimiento)
(Procedimiento)
Línea 75: Línea 75:
 
===Procedimiento===
 
===Procedimiento===
  
# Redirigir por default a la página principal de mediawiki con el módulo "rewrite" de apache
+
 
 +
==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:
 
Para lograr esto, editamos el archivo /etc/apache2/sites-enabled/000-default y agregar el siguiente módulo:
Línea 83: Línea 84:
 
             RewriteRule ^/$ /mediawiki [R]
 
             RewriteRule ^/$ /mediawiki [R]
 
         </IfModule>
 
         </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
  
 
===Verificación===
 
===Verificación===

Revisión del 12:18 10 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)

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

Verificación

Notas adicionales

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/