SlideShare une entreprise Scribd logo
1  sur  89
Télécharger pour lire hors ligne
Apache
Instalación y configuración en Ubuntu Server y Windows Server
Jose Manuel Rozas Vilar
Índice
Instalación de Apache 2.2 en Ubuntu Server

Comprobación del funcionamiento del servidor Ubuntu en un cliente Windows

Instalación de Apache 2.2 en Windows Server 2008

Comprobación del funcionamiento del servidor Windows en un cliente Windows

Cuestiones

Ficheros de configuración y directivas en Ubuntu Server

Ficheros de configuración y directivas en Windows Server

Configuración básica en Linux

Configuración básica en Windows

Módulos en Linux

Módulos en Windows

Control de acceso por IP y nombre de dominio

Autenticación y autorización Basic y Diges

Ficheros .htaccess

Ficheros de registros (logs)

Módulos mod_status y mod_info

Webalizer

Conclusión

Webgrafía
Instalación de Apache
Instalación de Apache 2.2 en Ubuntu server
Tenemos instalado una versión del Ubuntu Server en una máquina virtual.




Iniciamos el sistema.
Antes de proceder a la instalación actualizamos los paquetes




Instalamos apache
Comprobamos que el servidor está iniciado y escuchando en el puerto 80/TCP.




Comprobamos que se ha creado el directorio /var/www y que su propietario es el usuario root




Comprobamos el contenido del archivo /var/www/index.html




Antes de pasar al cliente comprobamos la IP de nuestro servidor Ubuntu
Comprobación del funcionamiento del servidor Ubuntu en un cliente Windows




Iniciamos el cliente en otra máquina virtual.

Y desde un navegador comprobamos el funcionamiento de Apache, empleando la misma IP que nuestro
servidor Ubuntu.
Instalación de Apache 2.2 en Windows Server 2008:


Iniciamos Windows server en una máquina virtual.




Bajamos el programa de Apache desde su página web.
Ejecutamos el archivo que nos acabamos de descargar.
Al terminar la instalación aparece el icono de Apache en la barra de tareas.




Comprobamos que el servidor está escuchando en el puerto 80.




Comprobamos el contenido del directorio htdocs de la instalación de Apache 2.2
Además vamos a agregar una excepción al firewall
También incluiremos en la variable Path de Windows la ruta a los archivos binarios de Apache.




En el Panel de Control>Variables de Entorno>Editar
Comprobación de funcionamiento del servidor de Windows


Desde el propio servidor, introduciendo la IP de localhost en un navegador:
En un cliente Windows introduciendo la IP del servidor en un navegador:
Cuestiones


Linux
/etc/apache2/apache2.conf:
Dentro de este archivo se encuentra el principal archivo de configuración del servidor web apache.
                                                                                      1
/etc/apache2/ports.conf:
configuraciones de puertos. Podemos cambiar o añadir los puertos que escucha el servidor.




/etc/apache2/mods-available/:
El directorio de los módulos disponibles.
/etc/apache2/mods-enabled/:
directorio de los módulos que están habilitados.




/etc/apache2/sites-available/:
los sitios web activos se encuentran listados en este directorio
Windows
C:Archivos de ProgramaApache Software FoundationApache2.2confhttpd.conf
Es el archivo principal de configuración del servidor web Apache.
Almacena información acerca de diversas funciones del servidor, que pueden añadirse o eliminarse
agregando un "#" a comienzo de línea, las cuales determinan los valores para cada directiva con el fin de
configurar Apache de acuerdo a nuestras necesidades.
Está dividido en tres secciones: parámetros globales, directivas de funcionamento y host virtuales.
Carpeta C:Archivos de ProgramaApache Software FoundationApache2.2confextra
En esta carpeta se encuentran los archivos configuración extra de Apache:

httpd-autoindex.conf: contiene directivas para controlar la generación automática de la lista de directorios
en directorios que no contenga un archivo index.html.

httpd-default.conf: contiene la configuración por defecto del servidor.

info.conf httpd: este archivo contiene la configuración para los módulos mod_info y mod_status.

httpd-languages.conf: este archivo contiene la configuración para el soporte multi-idioma de Apache.

httpd-manual.conf: manual de Apache en HTML.

httpd-mpm.conf: este archivo contiene la configuración común de varios módulos multiproceso.

httpd-multilang-errordoc.conf: documentación de errores multi-idioma, que hace que el servidor reporte
errores en el idioma del usuario definido por el navegador.

httpd-userdir.conf: mod_userdir permite a cada usuario en nuestro servidor tener su propio espacio web
personal, con URL del tipo de http://nombreservidor/~nombreusuario/

httpd-ssl.conf: para activar SSL (HTTPS) en el servidor es necesario cargar este archivo de configuración.

httpd-vhosts.conf: este archivo contiene un host virtual de ejemplo.
Archivós de cónfiguración y directivas en
Ubuntu Server
1. Ficheiros de configuración en /etc/apache2
Directorio /etc/apache2




Fichero /etc/apache2/apache2.conf
apache2.conf incluye, con la directica include, a otros ficheros y directorios.
2. Servidor virtual por defecto

En el directorio /etc/apache2/sites-available está el archivo default, que contiene la configuración del
servidor por defecto.




Contenido del archivo default.
En el directorio /etc/apache2/sites-enabled existe el archivo 000-default que es un enlace simbólico a
default.
Los archivos incluídos en /etc/apache2/sites-enabled se incluyen en /etc/apache2/apache2.conf en orden
alfabético.




3. Directivas en el archivo /etc/apache2/apache2.conf

ServerRoot
Indica en dónde irá el directorio raíz donde se encuentra instalado nuestro servidor web.




User
Establece el identificador de usuario utilizado por el servidor para responder a las peticiones.
Esta opción determina el acceso de servidor.

Group
Similar a User, la directiva Group establece el grupo sobre el que el servidor aceptará las peticiones.




TimeOut
El número de segundos que esperará el servidor antes de cerrar una petición.




KeepAlive
Si está activada como On permite conexiones persistentes (más de una petición en la misma conexión )
ErrorLog
En esta directiva se indica la localización del fichero de errores error.log




Contenido del archivo error.log




ports.conf
En el archivo apache2.conf también se incluye un include al archivo ports.conf, en dónde se indican en qué
puertos estará escuchando el servidor.



Contenido de ports.conf




Vemos que está configurado para escuchar en el puerto 80.
Si se habilitara el módulo mod_ssl escuchará también en el puerto 443.
default

En el fichero /etc/apache2/sites-available/default




Dentro de la directiva <VirtualHost> ... </VirtualHost>
se define el comportamiento del servidor virtual por defecto.

DocumentRoot
Esta directiva especifica dónde debe buscar Apache los archivos que forman el sitio.
El valor predeterminado es /var/www.

La directiva contenedora <Directory> ... </Directory> indica a Apache cómo servir el contenido del
directorio /var/www

El valor de la directiva ErrorLog indica la localización del archivo error.log, por defecto
/var/log/apache2.
Archivós de cónfiguración y directivas en
Windóws Server
1. Ficheros de configuración

Iniciamos sesión con un usuario con privilegios de administrador.




Accedemos al directorio C:Program FilesApache Software FoundationApache2.2conf
Abrimos el fichero httpd.conf
2. Directivas
El valor de la directiva ServerRoot: el principio del árbol de directorios donde se guardarán los archivos de
configuración, error y logs.
C:Program FilesApache Software FoundationApache2.2




El puerto en el que escucha peticiones Apache es el puerto 80.



El valor de la directiva DocumentRoot: el directorio desde el que nuestro servidor servirá los documentos.
C:Program FilesApache Software FoundationApache2.2htdocs




Las directivas contenedoras <Directory> ... </Directory> determinan cómo Apache sirve los contenidos.
Primero está configurada por defecto de forma restrictiva.




Luego se puede configurar el directorio de forma personalizada.
Directiva Errorlog: la localización del fichero de errores error.log.




Hay varias directivas include
desactivadas mediante
comentarios para poder incluir
nuevas funcionalidades.
Fichero httpd-default para modificar directivas por defecto.
Fichero httpd-vhosts para añadir servidores virtuales.
Captura de pantalla con Windows Server 2008 funcionando (arriba)
Y navegador del host accediendo a la página index.html en el directorio htdocs de Apache (círculo rojo).
Cónfiguración basica en Linux
Archivos y directorios de prueba

Accedemos al directorio /var/www




y creamos los siguientes archivos y directorios:




                                                   /




Ficheros a servir por defecto ( DirectoryIndex)
var/www/despregamento.html




/
var/www/fp.html




/var/www/ciclos/listado.html




/var/www/ciclos/asir.html
/var/www/ciclos/daw.html




/var/www/ciclos/dam.html
Si conectamos directamente con el servidor, sale el index.html por defecto




Si renombramos index.html por indice.html




Volvemos a conectar




Ahora como no se ha encontrado el index.html nos muestra el contenido del directorio.
Vamos a editar el archivo /etc/apache2/sites/available/default para incluir en la directiva DirectoryIndex
a despregamento.html.




Reiniciamos el servidor




Ahora nos muestra por defecto el archivo despregamento.html
Opciones sobre directorios ( Directory y Options Indexes)

Editamos el archivo /etc/apache2/sites-available/default

En la directiva <Directory> ... </Directory>

se encuentran las directivas que determinan cómo Apache sirve el contenido de ese directorio.

Todos los directorios dentro de /var/www heredan su configuración.




Por esa herencia, si abrimos en el
navegador del cliente
http://192.168.0.109/ciclos, como
en /ciclos no existe el fichero índice
despregamento.html
( DirectoryIndex), nos muestra el
contenido.
Creamos una nueva directiva <Directory> ... </Directory> para /var/ciclos




No hemos definido la opción Indexes. Así no se mostrará el contenido si no encuentra alguno de los
ficheros definidos en DirectoryIndex, sinó que mostrará un mensaje de prohibición.

Reiniciamos el servidor.




Ahora, si conectamos a /ciclos, como no se permite el listado del directorio (Options Indexes) el servidor
nos retorna el código 403 Forbidden.




Verificamos que sí es posible acceder a /ciclos indicando un archivo, por ejemplo /ciclos/listado.html
Códigos de error ( Error Document)
Cofiguraremos el servidor virtual por defecto para cuando retorne el código de error 404 (página no
encontrada) por un mensaje persinalizado.

Editamos el archivo /etc/apache2/sites-available/default




Luego volvemos a reiniciar el servidor y probamos a introducir una página que sepamos que no existe.
Ahora vamos a configurar el servidor virtual por defecto para que cuando retorne el código de error 404
envíe una página 404.html almacenada en el directorio raíz del servidor.




Creamos el fichero 404.html.
Reiniciamos el servidor




Ahora probamos a introducir una página que no exista:
Directorios virtuales ( Alias )

Creamos el directorio /home/jose/apuntes

Dentro del directorio creamos el fichero apuntes.html




2. Editamos el archivo /etc/apache2/sites-available/default. Utilizamos la directiva Alias para crear un
directorio virtual denominado /apuntes que referencie a /home/jose/apuntes.




Reiniciamos el servidor para que los cambios tengan efecto.

Ahora nos conectamos a /apuntes.
Redirecciones ( Redirect)

Editamos el archivo /etc/apache2/sites-available/default.

Utilizamos la directiva Redirect para crear una redirección de /fp hacia http://www.todofp.es




Reiniciamos el servidor.

Y ahora si conectamos a /fp




Nos redirige a www.todofp.es
Cónfiguración basica en Windóws
Ficheros y directorios de prueba
Accedemos al directorio C:Program FilesApache Software FoundationApache2.2htdocs

y creamos los siguientes ficheros:

..htdocsdespregamento.html

..htdocsfp.html

..htdocscicloslista.html

..htdocsciclosasir.html

..htdocsciclosdaw.html

..htdocsciclosdam.html
Conexión con el directorio raíz htdocs en servidor Windows Server 2008.
/despregamento.html




/ciclos




/ciclos/lista.html
Configuración

Editamos el archivo C:Program FilesApache Software FoundationApache2.2confhttpd.conf
Creamos las directivas:


DirectoryIndex




Directory
Alias y Redirection




Reiniciamos Apache
Probamos en el cliente.

Raíz /




/ciclos




/apuntes




/ciclos/lista.html
4.7. Módulós de Apache
Vamos a consultar los módulos (estáticos y dinámicos) que se cargan por defecto en nuestra versión de
Apache.
Después investigaremos la funcionalidad del módulo userdir, lo habilitaremos y probaremos su
funcionalidad.


1. Módulos

1.1.
Iniciamos nuestro servidor como administrador.




1.2.
Comprobamos los módulos estáticos al compilar el servidor con apache2ctl -l




Son:
core.c
mod_log_config.c
mod_logio.c
prefork.c
http_core.c
mod-so.c
1.3.
Comprobamos los módulos que se han cargado dinámicamente al arrancar el servidor consultando el
directorio /etc/apache2/mods-enabled.




Los archivos que aparecen en el directorio /etc/apache2/mods-enabled son enlaces simbólicos a archivos
de /etc/apache2/mods-available.
1.4.
Editamos uno de los archivos .load (por ejemplo dir.load)



con nano




y vemos que se utiliza la directiva LoadModule para cargar el módulo dir_module.
La ruta del módulo es un archivo de extensión .so en /usr/lib/apache2/modules.


1.5.
Editamos el archivo dir.conf.
     Se añaden las directivas dentro de una declaración
   <IfModule mod_dir.c>
   </IfModule>
que se ejecutará si se carga el módulo.




1.6.
En el directorio /usr/lib/apache2/modules/ vemos los módulos disponibles para cargar.
1.7.
Ejecutamos sudo apt-cache search libapache2-mod para ver los paquetes disponibles en los
repositorios de Ubuntu que permiten instalar módulos adicionales de Apache.
2. Módulo userdir

2.1.
Comprobamos que el módulo userdir no está habilitado.




2.2.
Habilitamos el módulo userdir ejecutando sudo a2enmod userdir




2.3.
Comprobamos que dentro del directorio /etc/apache2/mods-enabled se han creado enlaces simbólicos del
módulo userdir ( archivos .conf y .load)




hacia /etc/apache2/mod-availables




2.4.
Reiniciamos el servidor para que los cambios tengan efecto.
2.5.
En el archivo /etc/apache2/mods-enabled/userdir.conf vemos que está habilitado el uso de directorios
personales para todos los usuarios excepto para el usuario root y que public_html es el nombre del
subdirectorio que pueden crear los usuarios en su directorio home para poner sus páginas personales.




2.6.
Creamos el directorio /home/jose/public_html




Dentro de este directorio creamos un archivo personalizado, por ejemplo personal.html.
2.7.
Desde un cliente accedemos al servidor en el directorio que acabamos de crear.




2.8.
Deshabilitamos el módulo ejecutando sudo a2dismod userdir
y reiniciamos el servidor.
4.8. Módulós en Windows
Comprobaremos los módulos estáticos y los módulos dinámicos cargados por defecto en nuestro Apache, y
habilitaremos y comprobaremos el módulo userdir.


1. Módulos

1.1
Iniciamos el servidor con un usuario con privilegios de administrador.




1.2.
Comprobamos los módulos estáticos que se han cargado al compilar el servidor ejecutando el comando
httpd -l
1.3.
Consultamos el archivo httpd.conf
en el directorio C:Archivos de programaApache Software FoundationApache2.2conf
para ver los módulos que se han cargado dinámicamente al arrancar el servidor.
1.4.
En el directorio C:Archivos de ProgramaApache Software FoundationApache2.2modules
vemos todos los módulos disponibles para cargar.
2. Módulo userdir

2.1.
Editamos el archivo httpd.conf
en el directorio C:Archivos de programaApache Software FoundationApache2.2conf




y habilitamos el módulo userdir eliminando sus símbolos # de comentario delante de las directivas
LoadModule e Include.




2.2
Editamos el archivo httpd-userdir.conf
en C:Archivos de programaApache Software FoundationApache2.2confextra
Está habilitado el uso de directorios personales para todos los usuarios y
My Documents/My Website es el nombre del subdirectorio que pueden crear los usuarios para poner sus
páginas personales.

2.3.
Reiniciamos el servidor.

2.4.
Creamos un archivo .html
en el directorio C:UsuariosAdministradorMy DocumentsMy Website,
por ejemplo personal.html.
2.5.
Accedemos desde un cliente al servidor por ~administrador




2.6.
Editamos el archivo httpd.conf
en el directorio C:Archivos de programaApache Software FoundationApache2.2conf
y deshabilitamos el módulo userdir comentando con # en las directivas LoadModule e Include.




Y reiniciamos el servidor para que los cambios tengan efecto.
4.9. Control de acceso por IP y nombre de dominio

En nuestro servidor Ubuntu crearemos el directorio /var/www/profesor y configuraremos Apache para que
sólo se pueda acceder desde el equipo local y desde un cliente dentro de la propia red local.

1.

Iniciamos el servidor Ubuntu con un usuario con permisos de administrador.



2.

Creamos el directorio /var/www/profesor




Dentro de este directorio creamos un archivo .html, por ejemplo profesor.html.




3.

Editamos el fichero de configuración /etc/apache2/sites-available/default y utilizamos la directiva
<Directory> junto con las directivas Order, Allow y Deny para denegar el acceso al directorio a todos los
equipos excepto al cliente windows de IP 10.0.3.190
4.

Reiniciamos el Apache



5.

Comprobamos que se puede acceder a http://10.0.3.191/profesor/ desde e lcliente Windows pero no
desde la máquina real de Ubuntu.
4.10. Autenticación y autórización Basic y
Digest
En la máquina Ubuntu Server configuraremos la autentificación HTTP Basic sobre el directorio
/var/www/profesor para que solo puedan acceder los usuarios profesor1 y profesor2.

Configuraremos la autenticación HTTP Digest sobre el directorio /var/www/departamento para que solo
puedan acceder los usuarios admin1 y admin2.


1. Autenticación HTTP Basic

1.1.

iniciamos el servidor Ubuntu Server con un usuario con privilegios de administración.



1.2.

Comprobamos, consultando el directorio /etc/apache2/mods-enabled, que el módulo auth_basic está
habilitado.
1.3.

Para usar la autenticación basic hay que crear un fichero accesible por Apache en el que se guardarán los
usuarios y sus contraseñas.

Para crear este fichero se utilizará el comando htpaswd.

Creamos el fichero y añadimos el usuario profesor1

La opción -c es para crear el fichero.

htpasswd -c /etc/apache2/passwd profesor1




Añadimos el usuario profesor2. No se usa la opción -c porque el fichero passwd ya existe.




1.4.

Editamos el fichero de configuración /etc/apache2/sites-available/default y permitimos el acceso al
directorio /var/www/profesor a los usuarios profesor1 y profesor2.




1.5.

Reiniciamos Apache.
1.6.

Desde el cliente de Windows accedemos a http://IPservidorUbuntu/profesor




No será posible entrar con otro usuario que no sea profesor1 o profesor2
2. Autenticación HTTP Digest
Creamos el directorio /var/www/departamento.



Dentro del directorio creamos un fichero denominado departamento.html.




2.2.

Habilitamos el módulo auth_digest.




2.3.

Reiniciamos Apache




2.4.

Para usar la autenticación digest hay que crear un fichero accesible por Apache en el que se guardarán los
usuarios y sus contraseñas asociados a un dominio (realm).

Para crear este fichero se utilizará el comando htdigest.

Creamos el fichero y añadimos el usuario admin1 al dominio informatica.

La opción -c es para crear el fichero.




Añadimos el usuario admin2. No se usa la opción -c porque el fichero ya existe.
2.5.

Editamos el fichero de configuración /etc/apache2/sites-available/default y permitimos el acceso al
directorio /var/www/departamento a los usuarios admin1 y admin2.




2.6.

Sólo podemos acceder desde el cliente Windows a http://IPservidorUbuntu/departamento con
los usuarios admin1 o admin2.
4.11. Ficherós .htaccess
En la máquina Ubuntu Server

           o   habilitaremos en Apache el uso de ficheros de configuración personalizada de
               directorios

               (.htaccess ) en el directorio /home/profesor/blog para que sea el propio usuario
               profesor el que pueda controlar cómo sirve Apache los contenidos de ese
               directorio.

           o   Configuraremos el alias /blog que permita acceder al directorio
               /home/profesor/blog
           o   Como usuario profesor haremos uso del fichero .htaccess y configuraremos sobre
               el directorio /home/profesor/blog
                                  que sólo se pueda acceder desde nuestro cliente Windows
                                  Autenticación HTTP Digest para que sólo pueda acceder el
                                     usuario blog

1.

Iniciamos una sesión en el servidor Ubuntu con un usuario con privilegios de administrador.

2.

Creamos el usuario profesor
3.

Editamos el fichero de configuración /etc/apache2/sites-available/default.

Creamos el alias y habilitamos el uso de ficheros .htaccess permitiendo sobreescribir todas las directivas en
el directorio /home/profesor/blog.

Eliminamos las directivas anteriores y añadimos la directiva AllowOverrideAll.




4.

Reiniciamos Apache para que los cambios tengan efecto.




5.

Iniciamos una sesión en el servidor Ubuntu como usuario profesor.



6.

Creamos el directorio /home/profesor/blog/



Creamos el fichero blog.html




7.

Creamos el fichero /home/profesor/.htdigest y añadimos el usuario blog
8.

Creamos el fichero /home/profesor/blog/.htaccess y añadimos las directivas para realizar la configuración
pedida (no es necesario incluir la directiva <Directory> porque el fichero ya está en el directorio en el que
se aplicará su configuración )




9.

Desde el cliente Windows accedemos a http://IPservidorUbuntu/blog
4.12. Ficherós de registrós (lógs)
Sobre la máquina servidor Linux consultaremos los archivos de configuración de Apache y
observaremos las directivas para definir la configuración de los archivos de registros (logs).

1.

Iniciamos una sesión en el servidor Linux con privilegios de administrador.



2.

Consultamos el archivo /etc/apache2/sites-acailable/default.




3.

El fichero de logs de errores (directiva ErrorLog) es error.log y su nivel de prioridad (LogLevel)

es warn.



4.

El fichero de logs de accesos (directiva CustomLog) es access.log y como no especifica ningún
formato con LogFormat se usa el definido para el servidor principal.
5.

Consultamos el log de errores /var/log/apache2/error.log
6.

Consultamos el log de accesos /var/log/apache2/access.log
4.13. Módulós mód_status y mód_infó

Sobre el servidor Linux probaremos la funcionalidad de los módulos mod_status y mod_info.


1. mod_status

Módulo que permite monitorizar el rendimiento del servidor Apache. Genera un documento en
HTML con información sobre el estado actual del servidor.

1.1. Iniciamos una sesión en el servidor Linux con un usuario con privilegios de administración.

1.2. Habilitamos el módulo si no está habilitado.

sudo a2enmod status




1.3. Editamos el fichero de configuración del módulo

/etc/apache2/mods-enabled/status.conf

y habilitamos el acceso a /server-status desde el cliente windows
1.4.

Reiniciamos el servidor para aplicar los cambios.



1.5.

Desde el cliente nos conectamos al servidor /server-status
1.6.

También es posible consultar la información desde un terminal ejecutando el siguiente comando:

sudo apache2ctl status
2. mod_info

Módulo que proporciona una vista resumida de la configuración del servidor.



2.1.

Abrimos un terminal y habilitamos el módulo

sudo a2enmod info




2.2.

Editamos el fichero de configuración del módulo /etc/apache2/mods-enabled/info.conf y
habilitamos el acceso a /server-info desde el cliente windows.




2.3.

Reiniciamos el servidor para aplicar los cambios.
2.4.

Desde el cliente windows nos conectamos al servidor Linux /server-info
4.14. Webalizer

Sobre la máquina servidor Linux instalaremos y probaremos la funcionalidad de Webalizer.

1.

Iniciamos una sesión en el servidor Linux con un usuario con privilegios de adminstración.

2.

Abrimos un terminal e instalamos el software.
3.

Consultamos el fichero de configuración /etc/webalizer/webalizer.conf y observamos que se
analizará el fichero de logs de accesos del servidor virtual por defecto




Quitamos la extensión .1

4.

Observamos que se ha creado el directorio /var/www/webalizer
5.

Lanzamos el programa para que lea el fichero de log y genere el documento html con las
estadísticas.




6.

Desde el cliente windows nos conectamos al servidor /webalizer/index.html
Conclusión
Instalar Apache en Ubuntu Server es más fácil, rápido y sencillo que en Windows Server,
Incluso sin poseer una interfaz gráfica.
Además en Ubuntu Server no es necesario un servidor DNS, en Windows Server sí.




Webgrafía
http://my.safaribooksonline.com/book/operating-systems-and-server-administration/apache/0596529279
http://httpd.apache.org/docs/2.4/
http://en.wikipedia.org/wiki/Apache_HTTP_Server
http://en.wikipedia.org/wiki/List_of_Apache_modules

Contenu connexe

Tendances

Presentación de Samba
Presentación de SambaPresentación de Samba
Presentación de Samba
Matías Leal
 

Tendances (20)

Shell Scripting Tutorial | Edureka
Shell Scripting Tutorial | EdurekaShell Scripting Tutorial | Edureka
Shell Scripting Tutorial | Edureka
 
Linux standard file system
Linux standard file systemLinux standard file system
Linux standard file system
 
Presentation on samba server
Presentation on samba serverPresentation on samba server
Presentation on samba server
 
Trabajo ftp
Trabajo ftpTrabajo ftp
Trabajo ftp
 
Linux booting process - Linux System Administration
Linux booting process - Linux System AdministrationLinux booting process - Linux System Administration
Linux booting process - Linux System Administration
 
File permissions
File permissionsFile permissions
File permissions
 
Basic 50 linus command
Basic 50 linus commandBasic 50 linus command
Basic 50 linus command
 
Install and configure linux
Install and configure linuxInstall and configure linux
Install and configure linux
 
Unit II - 2 - Operating System - Threads
Unit II - 2 - Operating System - ThreadsUnit II - 2 - Operating System - Threads
Unit II - 2 - Operating System - Threads
 
11. dfs
11. dfs11. dfs
11. dfs
 
Linux System Monitoring
Linux System Monitoring Linux System Monitoring
Linux System Monitoring
 
Course 102: Lecture 24: Archiving and Compression of Files
Course 102: Lecture 24: Archiving and Compression of Files Course 102: Lecture 24: Archiving and Compression of Files
Course 102: Lecture 24: Archiving and Compression of Files
 
File System in Operating System
File System in Operating SystemFile System in Operating System
File System in Operating System
 
Curso Cloud Computing, Parte 1: Amazon Web Services
Curso Cloud Computing, Parte 1: Amazon Web ServicesCurso Cloud Computing, Parte 1: Amazon Web Services
Curso Cloud Computing, Parte 1: Amazon Web Services
 
Basic commands of linux
Basic commands of linuxBasic commands of linux
Basic commands of linux
 
Kernel. Operating System
Kernel. Operating SystemKernel. Operating System
Kernel. Operating System
 
Linux file system
Linux file systemLinux file system
Linux file system
 
Database System Architectures
Database System ArchitecturesDatabase System Architectures
Database System Architectures
 
Presentación de Samba
Presentación de SambaPresentación de Samba
Presentación de Samba
 
PelicanHPC Implementación fisica con dos nodos
PelicanHPC Implementación fisica con dos nodosPelicanHPC Implementación fisica con dos nodos
PelicanHPC Implementación fisica con dos nodos
 

En vedette

Transferencia de archivos FTP
Transferencia de archivos FTPTransferencia de archivos FTP
Transferencia de archivos FTP
ingdianabaquero
 
Manual de configuracion de redes
Manual de configuracion de redesManual de configuracion de redes
Manual de configuracion de redes
mmri
 
Instalación ftp, telnet y ssh sobre linux
Instalación ftp, telnet y ssh sobre linuxInstalación ftp, telnet y ssh sobre linux
Instalación ftp, telnet y ssh sobre linux
Ger Hernandez
 
Instalación y configuración de servidor ftp en ubuntu server 14
Instalación y configuración de servidor ftp en ubuntu server 14Instalación y configuración de servidor ftp en ubuntu server 14
Instalación y configuración de servidor ftp en ubuntu server 14
Luis Carlos Silva Dias
 
Configuracion servidor web, dns, ftp, pop3 y smtp txt para linux
Configuracion servidor web, dns, ftp, pop3 y smtp txt para linuxConfiguracion servidor web, dns, ftp, pop3 y smtp txt para linux
Configuracion servidor web, dns, ftp, pop3 y smtp txt para linux
Mohamed Diop
 
Act. n°5 (dhcp, dns, http, ftp & ssh)
Act. n°5 (dhcp, dns, http, ftp & ssh)Act. n°5 (dhcp, dns, http, ftp & ssh)
Act. n°5 (dhcp, dns, http, ftp & ssh)
Priscilla Yepes Correa
 

En vedette (20)

Tutorial de Instalación de Sistema y Servicios de Red en Lenny Debian 5
Tutorial de Instalación de Sistema y Servicios de Red en Lenny Debian 5Tutorial de Instalación de Sistema y Servicios de Red en Lenny Debian 5
Tutorial de Instalación de Sistema y Servicios de Red en Lenny Debian 5
 
Manejo de-redes-linux
Manejo de-redes-linuxManejo de-redes-linux
Manejo de-redes-linux
 
Servidor ftp linux final
Servidor ftp linux   finalServidor ftp linux   final
Servidor ftp linux final
 
Transferencia de archivos FTP
Transferencia de archivos FTPTransferencia de archivos FTP
Transferencia de archivos FTP
 
Instalación y configuración Servidor FTP y SSH
Instalación y configuración Servidor FTP y SSHInstalación y configuración Servidor FTP y SSH
Instalación y configuración Servidor FTP y SSH
 
Manual de configuracion de redes
Manual de configuracion de redesManual de configuracion de redes
Manual de configuracion de redes
 
Servidores de red
Servidores de redServidores de red
Servidores de red
 
Servicios de Red e Internet
Servicios de Red e InternetServicios de Red e Internet
Servicios de Red e Internet
 
Instalación y configuración interfaz gráfica ubuntu server 12.04
Instalación y configuración interfaz gráfica ubuntu server 12.04Instalación y configuración interfaz gráfica ubuntu server 12.04
Instalación y configuración interfaz gráfica ubuntu server 12.04
 
Instalación ftp, telnet y ssh sobre linux
Instalación ftp, telnet y ssh sobre linuxInstalación ftp, telnet y ssh sobre linux
Instalación ftp, telnet y ssh sobre linux
 
Servicio FTP en Ubuntu
Servicio FTP en UbuntuServicio FTP en Ubuntu
Servicio FTP en Ubuntu
 
Instalación y configuración de servidor ftp en ubuntu server 14
Instalación y configuración de servidor ftp en ubuntu server 14Instalación y configuración de servidor ftp en ubuntu server 14
Instalación y configuración de servidor ftp en ubuntu server 14
 
Ubuntu. configurar tarjeta de red mediante lineas de comando
Ubuntu.   configurar tarjeta de red mediante lineas de comandoUbuntu.   configurar tarjeta de red mediante lineas de comando
Ubuntu. configurar tarjeta de red mediante lineas de comando
 
Linux Network commands
Linux Network commandsLinux Network commands
Linux Network commands
 
Servicio HTTP en Ubuntu (Apache)
Servicio HTTP en Ubuntu (Apache)Servicio HTTP en Ubuntu (Apache)
Servicio HTTP en Ubuntu (Apache)
 
Servicios DHCP, DNS y TELNET
Servicios DHCP, DNS y TELNETServicios DHCP, DNS y TELNET
Servicios DHCP, DNS y TELNET
 
Configuracion del servidor vsftpd en linux
Configuracion del servidor vsftpd en linuxConfiguracion del servidor vsftpd en linux
Configuracion del servidor vsftpd en linux
 
Introducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIntroducción a Servidor HTTP Apache
Introducción a Servidor HTTP Apache
 
Configuracion servidor web, dns, ftp, pop3 y smtp txt para linux
Configuracion servidor web, dns, ftp, pop3 y smtp txt para linuxConfiguracion servidor web, dns, ftp, pop3 y smtp txt para linux
Configuracion servidor web, dns, ftp, pop3 y smtp txt para linux
 
Act. n°5 (dhcp, dns, http, ftp & ssh)
Act. n°5 (dhcp, dns, http, ftp & ssh)Act. n°5 (dhcp, dns, http, ftp & ssh)
Act. n°5 (dhcp, dns, http, ftp & ssh)
 

Similaire à Apache: instalación y configuración en Ubuntu Server y Windows Server

Apache.http ftp-smtp
Apache.http ftp-smtpApache.http ftp-smtp
Apache.http ftp-smtp
gh02
 
Apli t1 practicas_apache
Apli t1 practicas_apacheApli t1 practicas_apache
Apli t1 practicas_apache
garciadebora
 
633f9e tutorial de php y my sql completo
633f9e tutorial de php y my sql completo633f9e tutorial de php y my sql completo
633f9e tutorial de php y my sql completo
METROPOLITANO
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
Ernesto Gamboa
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
Ignacio Reyes
 
633f9e tutorial de php y my sql completo (1)
633f9e tutorial de php y my sql completo (1)633f9e tutorial de php y my sql completo (1)
633f9e tutorial de php y my sql completo (1)
Eduardo Monroy Husillos
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
Alberto Martinez
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
Andrés Amaya
 

Similaire à Apache: instalación y configuración en Ubuntu Server y Windows Server (20)

Servidor web Apache
Servidor web ApacheServidor web Apache
Servidor web Apache
 
Servicio apache gnu linux-centos ::: http://leymebamba.com
Servicio apache  gnu linux-centos  ::: http://leymebamba.comServicio apache  gnu linux-centos  ::: http://leymebamba.com
Servicio apache gnu linux-centos ::: http://leymebamba.com
 
Apache2 dia1
Apache2 dia1Apache2 dia1
Apache2 dia1
 
Apache.http ftp-smtp
Apache.http ftp-smtpApache.http ftp-smtp
Apache.http ftp-smtp
 
Diseño e instalación de sitios web (Apache HTTP server)
Diseño e instalación de sitios web (Apache HTTP server)Diseño e instalación de sitios web (Apache HTTP server)
Diseño e instalación de sitios web (Apache HTTP server)
 
Guia basica-securizacion-apache
Guia basica-securizacion-apacheGuia basica-securizacion-apache
Guia basica-securizacion-apache
 
Laboratorio Nº 9.1.pdf
Laboratorio Nº 9.1.pdfLaboratorio Nº 9.1.pdf
Laboratorio Nº 9.1.pdf
 
Servidores web
Servidores webServidores web
Servidores web
 
Guia LAPP
Guia LAPPGuia LAPP
Guia LAPP
 
Contenidos.pdf
Contenidos.pdfContenidos.pdf
Contenidos.pdf
 
Apli t1 practicas_apache
Apli t1 practicas_apacheApli t1 practicas_apache
Apli t1 practicas_apache
 
633f9e tutorial de php y my sql completo
633f9e tutorial de php y my sql completo633f9e tutorial de php y my sql completo
633f9e tutorial de php y my sql completo
 
Tutorial mysqlphp
Tutorial mysqlphpTutorial mysqlphp
Tutorial mysqlphp
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
 
633f9e tutorial de php y my sql completo
633f9e tutorial de php y my sql completo633f9e tutorial de php y my sql completo
633f9e tutorial de php y my sql completo
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
 
633f9e tutorial de php y my sql completo (1)
633f9e tutorial de php y my sql completo (1)633f9e tutorial de php y my sql completo (1)
633f9e tutorial de php y my sql completo (1)
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
 
Php andmysql (1)
Php andmysql (1)Php andmysql (1)
Php andmysql (1)
 

Dernier

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Dernier (11)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 

Apache: instalación y configuración en Ubuntu Server y Windows Server

  • 1. Apache Instalación y configuración en Ubuntu Server y Windows Server Jose Manuel Rozas Vilar
  • 2. Índice Instalación de Apache 2.2 en Ubuntu Server Comprobación del funcionamiento del servidor Ubuntu en un cliente Windows Instalación de Apache 2.2 en Windows Server 2008 Comprobación del funcionamiento del servidor Windows en un cliente Windows Cuestiones Ficheros de configuración y directivas en Ubuntu Server Ficheros de configuración y directivas en Windows Server Configuración básica en Linux Configuración básica en Windows Módulos en Linux Módulos en Windows Control de acceso por IP y nombre de dominio Autenticación y autorización Basic y Diges Ficheros .htaccess Ficheros de registros (logs) Módulos mod_status y mod_info Webalizer Conclusión Webgrafía
  • 3. Instalación de Apache Instalación de Apache 2.2 en Ubuntu server Tenemos instalado una versión del Ubuntu Server en una máquina virtual. Iniciamos el sistema.
  • 4. Antes de proceder a la instalación actualizamos los paquetes Instalamos apache
  • 5. Comprobamos que el servidor está iniciado y escuchando en el puerto 80/TCP. Comprobamos que se ha creado el directorio /var/www y que su propietario es el usuario root Comprobamos el contenido del archivo /var/www/index.html Antes de pasar al cliente comprobamos la IP de nuestro servidor Ubuntu
  • 6. Comprobación del funcionamiento del servidor Ubuntu en un cliente Windows Iniciamos el cliente en otra máquina virtual. Y desde un navegador comprobamos el funcionamiento de Apache, empleando la misma IP que nuestro servidor Ubuntu.
  • 7. Instalación de Apache 2.2 en Windows Server 2008: Iniciamos Windows server en una máquina virtual. Bajamos el programa de Apache desde su página web.
  • 8.
  • 9. Ejecutamos el archivo que nos acabamos de descargar.
  • 10.
  • 11. Al terminar la instalación aparece el icono de Apache en la barra de tareas. Comprobamos que el servidor está escuchando en el puerto 80. Comprobamos el contenido del directorio htdocs de la instalación de Apache 2.2
  • 12. Además vamos a agregar una excepción al firewall
  • 13.
  • 14. También incluiremos en la variable Path de Windows la ruta a los archivos binarios de Apache. En el Panel de Control>Variables de Entorno>Editar
  • 15. Comprobación de funcionamiento del servidor de Windows Desde el propio servidor, introduciendo la IP de localhost en un navegador:
  • 16. En un cliente Windows introduciendo la IP del servidor en un navegador:
  • 17. Cuestiones Linux /etc/apache2/apache2.conf: Dentro de este archivo se encuentra el principal archivo de configuración del servidor web apache. 1
  • 18. /etc/apache2/ports.conf: configuraciones de puertos. Podemos cambiar o añadir los puertos que escucha el servidor. /etc/apache2/mods-available/: El directorio de los módulos disponibles.
  • 19. /etc/apache2/mods-enabled/: directorio de los módulos que están habilitados. /etc/apache2/sites-available/: los sitios web activos se encuentran listados en este directorio
  • 20. Windows C:Archivos de ProgramaApache Software FoundationApache2.2confhttpd.conf Es el archivo principal de configuración del servidor web Apache. Almacena información acerca de diversas funciones del servidor, que pueden añadirse o eliminarse agregando un "#" a comienzo de línea, las cuales determinan los valores para cada directiva con el fin de configurar Apache de acuerdo a nuestras necesidades. Está dividido en tres secciones: parámetros globales, directivas de funcionamento y host virtuales.
  • 21. Carpeta C:Archivos de ProgramaApache Software FoundationApache2.2confextra En esta carpeta se encuentran los archivos configuración extra de Apache: httpd-autoindex.conf: contiene directivas para controlar la generación automática de la lista de directorios en directorios que no contenga un archivo index.html. httpd-default.conf: contiene la configuración por defecto del servidor. info.conf httpd: este archivo contiene la configuración para los módulos mod_info y mod_status. httpd-languages.conf: este archivo contiene la configuración para el soporte multi-idioma de Apache. httpd-manual.conf: manual de Apache en HTML. httpd-mpm.conf: este archivo contiene la configuración común de varios módulos multiproceso. httpd-multilang-errordoc.conf: documentación de errores multi-idioma, que hace que el servidor reporte errores en el idioma del usuario definido por el navegador. httpd-userdir.conf: mod_userdir permite a cada usuario en nuestro servidor tener su propio espacio web personal, con URL del tipo de http://nombreservidor/~nombreusuario/ httpd-ssl.conf: para activar SSL (HTTPS) en el servidor es necesario cargar este archivo de configuración. httpd-vhosts.conf: este archivo contiene un host virtual de ejemplo.
  • 22. Archivós de cónfiguración y directivas en Ubuntu Server 1. Ficheiros de configuración en /etc/apache2 Directorio /etc/apache2 Fichero /etc/apache2/apache2.conf
  • 23. apache2.conf incluye, con la directica include, a otros ficheros y directorios.
  • 24. 2. Servidor virtual por defecto En el directorio /etc/apache2/sites-available está el archivo default, que contiene la configuración del servidor por defecto. Contenido del archivo default.
  • 25. En el directorio /etc/apache2/sites-enabled existe el archivo 000-default que es un enlace simbólico a default. Los archivos incluídos en /etc/apache2/sites-enabled se incluyen en /etc/apache2/apache2.conf en orden alfabético. 3. Directivas en el archivo /etc/apache2/apache2.conf ServerRoot Indica en dónde irá el directorio raíz donde se encuentra instalado nuestro servidor web. User Establece el identificador de usuario utilizado por el servidor para responder a las peticiones. Esta opción determina el acceso de servidor. Group Similar a User, la directiva Group establece el grupo sobre el que el servidor aceptará las peticiones. TimeOut El número de segundos que esperará el servidor antes de cerrar una petición. KeepAlive Si está activada como On permite conexiones persistentes (más de una petición en la misma conexión )
  • 26. ErrorLog En esta directiva se indica la localización del fichero de errores error.log Contenido del archivo error.log ports.conf En el archivo apache2.conf también se incluye un include al archivo ports.conf, en dónde se indican en qué puertos estará escuchando el servidor. Contenido de ports.conf Vemos que está configurado para escuchar en el puerto 80. Si se habilitara el módulo mod_ssl escuchará también en el puerto 443.
  • 27. default En el fichero /etc/apache2/sites-available/default Dentro de la directiva <VirtualHost> ... </VirtualHost> se define el comportamiento del servidor virtual por defecto. DocumentRoot Esta directiva especifica dónde debe buscar Apache los archivos que forman el sitio. El valor predeterminado es /var/www. La directiva contenedora <Directory> ... </Directory> indica a Apache cómo servir el contenido del directorio /var/www El valor de la directiva ErrorLog indica la localización del archivo error.log, por defecto /var/log/apache2.
  • 28. Archivós de cónfiguración y directivas en Windóws Server 1. Ficheros de configuración Iniciamos sesión con un usuario con privilegios de administrador. Accedemos al directorio C:Program FilesApache Software FoundationApache2.2conf
  • 29. Abrimos el fichero httpd.conf
  • 30. 2. Directivas El valor de la directiva ServerRoot: el principio del árbol de directorios donde se guardarán los archivos de configuración, error y logs. C:Program FilesApache Software FoundationApache2.2 El puerto en el que escucha peticiones Apache es el puerto 80. El valor de la directiva DocumentRoot: el directorio desde el que nuestro servidor servirá los documentos. C:Program FilesApache Software FoundationApache2.2htdocs Las directivas contenedoras <Directory> ... </Directory> determinan cómo Apache sirve los contenidos. Primero está configurada por defecto de forma restrictiva. Luego se puede configurar el directorio de forma personalizada.
  • 31. Directiva Errorlog: la localización del fichero de errores error.log. Hay varias directivas include desactivadas mediante comentarios para poder incluir nuevas funcionalidades.
  • 32. Fichero httpd-default para modificar directivas por defecto.
  • 33. Fichero httpd-vhosts para añadir servidores virtuales.
  • 34. Captura de pantalla con Windows Server 2008 funcionando (arriba) Y navegador del host accediendo a la página index.html en el directorio htdocs de Apache (círculo rojo).
  • 35. Cónfiguración basica en Linux Archivos y directorios de prueba Accedemos al directorio /var/www y creamos los siguientes archivos y directorios: / Ficheros a servir por defecto ( DirectoryIndex) var/www/despregamento.html /
  • 38. Si conectamos directamente con el servidor, sale el index.html por defecto Si renombramos index.html por indice.html Volvemos a conectar Ahora como no se ha encontrado el index.html nos muestra el contenido del directorio.
  • 39. Vamos a editar el archivo /etc/apache2/sites/available/default para incluir en la directiva DirectoryIndex a despregamento.html. Reiniciamos el servidor Ahora nos muestra por defecto el archivo despregamento.html
  • 40. Opciones sobre directorios ( Directory y Options Indexes) Editamos el archivo /etc/apache2/sites-available/default En la directiva <Directory> ... </Directory> se encuentran las directivas que determinan cómo Apache sirve el contenido de ese directorio. Todos los directorios dentro de /var/www heredan su configuración. Por esa herencia, si abrimos en el navegador del cliente http://192.168.0.109/ciclos, como en /ciclos no existe el fichero índice despregamento.html ( DirectoryIndex), nos muestra el contenido.
  • 41. Creamos una nueva directiva <Directory> ... </Directory> para /var/ciclos No hemos definido la opción Indexes. Así no se mostrará el contenido si no encuentra alguno de los ficheros definidos en DirectoryIndex, sinó que mostrará un mensaje de prohibición. Reiniciamos el servidor. Ahora, si conectamos a /ciclos, como no se permite el listado del directorio (Options Indexes) el servidor nos retorna el código 403 Forbidden. Verificamos que sí es posible acceder a /ciclos indicando un archivo, por ejemplo /ciclos/listado.html
  • 42. Códigos de error ( Error Document) Cofiguraremos el servidor virtual por defecto para cuando retorne el código de error 404 (página no encontrada) por un mensaje persinalizado. Editamos el archivo /etc/apache2/sites-available/default Luego volvemos a reiniciar el servidor y probamos a introducir una página que sepamos que no existe.
  • 43. Ahora vamos a configurar el servidor virtual por defecto para que cuando retorne el código de error 404 envíe una página 404.html almacenada en el directorio raíz del servidor. Creamos el fichero 404.html.
  • 44. Reiniciamos el servidor Ahora probamos a introducir una página que no exista:
  • 45. Directorios virtuales ( Alias ) Creamos el directorio /home/jose/apuntes Dentro del directorio creamos el fichero apuntes.html 2. Editamos el archivo /etc/apache2/sites-available/default. Utilizamos la directiva Alias para crear un directorio virtual denominado /apuntes que referencie a /home/jose/apuntes. Reiniciamos el servidor para que los cambios tengan efecto. Ahora nos conectamos a /apuntes.
  • 46. Redirecciones ( Redirect) Editamos el archivo /etc/apache2/sites-available/default. Utilizamos la directiva Redirect para crear una redirección de /fp hacia http://www.todofp.es Reiniciamos el servidor. Y ahora si conectamos a /fp Nos redirige a www.todofp.es
  • 47. Cónfiguración basica en Windóws Ficheros y directorios de prueba Accedemos al directorio C:Program FilesApache Software FoundationApache2.2htdocs y creamos los siguientes ficheros: ..htdocsdespregamento.html ..htdocsfp.html ..htdocscicloslista.html ..htdocsciclosasir.html ..htdocsciclosdaw.html ..htdocsciclosdam.html
  • 48. Conexión con el directorio raíz htdocs en servidor Windows Server 2008.
  • 50. Configuración Editamos el archivo C:Program FilesApache Software FoundationApache2.2confhttpd.conf
  • 53. Probamos en el cliente. Raíz / /ciclos /apuntes /ciclos/lista.html
  • 54. 4.7. Módulós de Apache Vamos a consultar los módulos (estáticos y dinámicos) que se cargan por defecto en nuestra versión de Apache. Después investigaremos la funcionalidad del módulo userdir, lo habilitaremos y probaremos su funcionalidad. 1. Módulos 1.1. Iniciamos nuestro servidor como administrador. 1.2. Comprobamos los módulos estáticos al compilar el servidor con apache2ctl -l Son: core.c mod_log_config.c mod_logio.c prefork.c http_core.c mod-so.c
  • 55. 1.3. Comprobamos los módulos que se han cargado dinámicamente al arrancar el servidor consultando el directorio /etc/apache2/mods-enabled. Los archivos que aparecen en el directorio /etc/apache2/mods-enabled son enlaces simbólicos a archivos de /etc/apache2/mods-available.
  • 56. 1.4. Editamos uno de los archivos .load (por ejemplo dir.load) con nano y vemos que se utiliza la directiva LoadModule para cargar el módulo dir_module. La ruta del módulo es un archivo de extensión .so en /usr/lib/apache2/modules. 1.5. Editamos el archivo dir.conf. Se añaden las directivas dentro de una declaración <IfModule mod_dir.c> </IfModule> que se ejecutará si se carga el módulo. 1.6. En el directorio /usr/lib/apache2/modules/ vemos los módulos disponibles para cargar.
  • 57. 1.7. Ejecutamos sudo apt-cache search libapache2-mod para ver los paquetes disponibles en los repositorios de Ubuntu que permiten instalar módulos adicionales de Apache.
  • 58. 2. Módulo userdir 2.1. Comprobamos que el módulo userdir no está habilitado. 2.2. Habilitamos el módulo userdir ejecutando sudo a2enmod userdir 2.3. Comprobamos que dentro del directorio /etc/apache2/mods-enabled se han creado enlaces simbólicos del módulo userdir ( archivos .conf y .load) hacia /etc/apache2/mod-availables 2.4. Reiniciamos el servidor para que los cambios tengan efecto.
  • 59. 2.5. En el archivo /etc/apache2/mods-enabled/userdir.conf vemos que está habilitado el uso de directorios personales para todos los usuarios excepto para el usuario root y que public_html es el nombre del subdirectorio que pueden crear los usuarios en su directorio home para poner sus páginas personales. 2.6. Creamos el directorio /home/jose/public_html Dentro de este directorio creamos un archivo personalizado, por ejemplo personal.html.
  • 60. 2.7. Desde un cliente accedemos al servidor en el directorio que acabamos de crear. 2.8. Deshabilitamos el módulo ejecutando sudo a2dismod userdir y reiniciamos el servidor.
  • 61. 4.8. Módulós en Windows Comprobaremos los módulos estáticos y los módulos dinámicos cargados por defecto en nuestro Apache, y habilitaremos y comprobaremos el módulo userdir. 1. Módulos 1.1 Iniciamos el servidor con un usuario con privilegios de administrador. 1.2. Comprobamos los módulos estáticos que se han cargado al compilar el servidor ejecutando el comando httpd -l
  • 62. 1.3. Consultamos el archivo httpd.conf en el directorio C:Archivos de programaApache Software FoundationApache2.2conf para ver los módulos que se han cargado dinámicamente al arrancar el servidor.
  • 63. 1.4. En el directorio C:Archivos de ProgramaApache Software FoundationApache2.2modules vemos todos los módulos disponibles para cargar.
  • 64. 2. Módulo userdir 2.1. Editamos el archivo httpd.conf en el directorio C:Archivos de programaApache Software FoundationApache2.2conf y habilitamos el módulo userdir eliminando sus símbolos # de comentario delante de las directivas LoadModule e Include. 2.2 Editamos el archivo httpd-userdir.conf en C:Archivos de programaApache Software FoundationApache2.2confextra
  • 65. Está habilitado el uso de directorios personales para todos los usuarios y My Documents/My Website es el nombre del subdirectorio que pueden crear los usuarios para poner sus páginas personales. 2.3. Reiniciamos el servidor. 2.4. Creamos un archivo .html en el directorio C:UsuariosAdministradorMy DocumentsMy Website, por ejemplo personal.html.
  • 66. 2.5. Accedemos desde un cliente al servidor por ~administrador 2.6. Editamos el archivo httpd.conf en el directorio C:Archivos de programaApache Software FoundationApache2.2conf y deshabilitamos el módulo userdir comentando con # en las directivas LoadModule e Include. Y reiniciamos el servidor para que los cambios tengan efecto.
  • 67. 4.9. Control de acceso por IP y nombre de dominio En nuestro servidor Ubuntu crearemos el directorio /var/www/profesor y configuraremos Apache para que sólo se pueda acceder desde el equipo local y desde un cliente dentro de la propia red local. 1. Iniciamos el servidor Ubuntu con un usuario con permisos de administrador. 2. Creamos el directorio /var/www/profesor Dentro de este directorio creamos un archivo .html, por ejemplo profesor.html. 3. Editamos el fichero de configuración /etc/apache2/sites-available/default y utilizamos la directiva <Directory> junto con las directivas Order, Allow y Deny para denegar el acceso al directorio a todos los equipos excepto al cliente windows de IP 10.0.3.190
  • 68. 4. Reiniciamos el Apache 5. Comprobamos que se puede acceder a http://10.0.3.191/profesor/ desde e lcliente Windows pero no desde la máquina real de Ubuntu.
  • 69. 4.10. Autenticación y autórización Basic y Digest En la máquina Ubuntu Server configuraremos la autentificación HTTP Basic sobre el directorio /var/www/profesor para que solo puedan acceder los usuarios profesor1 y profesor2. Configuraremos la autenticación HTTP Digest sobre el directorio /var/www/departamento para que solo puedan acceder los usuarios admin1 y admin2. 1. Autenticación HTTP Basic 1.1. iniciamos el servidor Ubuntu Server con un usuario con privilegios de administración. 1.2. Comprobamos, consultando el directorio /etc/apache2/mods-enabled, que el módulo auth_basic está habilitado.
  • 70. 1.3. Para usar la autenticación basic hay que crear un fichero accesible por Apache en el que se guardarán los usuarios y sus contraseñas. Para crear este fichero se utilizará el comando htpaswd. Creamos el fichero y añadimos el usuario profesor1 La opción -c es para crear el fichero. htpasswd -c /etc/apache2/passwd profesor1 Añadimos el usuario profesor2. No se usa la opción -c porque el fichero passwd ya existe. 1.4. Editamos el fichero de configuración /etc/apache2/sites-available/default y permitimos el acceso al directorio /var/www/profesor a los usuarios profesor1 y profesor2. 1.5. Reiniciamos Apache.
  • 71. 1.6. Desde el cliente de Windows accedemos a http://IPservidorUbuntu/profesor No será posible entrar con otro usuario que no sea profesor1 o profesor2
  • 72. 2. Autenticación HTTP Digest Creamos el directorio /var/www/departamento. Dentro del directorio creamos un fichero denominado departamento.html. 2.2. Habilitamos el módulo auth_digest. 2.3. Reiniciamos Apache 2.4. Para usar la autenticación digest hay que crear un fichero accesible por Apache en el que se guardarán los usuarios y sus contraseñas asociados a un dominio (realm). Para crear este fichero se utilizará el comando htdigest. Creamos el fichero y añadimos el usuario admin1 al dominio informatica. La opción -c es para crear el fichero. Añadimos el usuario admin2. No se usa la opción -c porque el fichero ya existe.
  • 73. 2.5. Editamos el fichero de configuración /etc/apache2/sites-available/default y permitimos el acceso al directorio /var/www/departamento a los usuarios admin1 y admin2. 2.6. Sólo podemos acceder desde el cliente Windows a http://IPservidorUbuntu/departamento con los usuarios admin1 o admin2.
  • 74. 4.11. Ficherós .htaccess En la máquina Ubuntu Server o habilitaremos en Apache el uso de ficheros de configuración personalizada de directorios (.htaccess ) en el directorio /home/profesor/blog para que sea el propio usuario profesor el que pueda controlar cómo sirve Apache los contenidos de ese directorio. o Configuraremos el alias /blog que permita acceder al directorio /home/profesor/blog o Como usuario profesor haremos uso del fichero .htaccess y configuraremos sobre el directorio /home/profesor/blog  que sólo se pueda acceder desde nuestro cliente Windows  Autenticación HTTP Digest para que sólo pueda acceder el usuario blog 1. Iniciamos una sesión en el servidor Ubuntu con un usuario con privilegios de administrador. 2. Creamos el usuario profesor
  • 75. 3. Editamos el fichero de configuración /etc/apache2/sites-available/default. Creamos el alias y habilitamos el uso de ficheros .htaccess permitiendo sobreescribir todas las directivas en el directorio /home/profesor/blog. Eliminamos las directivas anteriores y añadimos la directiva AllowOverrideAll. 4. Reiniciamos Apache para que los cambios tengan efecto. 5. Iniciamos una sesión en el servidor Ubuntu como usuario profesor. 6. Creamos el directorio /home/profesor/blog/ Creamos el fichero blog.html 7. Creamos el fichero /home/profesor/.htdigest y añadimos el usuario blog
  • 76. 8. Creamos el fichero /home/profesor/blog/.htaccess y añadimos las directivas para realizar la configuración pedida (no es necesario incluir la directiva <Directory> porque el fichero ya está en el directorio en el que se aplicará su configuración ) 9. Desde el cliente Windows accedemos a http://IPservidorUbuntu/blog
  • 77. 4.12. Ficherós de registrós (lógs) Sobre la máquina servidor Linux consultaremos los archivos de configuración de Apache y observaremos las directivas para definir la configuración de los archivos de registros (logs). 1. Iniciamos una sesión en el servidor Linux con privilegios de administrador. 2. Consultamos el archivo /etc/apache2/sites-acailable/default. 3. El fichero de logs de errores (directiva ErrorLog) es error.log y su nivel de prioridad (LogLevel) es warn. 4. El fichero de logs de accesos (directiva CustomLog) es access.log y como no especifica ningún formato con LogFormat se usa el definido para el servidor principal.
  • 78. 5. Consultamos el log de errores /var/log/apache2/error.log
  • 79. 6. Consultamos el log de accesos /var/log/apache2/access.log
  • 80. 4.13. Módulós mód_status y mód_infó Sobre el servidor Linux probaremos la funcionalidad de los módulos mod_status y mod_info. 1. mod_status Módulo que permite monitorizar el rendimiento del servidor Apache. Genera un documento en HTML con información sobre el estado actual del servidor. 1.1. Iniciamos una sesión en el servidor Linux con un usuario con privilegios de administración. 1.2. Habilitamos el módulo si no está habilitado. sudo a2enmod status 1.3. Editamos el fichero de configuración del módulo /etc/apache2/mods-enabled/status.conf y habilitamos el acceso a /server-status desde el cliente windows
  • 81. 1.4. Reiniciamos el servidor para aplicar los cambios. 1.5. Desde el cliente nos conectamos al servidor /server-status
  • 82. 1.6. También es posible consultar la información desde un terminal ejecutando el siguiente comando: sudo apache2ctl status
  • 83. 2. mod_info Módulo que proporciona una vista resumida de la configuración del servidor. 2.1. Abrimos un terminal y habilitamos el módulo sudo a2enmod info 2.2. Editamos el fichero de configuración del módulo /etc/apache2/mods-enabled/info.conf y habilitamos el acceso a /server-info desde el cliente windows. 2.3. Reiniciamos el servidor para aplicar los cambios.
  • 84. 2.4. Desde el cliente windows nos conectamos al servidor Linux /server-info
  • 85. 4.14. Webalizer Sobre la máquina servidor Linux instalaremos y probaremos la funcionalidad de Webalizer. 1. Iniciamos una sesión en el servidor Linux con un usuario con privilegios de adminstración. 2. Abrimos un terminal e instalamos el software.
  • 86. 3. Consultamos el fichero de configuración /etc/webalizer/webalizer.conf y observamos que se analizará el fichero de logs de accesos del servidor virtual por defecto Quitamos la extensión .1 4. Observamos que se ha creado el directorio /var/www/webalizer
  • 87. 5. Lanzamos el programa para que lea el fichero de log y genere el documento html con las estadísticas. 6. Desde el cliente windows nos conectamos al servidor /webalizer/index.html
  • 88.
  • 89. Conclusión Instalar Apache en Ubuntu Server es más fácil, rápido y sencillo que en Windows Server, Incluso sin poseer una interfaz gráfica. Además en Ubuntu Server no es necesario un servidor DNS, en Windows Server sí. Webgrafía http://my.safaribooksonline.com/book/operating-systems-and-server-administration/apache/0596529279 http://httpd.apache.org/docs/2.4/ http://en.wikipedia.org/wiki/Apache_HTTP_Server http://en.wikipedia.org/wiki/List_of_Apache_modules