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.
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:
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.
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:
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 start | httpd-2.2.8/bin/apachectl start | inicia el servidor |
| apache_1.3.39/bin/apachectl stop | httpd-2.2.8/bin/apachectl stop | detiene el servidor |
| apache_1.3.39/bin/apachectl restart | httpd-2.2.8/bin/apachectl restart | reinicia el servidor |
| apache_1.3.39/bin/apachectl status | httpd-2.2.8/bin/apachectl status | informa sobre el estado del servidor |
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.
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 | ||
|---|---|---|
| nombre | efecto | ejemplo |
| DirectoryIndex | lista de nombres de ficheros que buscar cuando se solicita un directorio | DirectoryIndex index.html |
| DocumentRoot | directorio de páginas web | DocumentRoot "/var/www/html" |
| Listen (2.x.x) | conecta el servidor a una dirección IP y número de puerto específicos | Listen 8080 |
| LoadModule | habilita el uso de módulos | LoadModule userdir_module modules/mod_userdir.so |
| MaxClients | máximo número de servidores que se podrán iniciar | MaxClients 100 |
| MaxRequestsPerChild | máximo número de peticiones que un servidor puede satisfacer | MaxRequestsPerChild 2000 |
| MaxSpareServers | máximo número de servidores de sobra | MaxSpareServers 10 |
| MinSpareServers | mínimo número de servidores de sobra | MinSpareServers 2 |
| Port (1.x.x) | en ausencia de Listen, conecta el servidor a un número de puerto específico | Port 8080 |
| ServerAdmin | email del administrador del servidor | ServerAdmin yo@mi.casa |
| StartServers | número de servidores que iniciar | StartServers 4 |
| UserDir | permite habilitar peticiones a páginas de usuarios | UserDir 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.
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.