La herramienta es AppServ, es una solución que nos provee el software Apache, Mysql y Php, sobre Windows.

17  15  Descargar (0)

Texto completo

(1)

Contenido

1. LAMP ... 2

2. INSTALACIÓN APPSERV ... 2

3. COMPROBACIONES TRAS LA INSTALACIÓN ... 8

4. CONFIGURACIÓN APACHE ... 11

5. MÉTODO DE AUTENTIFICACIÓN HTTP BASIC ... 14

6. MÉTODO DE AUTENTIFICACIÓN HTTP DIGEST ... 16

(2)

1. LAMP

Conjunto de subsistemas de software necesarios para alcanzar una solución global, en este caso configurar un servidor Web con software libre y de código abierto.

Acrónimo LAMP se refiere a las siguientes tecnologías:  Linux, el sistema operativo.

 Apache, el servidor web.

 MySQL, el gestor de bases de datos.

 PHP (generalmente), Perl, o Python, como lenguajes de programación.

No es objetivo del curso instalar/configurar/administrar la infraestructura necesaria para el funcionamiento de una aplicación Web, por tanto para la instalación/configuración vamos a utilizar una herramienta que nos provee del software necesario y lo configura para tener disponible una infraestructura WAMP en 1 minuto.

La herramienta es AppServ, es una solución que nos provee el software Apache, Mysql y Php, sobre Windows.

2. INSTALACIÓN APPSERV

 Nos vamos a la página web de AppServ http://www.appservnetwork.com, y descargamos la última versión AppServ 2.5.10, la cual incorpora:

o Apache 2.2.8: servidor web Apache. o PHP 5.2.6: lenguaje de programación Php. o MySQL 5.0.51b; gestor de base de datos MySql.

o phpMyAdmin-2.10.3 : herramienta Web desarrollada en Php para administrar la base de datos Mysql.

 Descarga de AppServ 2.5.10

(3)

 Una vez descargado el archivo appserv-win32-2.5.10.exe, lo ejecutamos e iniciamos la instalación:

(4)

Le indicamos donde se va a instalar, por defecto, en C:\AppServ :

(5)

 Configuración de Apache, le indicamos algunos parámetros de configuración de Apache, como no es un servidor Web público le indicaremos los siguiente datos:

o Nombre del servidor: localhost

(6)

 Configuración de la base de datos MySql, debemos introducir los siguientes datos: o Contraseña para el usuario root, la contraseña será root.

o El resto de valores los dejamos por defecto.  Tipo de codificación: UTF-8 Unicode  Sin soporte para password antiguas

(7)

 Se inicia la instalación:

(8)

3. COMPROBACIONES TRAS LA INSTALACIÓN

Finalizada la instalación, AppServ nos creará la siguiente estructura de carpetas:

En el directorio de Apache tendremos:

• apache2.2/bin programas principales. • apache2.2/conf archivos de configuración. • apache2.2/error archivos de error.

• apache2.2/icons iconos e imágenes. • apache2.2/logs archivos de log.

• apache2.2/modules los módulos de apache

En el directorio de MySql tendremos:

• mysql/bin programas principales.

(9)

En el directorio de PHP tendremos:

• php línea de comandos de PHP y librerías DLL. • php/ext extensions de php.

• php/PEAR PEAR Framework Components for PHP.

PEAR: PHP Extension and Application Repository http://pear.php.net/packages.php

En el directorio WWW tendremos:

• www directorio raíz donde alojaremos las páginas web. • www/cgi-bin directorio donde irán los archivos CGI.

• www/phpMyAdmin directorio del programa phpMyAdmin.

• www/appserv directorio con las imágenes de la página principal de AppServ • www/index.php página principal de AppServ.

(10)

También podemos invocar una página php que nos mostrará todos los datos de configuración de php, de esta forma podemos comprobar si el módulo php esta correctamente configurado en Apache.

(11)

4. CONFIGURACIÓN APACHE

El servidor Apache se configurada editando el archivo de configuración: C:\AppServ\Apache2.2\conf\httpd.conf

Cada vez que realicemos cualquier cambio en este fichero debemos de testearlo para

asegurarnos de que los cambios realizados son correctos, para ellos podemos lanzar el acceso directo que nos crea en inicio/programas/appserv/configuration server/apache test, el cual lanza el siguiente comando:

C:\appserv\apache2.2\bin\httpd.exe –w –t –f C:\appserv\apache2.2\conf\httpd.conf Este paso es importante en los sistemas en producción, si no testeamos el archivos, cuando reiniciamos el servidor para que se apliquen los cambios este no arrancaría y dejaríamos el sistema en producción caído hasta que solventemos los problemas.

http://httpd.apache.org/docs/2.0/es/mod/directives.html

Vamos a ver algunas de las opciones de configuración del archivo httpd.conf  Directorio donde se encuentra la estructura de carpetas de apache:

ServerRoot "C:/AppServ/Apache2.2"

 Puerto en el que atiende las peticiones nuestro servidor apache: Listen 80

 Admitimos conexiones persistentes (por defecto en HTTP/1.1): KeepAlive On

 Número de peticiones en una misma conexión: MaxKeepAliveRequests 100

 Nombre del fichero que apache debe buscar en cada directorio para aplicar directivas concretas a ese directorio:

AccessFileName .htaccess

 Todos los módulos que tiene/carga apache en el arranque, des comentaremos el módulo mod_auth_digest.so para poder utilizar la autentificación http digest durante las prácticas: LoadModule auth_basic_module modules/mod_auth_basic.so

LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule php5_module C:/AppServ\php5\php5apache2_2.dll  Mail del administrador del servidor:

ServerAdmin localhost@gva.es  Nombre y puerto del servidor:

(12)

 Directorio raíz donde se encuentran los archivos que servirá apache: DocumentRoot "C:/AppServ/www"

 Directivas que se aplican por defecto a los directorios que estén accesibles de apache. También podemos aplicar directivas a determinados directorios: <Directory

"C:/AppServ/www">. <Directory />

Options FollowSymLinks ExecCGI Indexes AllowOverride None

Order deny,allow Deny from all Satisfy all </Directory>

o La directiva Options especifica las características del directorio e irá seguida de uno o varios modificadores:

None Ninguna opción permitida

All Todas las opciones excepto MultiViews ExecCGI Permite la ejecución de código (CGI scripts) FollowSymLinks Permite los enlaces en el directorio.

Indexes Muestra el listado de archivos de un directorio ( siempre y cuando si no se encuentre un archivo por defecto especificado en

DirectoryIndex)

MultiViews Habilita la presentación de diferentes tipos de datos (texto, imágenes, etc.)

o La directiva AllowOverride especifica que directivas del archivo del control

de acceso (por defecto .httaccess) deben considerarse. Irá acompañada de

uno de los siguientes modificadores:

 All

 None

o La directiva Order indica la preferencia de las directivas Allow y Deny para

resolver posibles incompatibilidades.

o La directiva Deny indica quién no tiene autorización para acceder al

directorio.

o La directiva Allow indica quién tiene autorización para acceder al directorio.

o La directiva Satisfy la política de acceso a seguir cuando se usan tanto

Allow como Require:

(13)

 Directiva para especificar los archivos por defecto que debe buscar el servidor Apache cuando no se especifica ninguno:

<IfModule dir_module>

DirectoryIndex index.php index.html index.htm </IfModule>

 Directiva para prevenir el acceso desde un cliente web(navegador) a los archivos .ht, como son .htaccess o .htpasswd

<FilesMatch "^\.ht"> Order allow,deny Deny from all </FilesMatch>

 Ubicación del archivo de log: ErrorLog logs/error.log

(14)

5. MÉTODO DE AUTENTIFICACIÓN HTTP BASIC  Configuración de httpd.conf

Abrimos el archivo de configuración httpd.conf y agregamos lo siguiente: <Directory "C:/AppServ/www/privada">

AuthName "zonaprivada" AuthType Basic

AuthUserFile C:\AppServ\Apache2.2\conf\passwd_basic Require valid-user

</Directory>

- Directory: estamos diciendo a Apache que las directivas que vienen a

continuación tiene efecto sobre el directorio C:/AppServ/www/privada, y sus subdirectorios. Es decir, que vamos a proteger este directorio y sus subdirectorios. - AuthName: es el nombre del dominio de autenticación. También es el texto que

aparecerá en la ventana que pide el usuario y la clave. - AuthType: el tipo de autenticación.

- AuthUserFile: el fichero donde están los usuarios y las claves.

- Require: con esta directiva indicamos que usuarios tienen acceso, tenemos varias posibilidades:

o valid-user: cualquier usuario que esté en el fichero de claves.

o user <lista de usuarios>: lista de usuarios, separados por espacios, que pueden acceder.

(15)

 Creación de un usuario

Para crear los usuarios para el método de autenticación 'Basic', usaremos la aplicación htpasswd. Por ejemplo:

C:\AppServ\Apache2.2\bin>htpasswd C:\AppServ\Apache2.2\conf\passwd_basic jorge De esta forma estamos añadiendo el usuario 'jorge' al fichero de claves

C:\AppServ\Apache2.2\conf\passwd_basic. El programa nos pedirá la clave y luego nos la vuelve a preguntar para confirmarla.

Si el fichero todavía no existe, es necesario lanzar el comando con la opción -c: htpasswd -c C:\AppServ\Apache2.2\conf\passwd_basic jorge

También podemos especificar la clave en la línea de comandos, a continuación del nombre. En este caso tendremos que utilizar la opción -b:

htpasswd -b C:\AppServ\Apache2.2\conf\passwd_basic jorge jorge

Si ejecutamos el comando sin argumentos, obtendremos la ayuda de las posibles opciones.

 Creación de un grupo

Para especificar los grupos basta con crear un fichero de texto con el siguiente formato para cada línea:

nombreGrupo: usuario1 ususario2

Luego basta con usar la directiva AuthGroupFile para indicar la ruta completa donde se encuentra el fichero que hemos creado con la definición de los grupos.

Cada usuario del grupo lo añadiremos al fichero de claves tal y como se describió en el apartado anterior.

<Directory "C:/AppServ/www/privada"> AuthName "zonaprivada"

AuthType Basic

AuthUserFile C:\AppServ\Apache2.2\conf\passwd_basic AuthGroupFile C:\AppServ\Apache2.2\conf\grupos Require group administradores

(16)

6. MÉTODO DE AUTENTIFICACIÓN HTTP DIGEST  Configuración de httpd.conf

1.3: http://httpd.apache.org/docs/1.3/howto/auth.html#digest 2.0: http://httpd.apache.org/docs/2.0/mod/mod_auth_digest.html 2.2: http://httpd.apache.org/docs/2.2/mod/mod_auth_digest.html Abrimos el archivo de configuración httpd.conf y agregamos lo siguiente:

<Directory "C:/AppServ/www/privada"> AuthName "zonaprivada"

AuthType Digest

(Apache 2.0)AuthDigestFile C:\AppServ\Apache2.2\conf\passwd_digest (Apache 2.2)AuthDigestProvider file

(Apache 2.2)AuthUserFile C:\AppServ\Apache2.2\conf\passwd_digest Require valid-user

</Directory>

Vemos que es prácticamente igual que cuando usábamos el método Basic. Hemos cambiado:

- AuthName: esta vez indicamos que el método a usar es 'Digest'.

- AuthDigestFile: esta directiva sustituye a AuthUserFile, pero tiene la misma finalidad: especificar donde se encuentra el fichero de claves. Hay que tener presente que el fichero de claves tiene que ser distinto que el usamos con el método Basic, ya que tiene formatos distintos.

 Creación de un usuario

Para crear los usuarios para el método de autenticación 'Digest', usaremos la aplicación htdigest. Por ejemplo:

htdigest C:\AppServ\Apache2.2\conf\passwd_digest zonaprivada jorge De esta forma estamos añadiendo el usuario 'jorge' al fichero de claves

C:\AppServ\Apache2.2\conf\passwd_digest. El programa nos pedirá la clave y luego nos la vuelve a preguntar para confirmarla.

Vemos que en la línea de comandos hemos introducido como segundo parámetro 'zonaprivada'. Este parámetro debe coincidir exactamente con el nombre del dominio de autenticación que hemos especificamos con la directiva AuthName. Es decir, cuando añadimos un usuario, lo hacemos a un dominio de autenticación concreto. De forma que si con la directiva Require especificamos 'valid-user', se consideran sólo usuarios válidos los que pertenecen al dominio de autenticación especificado en AuthName.

Si el fichero no existe, es necesario lanzar el comando con la opción -c: htdigest -c C:\AppServ\Apache2.2\conf\passwd_digest zonaprivada jorge

(17)

7. OTRA FORMA DE AUTENTIFICAR

Crear en el directorio que queramos proteger un archivo .htaccess con las directivas: AuthName "zonaprivada"

AuthType Basic

Figure

Actualización...

Related subjects :