• No se han encontrado resultados

Instalación de Apache y sus módulos

N/A
N/A
Protected

Academic year: 2021

Share "Instalación de Apache y sus módulos"

Copied!
12
0
0

Texto completo

(1)

y sus módulos

y sus módulos

y sus módulos

y sus módulos

Administración de Web Sites

Màster d’Enginyeria del Software

Desenvolupament d’aplicacions sobre Internet

Fundació Politècnica de Catalunya

Jaume Moral Ros

Albert Obiols Vives

(2)
(3)

Instalación de Apache y sus módulos

En nuestras prácticas utilizaremos el servidor Apache, que es actualmente el servidor web más utilizado en Internet. Apache es un servidor distribuido bajo licencia OpenSource, lo que quiere decir que tenemos el código fuente a nuestra disposición libremente y de forma gratuita. La parte negativa es que para instalarlo en nuestro sistema, deberemos compilarlo. En el web de la Apache Foundation (www.apache.org) podemos encontrar distribuciones binarias para algunas plataformas, pero la forma más recomendable de personalizarlo para nuestras necesidades es compilándolo.

En nuestro curso, no sólo instalaremos Apache, sino también otros paquetes y módulos relacionados. Concretamente, estos serán todos los ficheros que necesitaremos en el curso. ApacheJServ-1_1_tar.gz apache_1_3_12_tar.gz mm-1.0.12.tar.gz mod_ssl-2_6_0-1_3_12_tar.gz openssl-0_9_4_tar.gz php-3_0_15_tar.gz swish-efiles_1_3_2.tar.gz search-php3.tar.gz jsdk.jar

No debemos asustarnos, pues siguiendo los pasos que explicaremos a continuación, la instalación será una tarea sencilla.

Encontraremos los ficheros necesarios en el directorio src de nuestro home directory

Para descomprimir cualquiera de estos ficheros utilizaremos el comando tar, con la siguiente sintaxis

$ tar zxvf apache_1_3_12_tar.gz

Al descomprimir cualquiera de estos ficheros, encontraremos un fichero llamado típicamente INSTALL o README en el que encontraremos los pasos a seguir para la instalación del paquete correspondiente. Si en un futuro queremos hacer una instalación en una plataforma diferente a la de las prácticas o bien hacer una instalación con otras características, deberemos leerlos atentamente. Por el momento, nos bastará con seguir paso a paso los procedimientos de instalación que detallamos a continuación. Normalmente, para instalar un paquete de este tipo, deberemos pasar por 3 etapas: 1. Configuración: consiste en tocar los ficheros de configuración para adaptar el

paquete a las características de nuestra plataforma y generar correctamente los Makefile con los que compilaremos el producto

2. Compilación: compilaremos el paquete conforme a los ficheros que hemos generado en la segunda etapa

(4)

 JAUME MORAL, ALBERT OBIOLS I FUNDACIÓ POLITÈCNICA DE CATALUNYA

3. Instalación: Copiamos los ficheros binarios y otros ficheros auxiliares a su ubicación definitiva, separados del código fuente que, en caso necesario, puede borrarse.

Veremos que en la mayoría de los paquetes a instalar se repite este esquema, al cual deberemos acostumbrarnos

(5)

APACHE

Apache permite dos formas de compilación: utilizando módulos linkados estáticamente o bien dinámicamente (DSO). Esta segunda forma es la más recomendable, ya que nos permite añadir nuevas funcionalidades al servidor sin necesidad de recompilarlo, simplemente añadiendo las nuevas librerías al directorio correspondiente.

Compilaremos el apache con soporte para DSO

$./configure --prefix=$HOME/apache --enable-shared=max $ make

$ make install

Deberemos cambiar la configuración del puerto según el grupo en el fichero httpd.conf

para no entrar en conflicto con otros grupos.

$ cd $HOME/apache/config $ vi htttpd.conf

Y ya podemos ponerlo en marcha para comprobar que funciona

$ cd $HOME/apache/bin $ apachectl start

Con nuestro navegador podemos conectarnos a la dirección

http://147.83.53.181:puerto/

(6)

 JAUME MORAL, ALBERT OBIOLS I FUNDACIÓ POLITÈCNICA DE CATALUNYA

Módulo de PHP3 (mod_php3)

Para instalar este módulo, iremos al directorio donde tenemos los módulos comprimidos y los descomprimiremos con el comando

$ tar zxvf nombre_fichero

Nos introduciremos en el directorio que nos haya creado para el PHP3 y ejecutaremos las siguientes instrucciones para configurar, compilar e instalar:

$ ./configure \

--with-apxs=$HOME/apache/bin/apxs --without-gd $ make

$ make install

Rearrancamos el servidor para cargar el nuevo fichero de configuración. Ahora ejecutaremos algún ejemplo para ver que realmente funciona.

(7)

Módulo de Servlets (mod_jserv)

Este módulo tiene una configuración un poco más compleja, ya que necesita las librerías incluidas con el JSDK distribuido por Sun. Estas librerías están en el directorio src, junto con el resto de paquetes.

Iremos al directorio donde tenemos los módulos comprimidos y los descomprimiremos con el comando

$ tar zxvf nombre_fichero

Para poder configurar el modulo, deberemos indicarle donde tenemos nuestro compilador de Java y nuestras clases de servlets. El compilador ya lo tenemos instalado en nuestra máquina, pero no así las librerías de servlets, que deberemos copiar a su ubicación definitiva con las siguientes instrucciones.

$ mkdir $HOME/apache/jserv

$ cp jsdk.jar $HOME/apache/jserv

Nos introduciremos en el directorio que nos haya creado para el Jserv y lo configuraremos mediante: $ ./configure \ --prefix=$HOME/apache/jserv \ --with-apxs=$HOME/apache/bin/apxs \ --with-jdk-home=/usr/local/java \ --with-JSDK=$HOME/apache/jserv/jsdk.jar \ --disable-debugging --enable-EAPI $ make $ make install

A continuación deberemos tocar a mano el fichero de configuración de Apache para que cargue este módulo. Añadiremos las siguientes líneas. Las dos primeras irán al final respectivamente de las directivas LoadModule y AddModule y la última al final del fichero

LoadModule jserv_module libexec/mod_jserv.so AddModule mod_jserv.c

Include "conf/jserv/jserv.conf"

(8)

 JAUME MORAL, ALBERT OBIOLS I FUNDACIÓ POLITÈCNICA DE CATALUNYA

http://147.83.53.181:puerto/servlet/Hello

(9)

Módulo de seguridad SSL (mod_ssl)

Este módulo no es más que una interface entre Apache y las librerías OpenSSL, que son las que realmente implementan las funciones criptogáficas. Veremos como hacer una instalación conjunta con todos los elementos necesarios.

Los módulos que deberemos descomprimir serán los siguientes:

$ tar zxvf openssl-0_9_4_tar.gz $ tar zxvf mm_1.0.12.tar.gz

$ tar zxvf mod_ssl-2_6_0_1_3_12.tar.gz

El primero a compilar deberá ser el OpenSSL

$ cd openssl-0_9_4

$ sh config no-idea –fPIC $ make

$ make test

Este módulo tarda un rato en compilar, ya que el código utilizado en criptografía es bastante complejo.

El segundo paso son las librerías MM

$ cd mm_1.0.12

$ ./configure --disable-shared $ make

Seguidamente, configuraremos el módulo para que encuentre el resto del código del Apache.

$ cd mod_ssl-2.6.0-1.3.12

$ ./configure --with-apache=../apache_1.3.12

Y para terminar, en el directorio del Apache, reconfiguraremos para que incluya el

mod_ssl

$ cd ../apache_1.3.12

(10)

 JAUME MORAL, ALBERT OBIOLS I FUNDACIÓ POLITÈCNICA DE CATALUNYA $ SSL_BASE=../openssl-0.9.4 $ export SSL_BASE $ EAPI_MM=../mm-1.0.12 $ export EAPI_MM Configuración $ ./configure \ --enable-module=ssl \ --prefix=$HOME/apache \ --enable-shared=ssl \ --disable-rule=SSL_COMPAT $ make

En estos momentos, tenemos ya un servidor Apache con soporte para SSL, pero antes de poder instalarlo y ejectuarlo, necesitaremos un certificado. Para nuestro curso, podemos utilizar el de pruebas, pero hay que tener en cuenta que un sistema real deberemos trabajar con un certificado también real.

Para generar el certificado se nos pedirán unos datos entre los que se incluye un password. Este password lo necesitaremos cada vez que queramos arrancar el servidor seguro, no debemos olvidarlo.

$ make certificate $ make install

Y para acabar, copiamos el fichero de configuración a su lugar correcto

$ cd apache/conf

Ahora tenemos la configuración para el SSL en el fichero htttpd.conf.default, hace falta añadirle nuestros cambios y renombrarlo como httpd.conf

$ cp httpd.conf.default httpd.conf

Ahora para arrancarlo con el SSL, nos pedira el password.

(11)

Indexador de páginas SWISH-e

Descomprimiremos los archivos con:

$ tar zxvf swish-efiles_1_3_3.tar.gz $ cd src

En este caso, la configuración deberá hacerse editando el fichero Makefile. Cambiaremos la ubicación del compilador en el fichero Makefile y pondremos que

cc=/usr/bin

Con esto ya nos compilará sin problemas

$ make $ make test

Para ejecutarlo, crearemos un directorio para dejar el índice:

$ mkdir $HOME/apache/cerques

Ahora, si todo ha ido bien, tenemos que modificar el fichero de configuración user.config, indicando los directorios que queremos indexar. Cuando terminemos indexaremos nuestro Web Site mediante el comando:

$ ./swish-e -c user.config

Este proceso, se debería ejecutar de forma periódica, para tener así los índices sincronizados con el contenido de nuestro web.

(12)

 JAUME MORAL, ALBERT OBIOLS I FUNDACIÓ POLITÈCNICA DE CATALUNYA

Script de Búsquedas

Nuestro buscador no está completo con SWISH-e, ya que éste simplemente genera los índices. Para realizar las búsquedas, necesitaremos un script que consulte estos índices y genere las páginas con los resultados.

En nuestro curso instalaremos el Simple Web Search, que es un cgi escrito en php3, que también tenemos en el directorio junto con el resto de ficheros que necesitaremos. Para instalarlo, deberemos crear un directorio que contenga los ficheros necesarios. Por ejemplo, dentro del directorio cgi-bin

$ cd $HOME/apache/cgi-bin $ mkdir search

Copiar los ficheros: search.conf, search.css, search.inc y search.ph3 en el directorio de las búsquedas.

Configurar este directorio en el httpd.conf para que se pueda acceder via Cgi

Cambiar en el fichero search.conf los valores necesarios para que el cgi acceda a nuestro índice.

Acceder via URL al Cgi search.php3 y probar a buscar alguna palabra de las que hemos indexado anteriormente.

Referencias

Documento similar