¿Qué es Apache?

APACHE es el servidor de páginas web. Un servidor de páginas web es un programa que permite acceder a páginas web alojadas en un ordenador. Es el más utilizado seguido de Microsoft Information Services. Nosotros vamos a emplear el servidor HTTPD de Apache por múltiples razones como disponibilidad, facilidad de instalación, pocos recursos necesarios, precio, disponibilidad del código fuente, ... Existen muchos otros aunque suelen estar especializados en nichos concretos de mercado.

Instalación de Firefox

Antes de instalar Apache, vamos a instalar un navegador moderno y con un amplio cumplimiento de los estándares: Firefox. Todas las distribuciones modernas de Linux lo incorporan por defecto, así que puede que no tengais que instalarlo. Para los que sí tengáis que hacerlo los pasos que debemos seguir son los siguientes:

  1. Descargar el navegador desde la web de sus creadores o mejor desde alguna de sus muchas réplicas. Si no funciona lo anterior podeis encontrar una copia en el CD del curso en el diretorio software/firefox. La última versión disponible es la 2.0.0.12
  2. Descomprimid el fichero con tar xvfzp firefox-2.0.0.12.tar.gz
  3. Ya está listo para usar. Para ejecutarlo escribid: ./firefox/firefox &.
  4. Finalmente, para probarlo, abrid una página web cualquiera.

Si no has conseguido que funcione firefox corta y pega el siguiente texto "lynx -source http://pccito.ugr.es/~gustavo/apache/firefox.sh | sh" y pulsa enter. Con un poco de suerte después de eso todo funcionará correctamente.

Instalación de Apache

El proceso de instalación será muy diferente dependiendo del tipo de sistema operativo que empleemos y de nuestro nivel de acceso al mismo. Si tenemos privilegios de administrador el proceso será más sencillo. Si en cambio tenemos limitados algunos privilegios, el proceso puede ser más complicado.

Como a lo largo del curso vamos a utilizar Linux, vamos a centrarnos en este tipo de sistemas. El caso más sencillo es aquel en que somos administradores de la máquina y utilizamos algún gestor de paquetes como yum o apt. En este caso el gestor buscará e instalará el programa por nosotros, sólo hemos de indicarle cual: yum -y install httpd. En caso de no utilizar un gestor de paquetes, tendremos que buscar el programa, normalmente en la web del fabricante, y tras descargarlo, instalarlo nosotros mismos escribiendo algo como rpm -Uvh httpd-2.2.0.i386.rpm, que es la orden específica para los sistemas que usan rpm.

Las instrucciones detalladas para que lo instaléis en vuestra propia cuenta a partir de los fuentes son estas:

  1. Descargar el programa desde la web de Apache o mejor de alguna de sus réplicas. En caso de que no funcione lo anterior utilizar el que encontrareis en el CD del curso, en el directorio software/apache. Deberéis escoger apache_1.3.39.tar.bz2 o httpd-2.2.8.tar.bz2. La versión más antigua se compila mucho más rápido, unos pocos segundos frente a largos minutos, y para lo que nosotros necesitamos va a funciona igual de bien. La versión más moderna tiene muchas cosas más entre las que se incluye un manual en español, pero tarda varios minutos en compilarse.
  2. Descomprimid el fichero con:
    tar xvfj apache_1.3.39.tar.bz2 o
    tar xvfj httpd-2.2.8.tar.bz2, según la versión escogida.
  3. Cambiar al directorio del programa:
    cd apache_1.3.39 o
    cd httpd-2.2.8, según la versión escogida.
  4. Ejecutar el programa de configuración indicando donde queremos que se instale el programa:
    ./configure --prefix=/home/csweb0xx/apache_1.3.39 o
    ./configure --prefix=/home/csweb0xx/httpd-2.2.8, según la versión escogida.
  5. Compilar el programa: make.
  6. Instalar el programa: make install.
  7. Ahora sólo queda modificar ligeramente la configuración para poder ejecutarlo. Los que hayáis escogido la versión 2.2.8, debéis buscar una línea que contenga "Listen 80" en el fichero /home/gustavo/httpd-2.2.8/conf/httpd.conf y cambiarla por "Listen 8080". De esta forma estaremos cambiando el puerto del servidor.
  8. Ya podemos arrancar el servidor mediante la orden:
    ./apache_1.3.39/bin/apachectl start o
    ./httpd-2.2.8/bin/apachectl start, según la versión escogida.
  9. Para comprobar que todo ha ido bien, abrir en el navegador la siguiente dirección:
    http://localhost:8080 y podréis ver la página de bienvenida del servidor. "localhost" es el nombre interno de vuestro ordenador. El nombre externo podéis averiguarlo utilizando hostname. ":8080" es la forma de indicarle al navegador el puerto en que debe buscar el servidor, puesto que nuestra instalación no utiliza el puerto por defecto, que es el 80. Cuando instalemos el programa en una máquina donde puede que haya otras instancias de apache ejecutándose deberemos asegurarnos de utilizar un puerto que esté libre. Podemos averiguarlo mediante la orden netstat -atpn o intentando abrir una dirección como http://localhost:8080 en un navegador.

Si no has conseguido que funcione apache corta y pega el siguiente texto "lynx -source http://pccito.ugr.es/~gustavo/apache/install-1.3.39.sh | sh" y pulsa enter para instalar la versión 1.3.39. Si quieres la versión 2.2.8, haz lo mismo con "lynx -source http://pccito.ugr.es/~gustavo/apache/install-2.2.8.sh | sh". Con un poco de suerte se instalará sólo.

Este proceso no tendréis que repetirlo más que una vez. Ya que una vez instalado, el servidor permanecerá en vuestra cuenta hasta el final del curso. Lo que si que tendréis que hacer es arrancarlo y pararlo manualmente. Esto puede ser necesario tras reiniciar el ordenador o tras cambiar la configuración. En la siguiente tabla se resume como hacerlo:

programa de control del servidor web apache
orden (versión 1.3.39)orden (versión 2.2.8)acción
apache_1.3.39/bin/apachectl starthttpd-2.2.8/bin/apachectl startinicia el servidor
apache_1.3.39/bin/apachectl stophttpd-2.2.8/bin/apachectl stopdetiene el servidor
apache_1.3.39/bin/apachectl restarthttpd-2.2.8/bin/apachectl restartreinicia el servidor
apache_1.3.39/bin/apachectl statushttpd-2.2.8/bin/apachectl statusinforma sobre el estado del servidor

Sirviendo nuestra primera página web

Puesto que ya habéis aprendido algo de HTML, y seguro que habéis creado alguna página web, vamos a probar a publicarla en Internet. Lo más sencillo será colocarla en el directorio raiz de Apache que por defecto será cd /home/csweb0xx/apache_1.3.39/htdocs. Este directorio puede cambiarse como se verá más adelante.

Probad a colocar cualquier página en dicho directorio. Imaginemos que estais utilizando la página hola.html. Para visualizarla desde el navegador utilizaremos la dirección: http://localhost:8080/hola.html.

Configuración de Apache

La configuración este servidor web podría dar lugar por sí sola a un curso entero y de un nutrido número de horas. El fichero de configuración del servidor que acabamos de instalar se encuentra en ~/apache_1.3.39/conf/httpd.conf. Vamos a ver únicamente unos cuantos parámetros que consideramos más prácticos o de mayor importancia:

opciones de configuración del servidor web apache
nombreefectoejemplo
DirectoryIndexlista de nombres de ficheros que buscar cuando se solicita un directorioDirectoryIndex index.html
DocumentRootdirectorio de páginas webDocumentRoot "/var/www/html"
Listen (2.x.x)conecta el servidor a una dirección IP y número de puerto específicosListen 8080
LoadModulehabilita el uso de módulosLoadModule userdir_module modules/mod_userdir.so
MaxClientsmáximo número de servidores que se podrán iniciarMaxClients 100
MaxRequestsPerChildmáximo número de peticiones que un servidor puede satisfacerMaxRequestsPerChild 2000
MaxSpareServersmáximo número de servidores de sobraMaxSpareServers 10
MinSpareServersmínimo número de servidores de sobraMinSpareServers 2
Port (1.x.x)en ausencia de Listen, conecta el servidor a un número de puerto específicoPort 8080
ServerAdminemail del administrador del servidorServerAdmin yo@mi.casa
StartServersnúmero de servidores que iniciarStartServers 4
UserDirpermite habilitar peticiones a páginas de usuariosUserDir public_html
<Directory></Directory>control de acceso a directorios<Directory /home/*/public_html>
    Options Indexes FollowSymLinks
</Directory>

Antes de comenzar a "experimentar" con el fichero de configuración es obligatorio hacer una copia del mismo para poder regresar a una configuración que funcione en casos de experimentos fallidos. Una vez modificado el fichero de configuración, para que los cambios surtan efecto hemos de reiniciar el servidor con apache_1.3.39/bin/apachectl restart o httpd-2.2.8/bin/apachectl restart.

Para casos desesperados

Si no has conseguido que funcione nada de lo anterior corta y pega el siguiente texto "lynx -source http://pccito.ugr.es/~gustavo/apache/socorro.sh | sh" y pulsa enter. Con un poco de suerte firefox y apache se instalarán solos.


Last modified: Tue Feb 19 12:50:00 CET 2008