Práctica 1 - Instalación y configuración de las aplicaciones1. ObjetivosEl objetivo de esta práctica es aprender a instalar y configurar un servidor con servicio Web, en concreto el de Apache. También instalaremos un servidor de base de datos MySQL y un módulo de PHP para Apache con soporte para MySQL. Además en la parte final nos familiarizaremos con la configuración del servidor web Apache. Este programa dispone de un gran número de opciones de configuración. Veremos algunas de ellas y a medida que otras hagan falta se presentarán en las siguientes prácticas. 2. IntroducciónEn el Laboratorio de Telemática 2 (primera planta del mismo edificio) emplearemos cualquier máquina. Los programas que vamos a instalar en esta práctica son:
Generalmente existen versiones pre-compiladas de estos programas para diferentes sistemas operativos y microprocesadores y una solución fácil y rápida es descargarse la adecuada e instalarla mediante el sistema que disponga el sistema operativo (.rpm, .pkg, .deb, etc). Sin embargo en esta práctica vamos a compilar los programas a partir de sus códigos fuente porque esto nos ofrece una mayor flexibilidad a la hora de escoger qué incluir en ellos de las numerosas opciones que ofrecen. Para ahorrar tiempo hemos descargado ya unas de las últimas versiones de estos programas y se han dejado disponibles en los directorios mencionados. En cualquier caso, lo único que hay que hacer para obtenerlas es dirigirse a sus sitios web y descargarlas dado que son todas software abierto (http://www.apache.org, http://www.php.net, http://www.mysql.com). Para que no haya problemas para seguir las instrucciones presentes en los guiones de prácticas por favor empleen los fichero ya descargados. Lo primero que hay que hacer es descomprimir los ficheros en el directorio /tmp local de nuestra máquina (aunque vayamos a instalar en nuestra cuenta). Para ello pueden utilizar gzip y tar o simplemente tar. Si no sabe emplear estas herramientas consulte las correspondientes páginas del manual en línea. Por ejemplo podemos hacer: [1]%> cp /opt3/lir/ficheros/httpd-2.0.54.tar.gz /tmp Para descomprimir (opción -d) el fichero httpd-2.0.54.tar.gz, con lo que nos quedará el fichero httpd-2.0.54.tar y ahora para sacar los ficheros del tarball basta con hacer: [4]%> tar xvf httpd-2.0.54.tar Donde la opción x significa extraer, la opción f es porque le vamos a dar un fichero de entrada y la opción v hace que nos vaya diciendo cómo evoluciona el programa extrayendo los ficheros. [5]%> tar xzvf httpd-2.0.54.tar.gz Llegado este punto tendremos un directorio llamado httpd-2.0.54 donde se encuentran las fuentes del programa Apache. Parte de las explicaciones sobre cómo instalar Apache están extraídas de la documentación del mismo (versión 2.0) que se puede encontrar en http://httpd.apache.org/docs-2.0/. En esta práctica también les será muy útil el manual del Apache que pueden encontrar en la página web de la asignatura o en su propia instalación del Apache. Las referencias a secciones de la documentación se harán con URLs a la página de la asignatura pero pueden visitar cualquier otra copia de la documentación. 3. Instalación de Apache 2.0.54A. Sobre los módulosApache es un servidor modular. Esto quiere decir que acepta añadirle funcionalidades a través de módulos sin necesidad de recompilar el servidor. Solo las funcionalidades básicas suelen estar incluidas en el programa del servidor. Durante la compilación del servidor se puede escoger qué módulos queremos que se compilen para emplear con el mismo. Además, estos módulos podrían incluirse dentro del propio ejecutable del servidor o, si el sistema operativo soporta cargar módulos de forma dinámica (módulos DSO), pueden ser compilados como ficheros separados .so para ser cargados cuando se requieran. Podemos especificar qué módulos cargar dinámicamente de los compilados mediante directrices en el fichero de configuración del Apache. Un módulo que siempre estará incluido en Apache será el mod_so que es precisamente el que se encarga de la carga de módulos de forma dinámica (más información en http://httpd.apache.org/docs-2.0/en/dso.html) Podemos compilar los módulos bien cuando compilamos el programa httpd (el nombre del ejecutable del Apache) o los podemos compilar posteriormente uno a uno cuando decidamos añadirlos. En esta práctica vamos a compilar el servidor Apache con unos módulos básicos y con soporte para posteriormente cargar otros (es decir, con el módulo mod_so). B. ConfigurarPrimero debemos seleccionar las opciones en concreto que queremos que se apliquen cuando compilemos el servidor. En esta etapa es cuando especificaríamos los módulos a compilar. Esto se hace mediante el script configure que se encuentra en el directorio httpd-2.0.54. Este script acepta un gran número de opciones según cómo queramos compilar el Apache. Podemos ver estas opciones ejecutando: [6]%> cd httpd-2.0.54 Echen una ojeada a las opciones disponibles. Puede que llegado al momento alguna nos sea útil. Vamos a emplear ahora solo dos de ellas:
Así pues, podemos ejecutar algo como: [8]%> ./configure --enable-so --prefix="/opt3/lir/lirXY/apache" Donde lirXY debe sustituirse por su número de grupo de forma que especificamos un directorio de instalación dentro del HOME del grupo de prácticas. No hace falta que creemos el directorio apache, el proceso de instalación lo creará por nosotros.
C. CompilarEl script configure, si se ha completado con éxito, habrá preparado los ficheros Makefile necesarios para compilar el programa con las opciones que le hayamos indicado. Ahora solo debemos hacer: [9]%> make Y esperar... (aproveche el tiempo para seguir leyendo) D. InstalarSolo queda instalar el software compilado, y no puede ser más simple que hacer: [10]%> make install El resultado será una estructura de directorios bajo /opt3/lir/lirXY/apache con el servidor Apache y otros programas y scripts asociados. Debería tener un aspecto como: [11]%> ls /opt3/lir/lirXY/apache Y con esto ya hemos compilado el servidor de Web Apache. Podemos comprobar los módulos que se han incluido en el ejecutable lanzándolo con la opción -l. El ejecutable httpd se encuentra en www/bin [12]%> /opt3/lir/lirXY/apache/bin/httpd -l A continuación borren el directorio (si no se acuerdan miren en la ayuda del comando 'rm') con las fuentes del Apache (ocupa mucho espacio en disco) y el .tar.gz. 4. Instalación de MySQL 5.0.45Vamos a ver que la instalación de MySQL sigue unos pasos muy similares y tampoco entraña ninguna complicación (http://dev.mysql.com/doc/refman/5.0/en/installing-source.html). Descomprima el fichero con las fuentes de MySQL de forma análoga a como descomprimió el de Apache. Con eso debería tener un directorio mysql-5.0.45 con las fuentes. A. ConfigurarMySQL dispone también de un script configure. Primero empleamos la opcion --help para familiarizarnos con las opciones disponibles. Vamos a emplear una configuración sin embargo muy sencilla: [13]%> cd /tmp/mysql-5.0.45 Donde simplemente indicamos el directorio donde queremos que se instale el software y el resto de las opciones son las que estén por defecto. B. CompilarNo tiene más complicación que hacer: [15]%> make Es un proceso muy-muy lento, no se desesperen y aprovechen para leer el resto del guión mientras compila. C. InstalarFinalmente: [16]%> make install El directorio /lir/mysql contendrá algo como: [17]%> ls /opt3/lir/lirXY/mysql A continuación borren el directorio con las fuentes de MySQL (ocupa mucho espacio en disco) y el .tar.gz. 5. Instalacion de PHP 5.0.4Vamos a compilar un módulo de PHP para Apache, con soporte para conectarse a un servidor de base de datos MySQL. Podemos encontrar la documentacion sobre PHP en http://www.php.net/docs.php. A. ConfigurarDe nuevo nos encontramos con un configure. Las opciones que vamos a utilizar son las siguientes:
En nuestro caso vamos a ejecutar: [18]%> cd /tmp/php-5.0.4
B. CompilarAhora solo tenemos que compilar: [20]%> make C. InstalarY finalmente instalar: [21]%> make install De nuevo borre las fuentes para ahorrar espacio 6. Probando el ApacheA continuación lo primero que vamos a hacer es comprobar que la instalación de Apache funciona correctamente. Para ello vamos a lanzarlo y solicitarle alguna página HTML de prueba. Si lanzáramos el Apache ahora mismo éste emplearía la configuración por defecto que incluye emplear el puerto 80 para ejercer sus funciones de servidor Web en el puerto reservado a tal efecto. En máquinas con sistema operativo de tipo UNIX, el rango de puertos bien conocidos (well-known ports) está controlado, de forma que sólo el administrador (root) puede lanzar programas que actúen como servidor sobre uno de esos puertos. Así que si deseásemos lanzar Apache sobre el puerto 80 necesitaríamos privilegios de superusuario. Dado que no disponemos de privilegios de superusuario lo que vamos a hacer es configurar el Apache para que emplee otro puerto como servidor, uno fuera del rango de reservados y que no se esté empleando. Para ello tenemos que realizar una simple modificación en el fichero de configuración del Apache. A. httpd.confA lo largo de las diferentes versiones de Apache los ficheros de configuración han cambiado un poco su ubicación y la forma de repartir las directrices de configuración entre un fichero o varios. Se pueden crear varios ficheros de configuración para Apache y luego incluirlos en el principal (como con un #include de C). Incluso podemos especificar el fichero de configuración que debe emplear cuando lo lanzamos (con la opción -f). Por simplicidad vamos a emplear un solo fichero de configuración, el que emplea por defecto, llamado httpd.conf y que el programa busca al arrancar en el directorio /opt3/lir/lirXY/apache/conf/ i) Sintaxis del fichero de configuraciónEl fichero de configuración es texto simple. Contiene directrices que entiende Apache o alguno de los módulos que tenga instalados. Se emplea una directriz por línea y podemos incluir líneas de comentario comenzándolas con el carácter "#". Se puede comprobar si se ha escrito el fichero sin errores de sintaxis ejecutando apachectl configtest. Este programa se encuentra en el directorio /opt3/lir/lirXY/apache/bin/ ii) Directriz ListenCon la directriz Listen podemos especificar el puerto que va a emplear el servidor. A partir de Apache 2.0 ésta es una directriz obligatoria. Lo único que hemos de hacer es buscarla en el fichero de configuración y cambiar el valor de puerto por otro fuera del rango de reservados. Por ejemplo lo podemos cambiar por: Listen 8080
B. Lanzando ApachePodemos lanzar el servidor Apache simplemente ejecutando el programa httpd. Sin embargo, es mucho más cómodo emplear un script preparado para lanzarlo correctamente. Este script es el apachectl que se encuentra en el directorio /opt3/lir/lirXY/apache/bin/. El script lanzará el servidor, el cual crea varios procesos para atender a las peticiones de los clientes. Lanzamos Apache: [22]%> /opt3/lir/lirXY/apache/bin/apachectl startPodemos ver los procesos que quedan corriendo en la máquina como demonios: [234]%> ps ax | grep httpd Donde los primeros procesos son el servidor web que ya tenía corriendo la máquina y los restantes son el que acabamos de lanzar. C. ProbandoAhora lo si solicitamos una página web a la máquina en la que nos encontramos debería mostrarnos la página por defecto que trae el servidor. Para ello escriba en un navegador la siguiente dirección: http://localhost:8080
7. Probando el módulo de PHPA continuación vamos a comprobar que hemos añadido correctamente el módulo de PHP a Apache. A. Configuración necesaria para ApacheHay dos directrices necesarias en el fichero de configuración de Apache httpd.conf para que emplee el módulo PHP y reconozca las páginas PHP. LoadModule nombre_del_modulo fichero_del_modulo En nuestro caso debemos tener la siguiente línea en el fichero de configuración: LoadModule php5_module modules/libphp5.so Como podemos ver el último argumento incluye el path para llegar al fichero desde el directorio donde se instaló el Apache. Probablemente esta línea ya aparezca en el fichero httpd.conf Lo
segundo que debemos modificar en la configuración del Apache es
indicarle cómo reconocer los ficheros que contienen código PHP. Lo
normal para esto es emplear la extensión del fichero de forma que
cuando el servidor vaya a servir un fichero con esa extensión lo
reconozca como un fichero con código PHP y lo procese a través del
módulo de PHP. La extensión típica es .php aunque ha habido otras como .php3. AddType MIME_type extension Donde podemos poner varias extensiones que asociar al mismo tipo MIME La línea que debemos incluir será simplemente: AddType application/x-httpd-php .php Reiniciamos el servidor apache para que cargue la nueva configuración. [24]%> /opt3/lir/lirXY/apache/bin/apachectl restart B. Configuración necesaria para PHPHay una directiva de PHP que hay que establecer en el fichero de configuración de PHP php.ini para que funcione de la manera óptima. Hay que decirle que no use magic quotes, ni que use register globales;. Para esto es suficiente que en opt3/lir/lirXY/php/php.ini introduzcamos: magic_quotes_gpc = Off Nota: si el fichero no existe, hay que crearlo. C. Página PHP de pruebaCreamos un fichero llamado prueba.php en el directorio /opt3/lir/lirXY/apache/htdocs con el siguiente código: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> Y solicitamos esa página desde un navegador poniendo el siguiente URI: http://localhost:8080/prueba.php Si despues de esta linea no ves nada es que PHP no funciona 8. Probando la instalación de MySQLAhora vamos a comprobar que hemos instalado correctamente MySQL y para ello vamos a arrancar el servidor de base de datos que incluye. A. Pasos previosAntes de lanzar por primera vez el servidor de base de datos debemos ejeutar un script que termina la configuración necesaria. Este script creará la base de datos en la que se guardan los permisos de acceso que demos a las diferentes bases de datos que se creen, así como información de los usuarios. También se crea una base de datos para pruebas y un usuario inicial (root). Con la opción --datadir le podemos decir dónde queremos tener las bases de datos (las ponemos en nuestro directorio) y con la opción --socket indicamos dónde se creará el socket UNIX para la comunicación local con la base de datos (para cuando no se hace por la red sino en la misma máquina), que también colocamos en el directorio del usuario. [25]%> cd /opt3/lir/lirXY/mysql/bin El programa servidor de la base de datos se llama mysqld (la 'd' viene de 'daemon' o 'demonio', igual que en 'httpd'). Hay scripts para lanzarlo pero en estas prácticas vamos a comenzar lanzándolo directamente con el ejecutable: [27]%> ../libexec/mysqld --datadir=/opt3/lir/lirXY/mysql/var --socket=/opt3/lir/lirXY/mysql/socket.sock & Ahora podemos comprobar que el servidor está corriendo correctamente empleando el programa mysqladmin que permite realizar algunas tareas de gestión. [28]%> ˜/mysql/bin/mysqladmin --socket=/opt3/lir/lirXY/mysql/socket.sock -u root version Deberíamos obtener información sobre el servidor. Como por ejemplo: bin/mysqladmin Ver 8.40 Distrib 5.0.45, for pc-linux on i686 Copyright (C) 2000 MySQL AB &
El servidor de la base de datos controla los accesos a las mismas mediante un sistema de usuarios y privilegios. Inicialmente existe un usuario llamado root que tiene todos los privilegios posibles y carece de password. No se deben confundir los usuarios de la base de datos con los usuarios de una máquina Unix. Ambos conjuntos de usuarios son independientes. Se emplea el nombre root para ese superusuario por la tradición existente en máquinas Unix pero el usuario root de nuestro servidor de base de datos es independiente del usuario root de la máquina. Podemos cambiar la password de este usuario empleando el siguiente comando: [29]%> ./mysqladmin --socket=/opt3/lir/lirXY/mysql/socket.sock -u root password nuevapassword La instalación de MySQL ofrece un cliente para realizar comandos sobre la base de datos. Este cliente es un programa para la shell llamado mysql: [30]%> ./mysql --socket=/opt3/lir/lirXY/mysql/socket.sock -u root -p Como se puede ver empleamos la opción -u para especificar el usuario con el que nos queremos conectar a la base de datos y con la opción -p hacemos que nos solicite la password del usuario. Para salir del programa basta con emplear el comando QUIT: mysql> quit Vamos a comprobar la correcta instalación realizando algunas consultas básicas al servidor. [31]%> ./mysql --socket=/opt3/lir/lirXY/mysql/socket.sock -u root -p Las bases de datos mysql y test fueron creadas por el script mysql_install_db. La primera contiene la información referente a los usuarios y sus privilegios de acceso al servidor y por eso solo es visible para el superusuario. La segunda (test) es una base de datos creada para realizar pruebas. Ahora vamos a conectarnos al servidor y a crear una nueva tabla dentro de la base de datos de pruebas: [32]%> ./mysql --socket=/opt3/lir/lirXY/mysql/socket.sock -u root -p Con el comando use hemos indicado la base de datos con la que queremos trabajar. El comando create sirve para crear una nueva tabla en la base de datos, en este caso el nombre de la tabla es precios y tiene dos columnas: una cadena de 50 caracteres de nombre nombre y un número flotante con presentación de 6 cifras enteras y 2 decimales con nombre valor. Con el comando describe hemos podido ver las columnas de la base de datos que coinciden con lo deseado. A continuación hemos insertado (comando insert por si alguien se lo preguntaba) dos nuevas filas en la tabla: el precio del taxi y el precio de un duro. Finalmente hemos realizado una petición al servidor con SELECT para que nos mostrase todas las entradas de la tabla precios recién creada. Finalmente, vamos a crear un usuario de la base de datos MySQL (no tiene nada que ver con un usuario UNIX) al que se le permitirá acceder a las tablas de esa base de datos desde cualquier máquina en la red (en este punto vamos a ser bastante permisivos, en prácticas futuras pueden estudiar los privilegios de usuarios y restringir un poco el acceso si lo desean). También vamos a darle permisos al usuario root del servidor de base datos para conectarse mediante TCP siempre que sea desde la máquina local. NOTA: sustituir las palabras laclave y laclavepararoot por los passwords que querais y recordarlos. [33]%> ./mysql --socket=/opt3/lir/lirXY/mysql/socket.sock -u root -p 9. Probando el soporte de MySQL desde PHPVamos a comprobar que somos capaces de acceder a la base de datos desde scripts PHP. Para ello crearemos un simple script que se conecte a la base de datos y solicite el contenido de la tabla precios de forma similar a como hicimos anteriormente con el cliente mysql solo que ahora mostrando nosotros el contenido con una tabla HTML. Creamos un fichero llamado pruebasql.php en el directorio /opt3/lir/lirXY/apache/htdocs/ con el siguiente código: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> Y solicitamos esa página desde un navegador poniendo el siguiente URI: http://localhost:8080/pruebasql.php
Si despues de esta linea no ves nada es que PHP no funciona
Conectado Base de datos test seleccionada
Checkpoint 1 10. Ficheros de configuraciónApache se configura colocando directrices en ficheros de configuración, que están formados por simple texto. El fichero principal de configuración se suele llamar httpd.conf y su localización se puede especificar al compilar (opciones del script configure). También se puede ejecutar el servidor httpd con la opción -f lo cual permite especificarle el fichero de configuración a emplear. Además, se pueden añadir otros ficheros empleando la directriz Include. Esta directriz se coloca en el fichero de configuración especificando el nombre de otro fichero de configuración cuyo contenido deseamos que se incluya ahí. Es muy importante tener en cuenta que Apache solo lee el fichero de configuración cuando es lanzado, por lo que cualquier cambio realizado en él requiere pararlo y volverlo a lanzar para que los cambios surtan efecto. Podemos incluir comentarios en el fichero de configuración comenzando la línea con el carácter #. También podemos comprobar la sintaxis del fichero de configuración lanzando el httpd con la opción -t o empleando apachectl configtest 11. Algunas directrices básicasEstudie el significado de las siguientes directrices:
Puede encontrar todas las directrices en: A continuación:
Compruebe que todo esto funciona. Checkpoint 2 12. Arranque de los serviciosEn un entorno real con un ordenador como servidor web, al arrancarse el ordenador todos los servicios relacionados con el servidor web se deberían de iniciar. En nuestro caso eso significa en que el Apache y el MySQL arranquen. En el entorno del laboratorio de Telemática realizar esta tarea es difícil, pero si que se puede crear un pequeño script que al ejecutarlo inicie estas dos aplicaciones. Crea el fichero bash arraque.sh: #!/bin/bash Dale permisos de ejecución. Si quieres puedes probar a ejecutarlo, pero como en teoría ya tienes MySQL corriendo te dará un error y sólo reiniciará Apache. Ahora lo único que tienes que hacer es recordar ejecutar este script cada vez que empieces las prácticas de LIR. 13. Alcance de las directricesLas directrices colocadas directamente en el fichero de configuración se aplican a todo el servidor. Sin embargo, se pueden colocar directrices dentro del ámbito de otra, de forma que solo apliquen dentro del alcance de la segunda. Por ejemplo, las directrices colocadas entre un <Directory> y su correspondiente </Directory> se aplican solo para el directorio indicado. Ejemplo: <Directory /home/miweb> Pero hay algunas directrices que solo tienen sentido de forma global y por lo tanto no se pueden colocar dentro de estas directrices de bloque. 14. Directrices de bloqueEstudie el significado de las siguientes directrices de bloque:
Encontrará una buena explicación de las diferencias entre ellas en:
15. VirtualHostExisten más directrices de bloque. Una de ellas es <VirtualHost> la cual nos permite servir más de un sitio Web con el mismo servidor Apache. Suponga que queremos instalar el servidor web para dos empresas independientes. Una posibilidad es tener dos máquinas distintas, cada una con su interfaz de red, su dirección IP, su nombre DNS y ejecutando Apache, una contiene las páginas de la empresa 1 y se llama enterprise1.midominio.net y la otra contiene las páginas de la empresa 2 y se llama enterprise2.sudominio.org.
Perfecto, pero hay más formas de hacerlo. Por ejemplo, podríamos tener una sola máquina pero con dos tarjetas de red, cada una con una dirección IP. Para cada IP tenemos un nombre de dominio (DNS) diferente. Entonces podemos ejecutar dos copias del programa Apache simultáneamente, una de ellas atendiendo a peticiones que vengan a una de las direcciones IP y el otro atendiendo a las peticiones que vayan a la otra. Cada programa Apache corriendo posee un fichero de configuración diferente y un directorio con páginas web a servir diferente. Estudie cómo debería configurar y lanzar cada copia de Apache.
Una tercera posibilidad es tener dos direcciones IP pero solo ejecutar un servidor Apache, no dos. Ese servidor tendrá que servir las páginas de una u otra empresa según a qué interfaz se dirijan las peticiones. Esta tercera posibilidad es la que vamos a intentar configurar a continuación. Las máquinas del laboratorio no tienen dos tarjetas de red pero sí tienen dos interfaces de red y por tanto dos direcciones IP (lo cual puede comprobar ejecutando el programa /sbin/ifconfig). Esto se debe a que normalmente todas las máquinas que emplean TCP/IP tienen un interfaz que se llama de Loopback que no corresponde a una tarjeta de red sino a software dentro del sistema operativo (podríamos tener este interfaz sin tener tarjeta de red). Este interfaz tiene configurada la dirección IP 127.0.0.1 y todo el tráfico que se dirija a esa IP se queda dentro de la máquina.
Estudie la sintaxis de la directriz <VirtualHost>. Por ejemplo lea: Configure su servidor Apache para que:
Checkpoint 3 16. Trabajos opcionales para ampliar conocimientos sobre la configuración de ApacheA. Allow, DenyPodemos controlar a qué clientes serviremos ciertas páginas y a cuáles no. Para ello disponemos de las directrices Allow y Deny. Puede encontrar una explicación de su funcionamiento en: Continuando con la configuración de la sección anterior (se sirven 2 directorios diferentes según se le solicite a wwwAB o tlmAB):
B. AutentificaciónAdemás de limitar las máquinas a las que serviremos ciertas páginas basándonos en su dirección IP o su nombre podemos también dejar acceder solo a ciertos usuarios donde nosotros definimos tales usuarios mediante un nombre de usuario y una password. Las directrices típicas para esta funcionalidad son:
C. Ficheros .htaccessHasta ahora hemos visto directrices que hemos colocado en el fichero de configuración global httpd.conf.
Sin embargo, podemos colocar directrices también en otros ficheros.
Especialmente interesante son los ficheros que normalmente se llaman .htaccess
que permiten cambiar la configuración que se aplica a los directorios
en los que se encuentran. Todo lo que se puede hacer con ellos se puede
hacer desde el fichero de configuración global pero hay situaciones en
las que son útiles. Podemos controlar el tipo de directrices que se
pueden colocar en estos ficheros mediante la directriz AllowOverride. Puede encontrar un tutorial respecto al empleo de estos ficheros en: Modifique la configuración de su servidor para que emplee ficheros .htaccess dentro de /opt3/lir/lirXY/webs2 y configure mediante un fichero de este tipo que se solicite password para acceder a ese directorio, siendo válido solo el usuario profesor que creamos con anterioridad. D. Condiguración de 2 direcciones con sólo una interfaz de redSupongamos que nuestra máquina tiene un solo interfaz de red (ignoremos la IP 127.0.0.1 dado que nadie de fuera de nuestra máquina puede en realidad comunicarse con ella!). Las máquinas del laboratorio tienen como nombre tlmAB.net.tlm.unavarra.es el cual se convierte en la dirección IP 10.1.1.AB. Hemos configurado el servidor de DNS del laboratorio para que ADEMÁS, el nombre wwwAB.net.tlm.unavarra.es también se resuelva como la dirección 10.1.1.AB. Es decir, podemos dirigirnos a nuestras máquinas por cualquiera de los dos nombres y ambos se convertirán en la misma dirección IP antes de mandar los paquetes IP (recuerde que en los paquetes IP se ponen direcciones IP, no nombres, si tenemos un nombre, antes de poder enviar un paquete IP a esa máquina debemos averiguar a qué dirección IP corresponde ese nombre).
17. Resumen y conclusionesEn esta práctica hemos instalado un servidor Apache con soporte de PHP, un servidor de bases de datos MySQL y hemos comprobado el correcto funcionamiento de todo. La instalación ha sido a partir del código fuente de cada uno de los programas y se ha realizado en directorio home del usuario. Se han utilizado ejemplos simples de HTML, PHP y SQL a sabiendas de que se profundizará en el uso de todos ellos en las siguientes prácticas. También hemos aprendido a configurar Apache para que ofrezca varias webs diferentes. Esto nos servirá en las siguientes prácticas dado que el servidor Web va a ser la herramienta que dé el soporte principal a los scripts que creemos. |
Última modificación: miércoles, 3 de octubre de 2007, 11:04