Instalación de módulos de terceros


Esta actividad práctica corresponde a este tema.

Una vez ya visto cómo manejar diversos módulos incorporados en la propia instalación de Apache, describiremos ahora como hacer lo propio con módulos de terceros. Principalmente hay dos formas:
  • Una gran cantidad de ellos se pueden instalar simplemente mediante apt-get (en Ubuntu). Este comando lo descargará, instalará y configurará para poder trabajar directamente con el mismo, en algunos casos incluso activándolo directamente.
  • —Si el módulo no estuviese disponible mediante este comando, se debe acudir a la página del fabricante del mismo. Generalmente todo producto "serio" que pretende cooperar con Apache incluye las instrucciones detalladas para para instalarlo o un auto-instalador propio que nos facilite la labor, bien sea mediante un instalador automático o bien mediante su compilación y enlazado manual en nuestro servidor.

Los módulos instalados pueden ser habilitarlos y deshabilitarlos individualmente con los comandos ya vistos a2enmod y a2dismod. žComo ya hemos dicho, los módulos determinan las funcionalidades soportadas por el servidor: Si no se instala el módulo X, no se soporta X y por ese motivo estos comandos son interesantes si la función principal del servidor cambia. A continuación describiremos la instalación de tres de ellos a modo de ejemplo:


PHP:

—Para PHP necesitamos el mod mod_php: https://help.ubuntu.com/community/ApacheMySQLPHP. Su instalación aparece descrita en el siguiente enlace: https://help.ubuntu.com/10.04/serverguide/C/php5.html, pero nosotros describiremos una instalación básica a continuación:

  • El primer paso a dar es ejecutar la orden para instalar la última versión de mod_php para Apache: sudo apt-get install php5 libapache2-mod-php5
Instalando mod_php (1)
  • En el enlace suministrado anteriormente podemos encontrar otras formas de instalación que permiten usar Apache de otras formas o bien combinado con otros productos, si bien nosotros usaremos la más sencilla. Una vez terminada la instalación debemos, como hemos hecho ya antes con otros módulos, reiniciar Apache:

Instalando mod_php (2)

  • Hecho esto, ya podemos probar si PHP funciona correctamente con una página de prueba sencilla como ésta, a la que llamaremos info.php:

<?php
phpinfo();
?>

Instalando mod_php (3)

Ahora ya podríamos desarrollar nuestras aplicaciones PHP y alojarlas en este servidor Apache.


Perl:

Para poder desplegar aplicaciones que usen Perl necesitamos el mod mod_perl: http://perl.apache.org/. Para instalarlo debemos hacer un proceso similar al de PHP, instalando en primer lugar mod_perl con el siguiente comando: sudo apt-get install libapache-mod-perl2:

Instalando mod_perl (1)

Hecho esto, volvemos a reiniciar Apache como con el mod anterior y ahora podemos probar si el mod funciona con un script de prueba como el siguiente, al que hemos llamado hora.pl y que devuelve la hora actual del servidor cuando se le solicita:

#!/usr/bin/perl -wT

print "Content-type:text/html\r\n\r\n";
print '<html>';
print '<head>';
print '<title>Script simple de Perl</title>';
print '</head>';
print '<body>';
print '<h2>Esto es un script muy sencillo hecho en Perl</h2>';
print '<p> El script se he ejecutado en la siguiente fecha y hora:</p>';
print '<p>';
($sec,$min,$hour,$mday,$mon,$year,$wday,
$yday,$isdst)=localtime(time);
printf "%4d-%02d-%02d %02d:%02d:%02d\n",
$year+1900,$mon+1,$mday,$hour,$min,$sec;
print '</p>';
print '</body>';
print '</html>';

1;


Sin embargo, al hacer esta operación no se ejecuta el fichero, sino que Apache simplemente lo descargará. Esto ocurre porque Apache no tiene especificado que estos ficheros .pl son ejecutables, a pesar de haber instalado el mod. Para hacer esta operación debemos completar varias tareas adicionales:

  • Permitir que se ejecuten scripts en el directorio donde esté situado el script de ejemplo. En este caso lo haremos en el directorio raiz de las webs /var/www/scripts, que es un directorio dedicado específicamente a scripts, siguiendo los procedimientos aconsejados anteriormente. Esto se hace añadiendo opciones al directorio mencionado editando el fichero 000-default, concretamente Options +ExecCGI y asegurándonos que los usuarios pueden acceder al mismo. Nótese como hemos desactivado todas las opciones en el directorio padre, de forma que no se puedan ejecutar scripts en el mismo y solo se permita en el directorio /scripts mencionado:

Instalando mod_perl (2)

  • Indicar que la extensión .pl es ejecutable como un script CGI. Esto puede hacerse añadiendo un Handler nuevo al fichero mime.conf de mod_mime y reiniciando Apache:

Instalando mod_perl (3)

  • El último paso es hacer que los propios ficheros de script .pl sean ejecutables para el sistema operativo cambiando los permisos, algo que podemos lograr con chmod 755 hora.pl

Instalando mod_perl (4)

  • Finalmente podemos ver el script en ejecución una vez completados los pasos anteriores:

Instalando mod_perl (5)

.Net:

Es posible soportar una parte de las aplicaciones desarrolladas con el .Net Framework de Microsoft o con cualquier plataforma compatible gracias a mod_mono. Este módulo es la implementación de Mono, que es un proyecto de código abierto y multiplataforma que pretende crear una implementación compatible con el CLR de Microsoft, implementando el estándar CLI (http://www.ecma-international.org/publications/standards/Ecma-335.htm). Mediante este software podemos ejecutar las aplicaciones mencionadas siempre que no se hayan creado con una versión muy moderna de .NET, ya que Mono no soporta las últimas versiones desarrolladas por Microsoft. No obstante, es una solución que puede servir para un gran nº de casos y vamos a describir su instalación a continuación. Podemos encontrar más información en:

El procedimiento de instalación básico es:

  • El primer paso a dar es la instalación del mod en sí, con el comando: sudo apt-get install libapache2-mod-mono mono-apache-server2.

Instalación de mod_mono (1)

Instalación de mod_mono (2)

  • Posteriormente debemos habilitar el mod y reiniciar Apache:

Instalación de mod_mono (3)

  • Ahora ya podemos probar la instalación con una página de prueba como ésta, a la que llamaremos prueba.aspx:

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">;
<html>
<head>
<title>Pagina de prueba de ASP .NET sobre Apache</title>
</head>
<body>
<form id="form1" runat="server">
<asp:label id="Etiqueta" runat="server">¡ASP .NET funciona!</asp:label>
</form>
</body>
</html>

  • Finalmente, podemos probar dicha página y ver que funciona:

Instalación de mod_mono (4)

Finalmente, aunque no se va a cubrir en esta asignatura, podemos dar como ejemplo de módulo que requiera una instalación algo más compleja el popular entorno Tomcat para el desarrollo de webs con tecnologías Java junto al Apache2 que estamos tratando a través del mod llamado mod_jk antes mencionado. Podemos encontrar datos de cómo hacer esta instalación en los siguientes enlaces:

Independientemente de todo lo dicho, el consejo general que podemos dar es que SIEMPRE debemos consultar la documentación de un módulo antes de proceder a su instalación.

Last modified: Thursday, 19 August 2010, 4:51 PM