Cibernetia > Manuales > Introducción a los servidores web > Práctica: instalación del servidor web
Búsqueda personalizada




Práctica: instalación del servidor web

Enunciado práctico

  1. Descargar de Internet el código del servidor Apache e instalarlo en algún subdirectorio dentro del directorio de nuestro usuario. Debemos instalar la última versión disponible, además de asegurarnos de que se ha realizado una instalación correcta de los siguientes módulos:
    • mod_access
    • mod_cgi
  2. Configurar el servidor previamente instalado para que responda a las peticiones HTTP en el puerto 1234.
  3. Configurar el servidor web para que sirva los documentos que se hallan en el subdirectorio web dentro del directorio de trabajo de nuestro usuario.
  4. Configurar el servidor web para que pueda ejecutar programas CGI del subdirectorio cgi dentro de directorio de trabajo de nuestro usuario.

Resolución

Una vez hallamos obtenido el código fuente de Apache, lo descomprimimos:

[david@bofh m2]$ tar xvzf httpd-2.0.48.tar.gz
httpd-2.0.48/
httpd-2.0.48/os/
httpd-2.0.48/os/os2/
httpd-2.0.48/os/os2/os.h
httpd-2.0.48/os/os2/core.mk
httpd-2.0.48/os/os2/config.m4
httpd-2.0.48/os/os2/Makefile.in
httpd-2.0.48/os/os2/core_header.def
....
httpd-2.0.48/include/ap_release.h
httpd-2.0.48/include/.indent.pro
httpd-2.0.48/include/util_cfgtree.h
httpd-2.0.48/acconfig.h
[david@bofh m2]$

Una vez tengamos el código fuente dentro de nuestro directorio, podemos configurarlo para compilarlo. Le indicaremos a Apache dónde queremos instalarlo. Nosotros hemos escogido el subdirectorio "apache" dentro nuestro directorio de trabajo.

Nos aseguraremos también de que se incluyan los módulos deseados.

[david@bofh m2]$ cd httpd-2.0.48
[david@bofh httpd-2.0.48]$ ./configure \
--prefix=/home/carlesm/apache \.
--enable-cgi
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
....
creating srclib/pcre/Makefile
creating test/Makefile
config.status: creating docs/conf/httpd-std.conf
config.status: creating docs/conf/ssl-std.conf
config.status: creating include/ap_config_layout.h
config.status: creating support/apxs
config.status: creating support/apachectl
config.status: creating support/dbmmanage
config.status: creating support/envvars-std
config.status: creating support/log_server_status
config.status: creating support/logresolve.pl
config.status: creating support/phf_abuse_log.cgi
config.status: creating support/split-logfile
config.status: creating build/rules.mk
config.status: creating include/ap_config_auto.h
config.status: executing default commands
[david@bofh httpd-2.0.48]$

Ha llegado el momento de compilar.

[david@bofh httpd-2.0.48]$ make
Making all in srclib
make[1]: Entering directory ‘/srcs/httpd-2.0.48/srclib’
Making all in apr
make[2]: Entering directory ‘/srcs/httpd-2.0.48/srclib/apr’
Making all in strings
....
make[1]: Leaving directory ‘/srcs/httpd-2.0.48’

Si la compilación se ha realizado con éxito, instalamos Apache en el directorio elegido:

[david@bofh httpd-2.0.48]$ make install
Making install in srclib
make[1]: Entering directory ‘/srcs/httpd-2.0.48/srclib’
Making install in apr
make[2]: Entering directory ‘/srcs/httpd-2.0.48/srclib/apr’
Making all in strings
....
mkdir /home/carlesm/apache/man
mkdir /home/carlesm/apache/man/man1
mkdir /home/carlesm/apache/man/man8
mkdir /home/carlesm/apache/manual
Installing build system files
make[1]: Leaving directory ‘/srcs/httpd-2.0.48’
[david@bofh httpd-2.0.48]$ cd /home/carlesm/apache/
[david@bofh apache]$ ls
bin build cgi-bin conf error htdocs
icons include lib logs man manual
modules
[david@bofh apache]$

Seguidamente configuramos Apache con los parámetros solicitados.

Editamos el fichero /home/carlesm/apache/conf/httpd.conf y modificamos los siguientes parámetros:

Listen 1234
ServerAdmin admin@uoc.edu
DocumentRoot "/home/carlesm/web"
<Directory "/home/carlesm/web">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ "/home/carlesm/cgi/"
<Directory "/home/carlesm/cgi">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

Los manuales titulados Introducción a las aplicaciones web, Instalación del servidor web y Servicios web han sido extraídos, con algunas modificaciones, del manual "Desarrollo de aplicaciones web", publicado por la UOC dentro de su máster de software libre, escrito por Carles Mateu i Piñol.

El manual tiene licencia GFDL, la cual otorga permiso para copiar, distribuir y modificar el documento según los términos de la GNU Free Documentation License, Version 1.2 o cualquiera posterior publicada por la Free Software Foundation, sin secciones invariantes ni textos de cubierta delantera o trasera.

Se puede acceder al documento original en: http://www.uoc.edu/masters/esp/img/873.pdf (versión imprimible) y http://www.uoc.edu/masters/esp/img/692.zip (versión editable, formato zip).

Manuales | Tesis: Ordenadores, Circuitos integrados...
english
Cibernetia