SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
Configuración de servidores LAMP




                 Tomás Vilariño Fidalgo
ÍNDICE PONENCIA

 LAMP
    APACHE
        HTTP
        DIFERENCIAS ENTRE APACHE 1 / APACHE 2
    PHP
    MYSQL
 INSTALACIÓN
    MEDIANTE COMPILACIÓN
    CON APT
 CONFIGURACIÓN
    APACHE
        CONTROL DE ACCESO A DIRECTORIOS
        VIRTUAL HOST
        AUTENTICACIÓN
    PHP
 CMS
    INTALACIÓN XOOPS
    INTALACIÓN JOOMLA
    INSTALACIÓN WORDPRESS
LAMP

LAMP hace referencia a un conjunto de programas de software libre usados de
forma conjunta para ejecutar páginas web dinámicas

      Linux, sistema operativo
      Apache, servidor web
      MySQL, sistema gestor de bases de datos

      Perl, PHP o Python, lenguajes de programación/scripts
Aplicaciones cliente/servidor

EMPRESA

                     Red Local


     Cliente


                                                              Base de
                                         Servidor
                                                               Datos
                                           Web
                          Internet
Cliente



           Cliente
                                                    Servidor de
                                                    Aplicaciones
                      Cliente       Cliente
                     ¡¡DESDE CUALQUIER SITIO!!
Apache
Apache es el servidor web por excelencia.
    Gratuidad: Totalmente gratuito, distribuido bajo la licencia Apache Software
    License, que permite la modificación y adaptación de código.
    Fiabilidad: Alrededor del 90% de los servidores con más alta disponibilidad
    funcionan con Apache.
    Extensibilidad: se pueden añadir módulos para ampliar las ya de por si
    amplias capacidades de Apache.
HTTP
Apache es un servidor HTTP
HTTP (Protocolo de Transferencia de HiperTexto): protocolo usado en cada
transacción de la Web (WWW). El hipertexto es el contenido de las páginas web, y
el protocolo de transferencia es el sistema mediante el cual se envían las
peticiones de acceso a una web y la respuesta de esa web.

http://dirección[:puerto][path]     http://www.ousli.org:80/path/page.php
                                         3. Mensaje response del servidor
1. Se abre un socket con el host.
                                           HTTP/1.1 OK - 200
2. Se envía un mensaje request
                                           Date=Mon, 26 Jun 2006 18:32:32 GMT
  GET /index.html HTTP/1.1                 Server=Apache
  Host=es.wikipedia.org                    X-Powered-By=PHP/5.1.2
  User-Agent=Firefox/1.5.0.4               Content-Type=text/html; charset=utf-8
  Accept=text/xml,
                                           <html>
           application/xml,
                                           <body>
           application/xhtml
                                           <h1>wikipedia</h1>
  Accept-Language=es-es
                                           (Contenido)
  Accept-Charset=ISO-8859-1,utf-8
                                           </body>
                                           </html>
Mensajes de estado HTTP

RANGO DE CÓDIGO         TIPO    CÓDIGO     MENSAJE                                SIGNIFICADO
          100-199 Informativo     100  Continue          Continúa con petición parcial (nuevo en HTTP 1.1)
                                  101 Switching          El servidor cumplirá con la cabecera Upgrade y cambiará a un
                                       Protocols         protocolo diferente. (Nuevo en HTTP 1.1)
           200 - 299 Exitoso      200  OK                Todo está bien.
                                                         El servidor creo un documento; la cabecera Location indica la
                                  201  Created
                                                         URL.
                                 202   Accepted          La petición se está realizando, el proceso no se ha
                                 203   Non-Authoritative El documento está siendo devuelto normalmente, pero
                                       Information       algunas cabeceras de respuesta podrían ser incorrectas
                                                         porque se está usando una copia del documento (Nuevo en
                                 204   No Content        No hay un documento nuevo; el navegador contínua
                                                         mostrando el documento anterior.
                                                         No hay documento nuevo, pero el navegador debería resetear
                                 205   Reset Content
                                                         el documento. Usado para forzar al navegador a borrar los
                                                         contenidos de los campos de un formulario CGI (Nuevo en
                                                         HTTP 1.1)
                                 206   Partial Content   El cliente envía una petición parcial con una cabecera Range,
                                                         y el servidor la ha completado. (Nuevo en HTTP 1.1)
Mensajes de estado HTTP
RANGO DE CÓDIGO       TIPO       CÓDIGO MENSAJE                                SIGNIFICADO
         300 - 399 Redirección     300 Multiple El documento pedido se puede encontrar en varios sitios; serán listados en
                                       Choices  el documento devuelto. Si el servidor tiene una opción preferida, debería
                                                listarse en la cabecera de respuesta Location .

                                   301   Moved       El documento pedido está en algún lugar, y la URL se da en la cabecera de
                                         Permanently respuesta Location.
                                   302   Found         Similar a 301, excepto que la nueva URL debería ser interpretada como
                                                       reemplazada temporalmente.
                                   303   See Other     Igual que 301/302, excepto que si la petición original era POST, el
                                                       documento redirigido (dado en la cabecera Location) debería ser
                                                       recuperado mediante GET. (Nuevo en HTTP 1.1)
                                   304   Not Modified El cliente tiene un documento en el caché y realiza una petición condicional
                                                      (normalmente suministrando una cabecera If-Modified-Since indicando que
                                                      sólo quiere documentos más nuevos que la fecha especificada). El servidor
                                                      quiere decirle al cliente que el viejo documento del caché todavía está en
                                                      uso.
                                   305   Use Proxy     El documento pedido debería recuperarse mediante el proxy listado en la
                                                       cabecera Location. (Nuevo en HTTP 1.1)
                                                       Es idéntica a 302 (quot;Foundquot; o quot;Temporarily Movedquot;). Fue añádido a HTTP
                                   307   Temporary
                                                       1.1 ya que muchos navegadores siguen erróneamente la redirección de
                                         Redirect
                                                       una respuesta 302 incluso si el mensaje original fue un POST, y sólo se
                                                       debe seguir la redirección de una petición POST en respuestas 303. Esta
                                                       respuesta es algo ambígua: sigue el redireccionamiento para peticiones
                                                       GET y POST en el caso de respuestas 303, y en el caso de respuesta 307
                                                       sólo sigue la redirección de peticiones GET.
Mensajes de estado HTTP
RANGO DE CÓDIGO             TIPO       CÓDIGO         MENSAJE                           SIGNIFICADO
         400 – 499 Error del Cliente        400 Bad Request        Mala Síntaxis de la petición.
                                            401 Unauthorized       El cliente intenta acceder a una página protegida por
                                                                   password sin las autorización apropiada.
                                                                   Falta permisos de fichero o directorios en el
                                            403 Forbidden
                                            404 Not Found          No se pudo encontrar el recurso en esa dirección.
                                            405 Method Not Allowed El método de la petición (GET, POST, HEAD, DELETE,
                                                                   PUT, TRACE, etc.) no estaba permitido para este
                                                                   recurso particular. (Nuevo en HTTP 1.1)
                                            406 Not Acceptable     El recurso indicado genera un tipo MIME incompatible
                                                                   con el especificado por el cliente mediante su
                                                                   cabecera Accept. (Nuevo en HTTP 1.1)
                                            407 Proxy              Similar a 401, pero el servidor proxy debería
                                                Authentication     devolver una cabecera Proxy-Authenticate. (Nuevo en
                                                Required           HTTP 1.1)
                                            408 Request Timeout    El cliente tarda demasiado en envíar la petición.
                                                                   (Nuevo en HTTP 1.1)
                                                                   El servidor no puede procesar la petición a menos que
                                            411 Length Required
                                                                   el cliente envíe una cabecera Content-Length. (Nuevo
                                                                   en HTTP 1.1)
                                            412 Precondition       Alguna condición prévia especificada en la petición
                                                Failed             era falsa (Nuevo en HTTP 1.1)
                                            415 Unsupported Media La petición está en un formato desconocido. (Nuevo en
                                                Type               HTTP 1.1)
Mensajes de estado HTTP

RANGO DE CÓDIGO         TIPO      CÓDIGO     MENSAJE                      SIGNIFICADO
                                      500 Internal
       500 – 599 Error Servidor                        Mensaje genérico quot;server is confusedquot;.
                                          Server Error
                                      501 Not          El servidor no soporta la funcionalidad de
                                          Implemented rellenar peticiones. Usado, por ejemplo, cuando
                                                       el cliente envía comandos como PUT que el cliente
                                                       no soporta.
                                      502 Bad Gateway Usado por servidores que actúan como proxies o
                                                       gateways; indica que el servidor inicial obtuvo
                                                       una mala respuesta desde el servidor remoto.
                                      503 Service      El servidor no puede responder debido a
                                          Unavailable mentenimiento o sobrecarga.
                                      504 Gateway      Usado por servidores que actúan como proxies o
                                          Timeout      gateways; indica que el servidor inicial no
                                                       obtuvo una respuesta a tiempo del servidor
                                                       remoto. (Nuevo en HTTP 1.1)
                                      505 HTTP Version El servidor no soporta la versión de HTTP
                                          Not          indicada en la línea de petición. (Nuevo en HTTP
                                          Supported    1.1)
MEJORAS APACHE2
Procesamiento en Unix
Nuevo sistema de configuración y compilación
Soporte Multiprotocolo
Soporte mejorado para las plataformas que no son tipo Unix
Nueva interfaz de programación (API) de Apache
Soporte de IPv6
Filtros
Mensajes de error en diferentes idiomas
Configuración simplificada
Soporte de Unicode Nativo para Windows NT
Actulización de la librería de expresiones regulares (regular expressions)
PHP

PHP (acrónimo de quot;PHP: Hypertext Preprocessor“, hipertexto preprocesado) es un 
lenguaje interpretado, de alto nivel, embebido en páginas HTML y ejecutado en 
el servidor. 

   Interpretado: Son procesados mediante un intérprete, que realiza la
   traducción del programa a código fuente, a medida que es necesario y
   normalmente, no guardan el resultado de dicha traducción.

   Alto nivel: Lenguaje de programación, cuyas isntrucciones son similares al
   lenguaje humano, que necesita ser traducido a un lenguaje de bajo nivel que el
   sistema pueda entender.

   Embebido: “incrustado” en el código HTML, lo que permite añadir el código
   dinámico ente las etiquetas <?php ?>

   Ejecutado en el servidor: PHP es ejecutado en el servidor y nunca es enviado
   al cliente. El servidor es el que se encarga de procesar la petición del cliente,
   ejecutando el código PHP y devolviendo el HTML resultante
PHP - Como funciona



                         Servidor
                           Web

         Solicita una página
                                               Es una página PHP
         al servidor
                                                                    Bases
                                                                   de datos

 La página HTML se
 envía al cliente
                           Cliente

                                                                     Otros
                     El intérprete de PHP procesa el               servidores
                     código y genera la página HTML

                                                       .php
         .html
PHP – Como funciona

                                              HTTP
CLIENTE/NAVEGADOR WEB




                                            RESPONSE




                                                                        SERVIDOR WEB
                                                                                         Bases
                                                                                        de datos
                        VISUALIZAR   HTML
                                                       GENERAR   HTML




                                                                                         Otros
                                                                                       servidores
                                              HTTP
                                            REQUEST
Estadísticas de uso de PHP
MySQL

MySQL es un Sistemas Gestores de bases de Datos
   Multiusuario: Acceso a las bases de datos de forma simultánea por varios
   usuarios y/o aplicaciones

   Seguridad: en forma de permisos y privilegios, determinados usuarios
   tendrán permiso para consulta o modificación de determinadas tablas.

   Potencia: SQL es un lenguaje muy potente para consulta de bases de datos.

   Portabilidad: Disponible para distintas plataformas.

   Escalabilidad: óptimos resultados en la manipulación de bases de datos muy
   grandes.

   Conectividad: permite conexiones entre diferentes máquinas con distintos
   sistemas operativos.
Instalación LAMP


Varias alternativas a la hora de instalar LAMP:


   Bajarse los fuentes de cada uno de ellos, 
   compilarlos e instalarlos.


   Utilizar el administrador de paquetes específico de la 
   distribución en la que vamos a instalar LAMP. 
Instalación: compilar e instalar

APACHE:
  1. Descargar:  http://httpd.apache.org/download.cgi
  2. Descomprimir:  $ tar xvfz httpd­2_0_<version>.tar.gz
  3. Ejecutar script configure: $ ./configure –prefix=<path_instalación>
                                   ­­enable­so
  4. Compilar: $ make
  5. Instalar: $make install
  6. Configurar: $ vi <path_instalación>/conf/http.conf
  7. Comprobar que funciona: <path_instalación>/bin/apachectl start
Instalación: compilar e instalar

MYSQL:
  1. Descargar: http://dev.mysql.com/downloads/mysql/5.0.html
  2. Descomprimir:  $ tar xvfz mysql­5<version>.tar.gz
  3. Ejecutar script configure: $ ./configure ­prefix=<path_instalación> 
     ­sysconfdir=<path_config>
  4. Compilar: $ make
  5. Instalar: $make install
  6. Creamos las BD propias de mysql: $ ./bin/mysql_install_db
  7. Arrancamos el demonio: ./bin/mysqld_safe
Instalación: compilar e instalar
   PHP:
      1. Descargar: http://es.php.net/get/php­5.1.4.tar.gz/from/a/mirror
      2. Descomprimir:  $ tar xvfz php­5<version>.tar.gz
      3. Ejecutar script configure: $ ./configure –with­apxs2=<path­apache>/bin/
                                           ­­with­mysql
      4. Compilar: $ make
      5. Instalar: $make install
      6. Copiamos fichero de configuración: cp php.ini­dist /usr/local/lib/php.ini
      7. Cargar el módulo: a2enmod php5
      8. Añadir en http.conf: 
          AddType application/x­httpd­php .php .phtml
          AddType application/x­httpd­php­source .phps
      9. Reiniciar apache: <path_apache>/bin/apachectl restart
Instalación LAMP Ubuntu 6.10

 Instalación apache2
   $ apt­get install apache2


 Instalación php5
   $ apt­get install php5 libapache2­mod­php5


 Instalación mysql5
   $ apt­get install mysql­server php5­mysql
CONFIGURACIÓN
Configuración apache2 - directorios
    Paths de apache2:
        Ficheros de configuración: /etc/apache2
        Binarios: /usr   /sbin
        Librerías: /usr/lib/apache2
        Directorio para las web por defecto: /var/www
        Directorio de logs ­> /var/log/apache2
    Directorios y ficheros de configuración:
        apache2.conf ­> Fichero principal de configuración
        mods­availabe/ ­> Módulos disponibles
        mods­enable/ ­> Módulos habilitados
        sites­available/ ­> Sitios disponibles
        sites­enable/ ­> Sitios habilitados
        ports.conf ­> Lista de puertos en los que escucha apache
        http.conf ­> añadir módulos con problemas de compatibilidad
Vistazo genérico a apache2.conf
 Algunas directivas a destacar de apache2.conf:
    ServerRoot quot;/etc/apache2quot;
    Timeout 300 (Máximo tiempo para procesar una petición)
    KeepAlive On (conexión persitente)
    MaxKeepAliveRequests 100
    KeepAliveTimeout 15
    User www­data (usuario específico apache)
    Group www­data (grupo específico usuario apache)
    AddType MIME­type extension [extension] (Asocia una 
      extensión a un tipo de contenido)
    Include file­path|directory­path (incluye ficheros de 
      configuración)
Ficheros de configuración

En los ficheros de configuración de apache son fundamentales tres conceptos

   Directiva de configuración: Un comando de configuración que controla
   uno o más aspectos del comportamiento de Apache

    Secciones de configuración: Especifican a que directorio, fichero, host o
    URL son aplicadas determinadas directivas de aplicación.

   Contexto: Un área en los ficheros de configuración donde están
   permitidos ciertos tipos de directivas.
Contextos

Server config: La directiva puede ser usada en los ficheros de configuración
del servidor (por ejemplo, httpd.conf), pero no dentro de las secciones
<VirtualHost> ni <Directory>. También significa que la directiva no puede usarse
en los ficheros .htaccess.


Virtual host: Este contexto significa que la directiva puede aparecer dentro de
las secciones <VirtualHost> de los ficheros de configuración del servidor.

Directory: Una directiva marcada como válida en este contexto puede usarse
en las secciones <Directory>, <Location>, y <Files> en los ficheros de
configuración del servidor.


.htaccess: Si una directiva es válida en este contexto, eso significa que puede
aparecer en los ficheros .htaccess.
Secciones de configuración

Las directivas presentes en los ficheros de configuración pueden ser de aplicación para
todo el servidor, o puede que su aplicación se limite solamente a determinados directorios,
ficheros, hosts, o URLs, através secciones de configuración o ficheros .htaccess
Tipos de Secciones de configuración de apache para el módulo básico de apache

     <Directory>
                                Dos tipos de secciones de configuración:
     <DirectoryMatch>
                                       Evaluadas para cada petición que se recibe y
      <Files>
                                       aplican las directivas que se incluyen en las
     <FilesMatch>                      distintas secciones.
     <IfDefine>
                                       Evalúan solamente al inicio o reinicio del servidor.
     <IfModule>                        Si al iniciar el servidor las condiciones son las
                                       adecuadas, las directivas que incluyen estas
     <Location>
                                       secciones se aplicarán a todas las peticiones que
     <LocationMatch>                   se reciban. Es caso contrario, esas directivas que
                                       incluyen se ignoran completamente.
     <VirtualHost>
Configuración de áreas

Las secciones de configuración más frecuentes, son las de configuración de áreas del
sistema de ficheros o del espacio web
       Área del sistema de ficheros: Árbol de directorios según el sistema operativo
       /etc/apache2
       Área del espacio web: Contenido del servidor y que el cliente visualiza. De manera
       que la ruta /dir/ en el espacio web se corresponde con la ruta /var/www/dir/

 Secciones relacionadas con el sistema de ficheros:
       <Directory> y <DirectoryMatch>: Las directivas incluidas en estas secciones, se
       aplican al directorio del sistema de ficheros especificado y a sus subdirectorios. El
       mismo resultado puede obtenerse usando ficheros .htaccess
       <Files> y <FilesMatch>: Las directivas incluidas en estas secciones, se aplican al
       fichero especificado.
 Secciones relacionadas con el sistema de ficheros:
       <Location> y <LocationMatch>: Las directivas incluidas en estas secciones
       cambian la configuración para el contenido del espacio web
Directivas de configuración
Veremos las más genéricas, para a continuación, explicar las más específicas en sus
correspondientes contextos:
     DirectoryIndex: Fichero por defecto de index cuando se especifica un directorio
     ServerAdmin: E-mail devuelto junto cualquier mensaje de error que envía el servidor.
     DocumentRoot: Directorio raíz
     Options: Funcionalidades del servidor disponibles en un directorio en particular:
         None : ninguna funcionalidad disponible
         All: Todas las opciones excepto MultiViews. Este es el valor por defecto
         FollowSymLinks: El servidor seguirá los enlaces simbólicos en este directorio
         Includes: Permite el uso de Server-side includes
         Indexes: Si se produce una petición a una URL que se corresponde con un
         directorio, y no hay DirectoryIndex en ese directorio, entonces devolverá una lista
         con los contenidos del directorio.
         MultiViews: Multiples tipos de ficheros
         SymLinksIfOwnerMatch: El servidor seguirá los enlaces simbólicos en los que el
         fichero o directorio final pertenezca al mismo usuario que el enlace.
         ErrorLog: Ubicación del fichero en el que se almacenan los mensajes de error
     ErrorLog: Ubicación del fichero en el que se almacenan los mensajes de error
     LogLevel: Nivel de log a partir se registran los logs
<Directory> y <DirectoryMatch>

  Se usan para englobar un grupo de directivas que se aplicarán solamente al directorio especificado y
  a sus subdirectorios
                       <Directory /var/www>
                           Options Indexes FollowSymLinks
                       </Directory>

                        <Directory ~ quot;^/www/.*/[0­9]{3}quot;>

                        <DirectoryMatch quot;^/www/.*/[0­9]{3}quot;>


Durectivas importantes de Directory:
Order: Control de acceso a ficheros y directorios y el orden en el que se aplican las restriciones
Opciones: Deny,Allow | Allow,Deny | Mutual-failure
Allow & Deny: Controlan que host pueden acceder
                                                                     Con variables de entorno
uso: Allow from all|host|env=env-variable [host|env=env-variable]
     All – Cualquiera                                               SetEnvIf User­Agent .*Firefox.* nav
     Host – Especificado mediante:                                  <Directory /docroot>
          Nombre de dominio (parcial): Allow from apache.org            Order Deny,Allow
          IP completa: Allow from 192.168.1.104 192.168.1.205           Deny from all
                                                                        Allow from env=nav
          IP parcial: Allow from 192
                                                                    </Directory>
          Máscara de red: Allow from 10.1.0.0/255.255.0.0
          Ipv6: Allow from 2001:db8::a00:20ff:fea7:ccea
<Files> y <Location>
Las directivas incluidas en una sección <Files> se aplicarán a cualquier fichero cuyo
nombre se especifique, sin tener en cuenta en que directorio se encuentra.
                         <Files info.php>
                             Order allow,deny
                             Deny from all
                         </Files>


Para referirse a archivos que se encuentren en un determinado lugar del sistema de
ficheros, se pueden combinar las secciones <Files> y <Directory>
                         <Directory /var/www/>
                             <Files info.php>
                                  Order allow,deny
                                  Deny from all
                             </Files>
                         </Directory>



 Una sección <Location> aplica las directivas        <Location /phpmyadmin>
                                                         Order Deny,Allow
 que contiene según la URL de que se trate               Deny from all
                                                         Allow from 127.0.0.1
                                                     </Location>
<VirtualHost>
Contiene las directivas que se aplican solo a un nombre de host específico o dirección IP
El hosting virtual basado en IPs usa la dirección IP de la conexión para determinar qué
host virtual es el que tiene que servir. Por lo tanto, necesitará tener diferentes direcciones
IP para cada host. Si usa hosting virtual basado en nombres, el servidor atiende al nombre
de host que especifica el cliente en las cabeceras de HTTP. Usando esta técnica, una
sola dirección IP puede ser compartida por muchos sitios web diferentes.
Uso: <VirtualHost addr[:port] [addr[:port]] ...> ... </VirtualHost>
Addr puede ser:
      La dirección IP del host virtual
      Un nombre de dominio completo para la dirección IP del host virtual
      El carácter *, el cual puede usarse en combinación con NameVirtualHost * para
      que equivalga a todas las direcciones IP
      La cadena de caracteres _default_, que se usa solo con hosting virtual IP para
      detectar direcciones IP sin emparejar
                                                  NameVirtualHost 10.0.0.116
<VirtualHost *>
  ServerName xornadas.com
                                                  <VirtualHost 10.0.0.116>
  DocumentRoot /var/www/xornadas
                                                          ServerName xornadas.com
  ErrorLog /var/log/apache2/xorn.log
                                                          DocumentRoot /var/www/xornadas
  LogLevel warn
                                                  </VirtualHost>
</VirtualHost>
Alias


Nos permite el acceso a directorios que no están dentro del DocumentRoot



               Alias /phpmyadmin /usr/share/phpmyadmin

               Alias /phpmyadmin /usr/share/phpmyadmin
               <Directory /usr/share/phpmyadmin>
                  Order allow,deny
                  Allow from all
               </Directory>
.htaccess

Ficheros que controlan el acceso en el directorio en el que se encuentran y en todos
sus subdirectorios.
Podríamos decir que es un alias de <Directory>


                                 Order Allow,Deny
                                 Deny from all
                       a
                       d
                       s
                       a
 El uso de fichero .htacces pueden ser deshabilitados completamente con la directiva
 AllowOverride None

                               <Directory path_htacces >
                                  AllowOverride None
                               </Directory>
Autentificación, Autorización y Control de Acceso


 La autentificación es cualquier proceso mediante el cual se verifica que alguien es quien dice ser.

 PROCESO
 Es necesario que las directivas tratadas a continuación, pertenezcan en el archivo de configuración
 principal de su servidor, típicamente en una sección del tipo <Directory> o en ficheros .htaccess (e
 caso de utilizar .htaccess tiene que existir la directiva AllowOverride AuthConfig)

 1. Crear un archivo de contraseñas. Este fichero debería estar en un directorio
 no accesible por web. Para crearlo utilizamos la herramienta htpasswd
        htpasswd -c <archivo de contraseña> <usuario>




 2. Configurar el servidor para que al acceder al directorio pida la autenticación
                                                         <Directory /var/www/prueba>
                                                               AllowOverrride AuthConfig
 <Directory /var/www/prueba>
                                                         </Directory>
       AuthType Basic
       AuthName quot;Restricted Filesquot;
                                                         AuthType Basic
       AuthUserFile /var/www/prueba
                                                         AuthName quot;Restricted Filesquot;
       Require user vifito
                                                         AuthUserFile /var/www/prueba
       AllowOverrride none
                                                         Require user vifito
 </Directory>
                                                         AllowOverrride AuthConfig
Autentificación, Autorización y Control de Acceso


De esta forma solo puede acceder un usuario. Para permitir el acceso a un grupo. Para ello
se utiliza la directiva AuthGroupFile

 1. Debemos crear un archivo de grupo que asocie nombres de grupo con una lista de
 usuarios perteneciente a ese grupo. El archivo debe ser como este:

                        GroupName: vifito xornadas

 2. Para agregar un usuario a un archivo de contraseñas ya existente, escriba:
            htpasswd /usr/local/apache/passwd/passwords xornadas 


  3. modificar la sección <Directory> o el .htacces
       <Directory /var/www/prueba>                    <Directory /var/www/prueba>
           AuthType Basic                                 AllowOverrride AuthConfig
           AuthName quot;Restricted Filesquot;                </Directory>
           AuthUserFile /var/www/prueba/pswd
                                                      AuthType Basic
           AuthGroupFile /var/www/prueba/group
                                                      AuthName quot;Restricted Filesquot;
           Require group GroupName
                                                      AuthUserFile /var/www/prueba/pswd
       </Directory>
                                                      AuthGroupFile /var/www/prueba/group
                                                      Require group GroupName
Configuración de php

El fichero de configuración de php se encuentra en:

   /etc/php5/apache2/php.ini


Algunas variables de configuración

   register_globals=off

   max_execution_time = 30

   max_input_time = 60

   memory_limit = 8M

   error_reporting = E_ALL & ~E_NOTICE

   post_max_size = 8M
Register Globals off

La variable register_globals de configuración establece la forma en la que 
accedemos a las variables pasadas por GET ó POST al servidor.


Si register_globals=on podremos acceder a las variables de forma natural.
       Ej: http://xornadas.com?op=inscripción
       <?  $op;  ?>


Si register_globals=off tendremos que acceder por la variable superglobal 
específica.
      POST=> $_POST[“op”];
      GET=> $_GET[“op”];
CMS

CMS (Content Management System): Sistema de gestión de 
contenid que permite la creación y administración de contenidos 
principalmente en páginas web.


Consiste en una interfaz que controla una o varias bases de datos 
donde se aloja el contenido del sitio. El sistema permite manejar 
de manera independiente el contenido por una parte y el diseño 
por otra. Así, es posible manejar el contenido y darle en cualquier 
momento un diseño distinto al sitio sin tener que darle formato al 
contenido de nuevo, además de permitir la fácil y controlada 
publicación en el sitio a varios editores. Un ejemplo clásico es el 
de editores que cargan el contenido al sistema y otro de nivel 
superior que permite que estos contenidos sean visibles a todo 
público.
INSTALACIÓN CMS
Bibliografía


 http://google.com
 http://www.mysql­hispano.org/
 http://www.php.net
 http://es.wikipedia.org
 http://news.netcraft.com/
 http://www.programacion.com/java/tutorial/servlets_jsp/7/
 http://httpd.apache.org/docs/2.0/
 http://www.lfcia.org/openprojects/camllets/doc/html/node16.html
Licencia de la ponencia
    Este trabajo se encuentra bajo la licencia Creative Commons Attribution­
                             ShareAlike 2.5 License
Autor original: Toni Martínez Carballo.
Modificaciones: Tomás Vilariño Fidalgo.
GRACIAS POR TU 
   ATENCIÓN


 ¿PREGUNTAS?

Más contenido relacionado

Destacado

O software libre na sociedade actual
O software libre na sociedade actualO software libre na sociedade actual
O software libre na sociedade actualousli07
 
Intervention de Michel Berson en séance sur le programme "Recherche" du PLF ...
Intervention de Michel Berson en séance sur le programme "Recherche" du PLF ...Intervention de Michel Berson en séance sur le programme "Recherche" du PLF ...
Intervention de Michel Berson en séance sur le programme "Recherche" du PLF ...MichelBerson
 
Cala D’Or Municipi TuríStic
Cala D’Or Municipi TuríSticCala D’Or Municipi TuríStic
Cala D’Or Municipi TuríSticmunicipi
 
INTRODUCCIÓN A LA INFORMÁTICA: LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...
INTRODUCCIÓN A LA INFORMÁTICA:LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...INTRODUCCIÓN A LA INFORMÁTICA:LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...
INTRODUCCIÓN A LA INFORMÁTICA: LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...elizabeth cinthya garcia caceres
 
sectas:Iglesia la luz del mundo
sectas:Iglesia la luz del mundosectas:Iglesia la luz del mundo
sectas:Iglesia la luz del mundoERIKA R
 
Tagebuch eines Streamers - Twitch
Tagebuch eines Streamers - TwitchTagebuch eines Streamers - Twitch
Tagebuch eines Streamers - TwitchTU Darmstadt
 
UNLu Acto Reparacion histórica
UNLu Acto Reparacion históricaUNLu Acto Reparacion histórica
UNLu Acto Reparacion históricaadmoro
 
Anteproyecto Laeas (LiberacióN Servicios áRea Europea)
Anteproyecto Laeas (LiberacióN Servicios áRea Europea)Anteproyecto Laeas (LiberacióN Servicios áRea Europea)
Anteproyecto Laeas (LiberacióN Servicios áRea Europea)toniomadrid
 
Educacio I Novestec
Educacio I NovestecEducacio I Novestec
Educacio I Novestecjt0607
 

Destacado (20)

O software libre na sociedade actual
O software libre na sociedade actualO software libre na sociedade actual
O software libre na sociedade actual
 
Intervention de Michel Berson en séance sur le programme "Recherche" du PLF ...
Intervention de Michel Berson en séance sur le programme "Recherche" du PLF ...Intervention de Michel Berson en séance sur le programme "Recherche" du PLF ...
Intervention de Michel Berson en séance sur le programme "Recherche" du PLF ...
 
Vamos A Sonreir
Vamos A SonreirVamos A Sonreir
Vamos A Sonreir
 
Diana revista.pptx2
Diana revista.pptx2Diana revista.pptx2
Diana revista.pptx2
 
Cala D’Or Municipi TuríStic
Cala D’Or Municipi TuríSticCala D’Or Municipi TuríStic
Cala D’Or Municipi TuríStic
 
TORMENTA TROPICAL “LARRY”
TORMENTA TROPICAL “LARRY”TORMENTA TROPICAL “LARRY”
TORMENTA TROPICAL “LARRY”
 
diaporame travaille
diaporame travaillediaporame travaille
diaporame travaille
 
INTRODUCCIÓN A LA INFORMÁTICA: LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...
INTRODUCCIÓN A LA INFORMÁTICA:LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...INTRODUCCIÓN A LA INFORMÁTICA:LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...
INTRODUCCIÓN A LA INFORMÁTICA: LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...
 
Valladolid
ValladolidValladolid
Valladolid
 
Herramientas de flash
Herramientas de flash Herramientas de flash
Herramientas de flash
 
sectas:Iglesia la luz del mundo
sectas:Iglesia la luz del mundosectas:Iglesia la luz del mundo
sectas:Iglesia la luz del mundo
 
Software sydle
Software sydle Software sydle
Software sydle
 
Vacas Locas
Vacas LocasVacas Locas
Vacas Locas
 
One drive outlook
One drive outlookOne drive outlook
One drive outlook
 
Halloween
HalloweenHalloween
Halloween
 
Tagebuch eines Streamers - Twitch
Tagebuch eines Streamers - TwitchTagebuch eines Streamers - Twitch
Tagebuch eines Streamers - Twitch
 
UNLu Acto Reparacion histórica
UNLu Acto Reparacion históricaUNLu Acto Reparacion histórica
UNLu Acto Reparacion histórica
 
Manzanas
ManzanasManzanas
Manzanas
 
Anteproyecto Laeas (LiberacióN Servicios áRea Europea)
Anteproyecto Laeas (LiberacióN Servicios áRea Europea)Anteproyecto Laeas (LiberacióN Servicios áRea Europea)
Anteproyecto Laeas (LiberacióN Servicios áRea Europea)
 
Educacio I Novestec
Educacio I NovestecEducacio I Novestec
Educacio I Novestec
 

Similar a Instalación e configuración de lamp (20)

2.12 http
2.12 http2.12 http
2.12 http
 
Seguridad en web
Seguridad en webSeguridad en web
Seguridad en web
 
Servidores Proxy protocolo HTTP
Servidores Proxy  protocolo HTTPServidores Proxy  protocolo HTTP
Servidores Proxy protocolo HTTP
 
Http
HttpHttp
Http
 
Http
HttpHttp
Http
 
Curso de php
Curso de phpCurso de php
Curso de php
 
Mod alias - Apache
Mod alias - ApacheMod alias - Apache
Mod alias - Apache
 
Mod alias
Mod aliasMod alias
Mod alias
 
Fundamentos de la web
Fundamentos de la webFundamentos de la web
Fundamentos de la web
 
Presentación1
Presentación1Presentación1
Presentación1
 
Libreria webduino
Libreria webduinoLibreria webduino
Libreria webduino
 
Generación de web sites dinámicos usando php
Generación de web sites dinámicos usando phpGeneración de web sites dinámicos usando php
Generación de web sites dinámicos usando php
 
Generación de web sites dinámicos usando php
Generación de web sites dinámicos usando phpGeneración de web sites dinámicos usando php
Generación de web sites dinámicos usando php
 
APACHE MYSQL SAMBA
APACHE MYSQL SAMBAAPACHE MYSQL SAMBA
APACHE MYSQL SAMBA
 
PROTOCOLO HTTP
PROTOCOLO HTTPPROTOCOLO HTTP
PROTOCOLO HTTP
 
Protocolos de internet
Protocolos de internetProtocolos de internet
Protocolos de internet
 
13. servidor http
13. servidor http13. servidor http
13. servidor http
 
Actividad n 5.3 http ftp
Actividad n 5.3 http ftpActividad n 5.3 http ftp
Actividad n 5.3 http ftp
 
Actividad n 5.3 http ftp
Actividad n 5.3 http ftpActividad n 5.3 http ftp
Actividad n 5.3 http ftp
 
Protocolo http
Protocolo httpProtocolo http
Protocolo http
 

Más de ousli07

Comunidade Blogaliza
Comunidade BlogalizaComunidade Blogaliza
Comunidade Blogalizaousli07
 
Dev con Joomla componentes modulos plugins
Dev con Joomla componentes modulos pluginsDev con Joomla componentes modulos plugins
Dev con Joomla componentes modulos pluginsousli07
 
Perspectivas de la realidad desde los medios de comunicacion frente los medio...
Perspectivas de la realidad desde los medios de comunicacion frente los medio...Perspectivas de la realidad desde los medios de comunicacion frente los medio...
Perspectivas de la realidad desde los medios de comunicacion frente los medio...ousli07
 
Directrices migratorias
Directrices migratoriasDirectrices migratorias
Directrices migratoriasousli07
 
Aplicación docente del software libre
Aplicación docente del software libreAplicación docente del software libre
Aplicación docente del software libreousli07
 
Webs Dinámicas, web nos centros educativos baseadas en Software Libre
Webs Dinámicas, web nos centros educativos baseadas en Software LibreWebs Dinámicas, web nos centros educativos baseadas en Software Libre
Webs Dinámicas, web nos centros educativos baseadas en Software Libreousli07
 
O software libre para a xestión da rede educativa máis grande do mundo
O software libre para a xestión da rede educativa máis grande do mundoO software libre para a xestión da rede educativa máis grande do mundo
O software libre para a xestión da rede educativa máis grande do mundoousli07
 
Iniciativa EducaMadrid - MadridLinux.
Iniciativa EducaMadrid - MadridLinux.Iniciativa EducaMadrid - MadridLinux.
Iniciativa EducaMadrid - MadridLinux.ousli07
 
Software Libre e terminais lixeiros en aulas: TCOS
Software Libre e terminais lixeiros en aulas: TCOSSoftware Libre e terminais lixeiros en aulas: TCOS
Software Libre e terminais lixeiros en aulas: TCOSousli07
 
Impulso al Software Libre desde la Junta de Andalucia
Impulso al Software Libre desde la Junta de AndaluciaImpulso al Software Libre desde la Junta de Andalucia
Impulso al Software Libre desde la Junta de Andaluciaousli07
 
Formando ao futuro profesional en Software Libre
Formando ao futuro profesional en Software LibreFormando ao futuro profesional en Software Libre
Formando ao futuro profesional en Software Libreousli07
 
Forja Universitaria de RedIRIS
Forja Universitaria de RedIRISForja Universitaria de RedIRIS
Forja Universitaria de RedIRISousli07
 
A Galipedia, libre e colaborativa, tamén para a aprendizaxe e o ensino
 A Galipedia, libre e colaborativa, tamén para a aprendizaxe e o ensino A Galipedia, libre e colaborativa, tamén para a aprendizaxe e o ensino
A Galipedia, libre e colaborativa, tamén para a aprendizaxe e o ensinoousli07
 
Software Libre e accesibilidade ás novas tecnoloxías, posibilitando a ensinan...
Software Libre e accesibilidade ás novas tecnoloxías, posibilitando a ensinan...Software Libre e accesibilidade ás novas tecnoloxías, posibilitando a ensinan...
Software Libre e accesibilidade ás novas tecnoloxías, posibilitando a ensinan...ousli07
 
Aula Cesga, un campus virtual basado en Software Libre
Aula Cesga, un campus virtual basado en Software LibreAula Cesga, un campus virtual basado en Software Libre
Aula Cesga, un campus virtual basado en Software Libreousli07
 
Presentacion Rede DSI
Presentacion Rede DSIPresentacion Rede DSI
Presentacion Rede DSIousli07
 
Docencia Redes con Open Source
Docencia Redes con Open SourceDocencia Redes con Open Source
Docencia Redes con Open Sourceousli07
 
Sistema y soporte informático en un centro educativo basado en software libre
Sistema y soporte informático en un centro educativo basado en software libreSistema y soporte informático en un centro educativo basado en software libre
Sistema y soporte informático en un centro educativo basado en software libreousli07
 
Acercamiento al Software Libre
Acercamiento al Software LibreAcercamiento al Software Libre
Acercamiento al Software Libreousli07
 

Más de ousli07 (20)

Comunidade Blogaliza
Comunidade BlogalizaComunidade Blogaliza
Comunidade Blogaliza
 
Dev con Joomla componentes modulos plugins
Dev con Joomla componentes modulos pluginsDev con Joomla componentes modulos plugins
Dev con Joomla componentes modulos plugins
 
Perspectivas de la realidad desde los medios de comunicacion frente los medio...
Perspectivas de la realidad desde los medios de comunicacion frente los medio...Perspectivas de la realidad desde los medios de comunicacion frente los medio...
Perspectivas de la realidad desde los medios de comunicacion frente los medio...
 
Directrices migratorias
Directrices migratoriasDirectrices migratorias
Directrices migratorias
 
Aplicación docente del software libre
Aplicación docente del software libreAplicación docente del software libre
Aplicación docente del software libre
 
Webs Dinámicas, web nos centros educativos baseadas en Software Libre
Webs Dinámicas, web nos centros educativos baseadas en Software LibreWebs Dinámicas, web nos centros educativos baseadas en Software Libre
Webs Dinámicas, web nos centros educativos baseadas en Software Libre
 
O software libre para a xestión da rede educativa máis grande do mundo
O software libre para a xestión da rede educativa máis grande do mundoO software libre para a xestión da rede educativa máis grande do mundo
O software libre para a xestión da rede educativa máis grande do mundo
 
Iniciativa EducaMadrid - MadridLinux.
Iniciativa EducaMadrid - MadridLinux.Iniciativa EducaMadrid - MadridLinux.
Iniciativa EducaMadrid - MadridLinux.
 
Magasi
MagasiMagasi
Magasi
 
Software Libre e terminais lixeiros en aulas: TCOS
Software Libre e terminais lixeiros en aulas: TCOSSoftware Libre e terminais lixeiros en aulas: TCOS
Software Libre e terminais lixeiros en aulas: TCOS
 
Impulso al Software Libre desde la Junta de Andalucia
Impulso al Software Libre desde la Junta de AndaluciaImpulso al Software Libre desde la Junta de Andalucia
Impulso al Software Libre desde la Junta de Andalucia
 
Formando ao futuro profesional en Software Libre
Formando ao futuro profesional en Software LibreFormando ao futuro profesional en Software Libre
Formando ao futuro profesional en Software Libre
 
Forja Universitaria de RedIRIS
Forja Universitaria de RedIRISForja Universitaria de RedIRIS
Forja Universitaria de RedIRIS
 
A Galipedia, libre e colaborativa, tamén para a aprendizaxe e o ensino
 A Galipedia, libre e colaborativa, tamén para a aprendizaxe e o ensino A Galipedia, libre e colaborativa, tamén para a aprendizaxe e o ensino
A Galipedia, libre e colaborativa, tamén para a aprendizaxe e o ensino
 
Software Libre e accesibilidade ás novas tecnoloxías, posibilitando a ensinan...
Software Libre e accesibilidade ás novas tecnoloxías, posibilitando a ensinan...Software Libre e accesibilidade ás novas tecnoloxías, posibilitando a ensinan...
Software Libre e accesibilidade ás novas tecnoloxías, posibilitando a ensinan...
 
Aula Cesga, un campus virtual basado en Software Libre
Aula Cesga, un campus virtual basado en Software LibreAula Cesga, un campus virtual basado en Software Libre
Aula Cesga, un campus virtual basado en Software Libre
 
Presentacion Rede DSI
Presentacion Rede DSIPresentacion Rede DSI
Presentacion Rede DSI
 
Docencia Redes con Open Source
Docencia Redes con Open SourceDocencia Redes con Open Source
Docencia Redes con Open Source
 
Sistema y soporte informático en un centro educativo basado en software libre
Sistema y soporte informático en un centro educativo basado en software libreSistema y soporte informático en un centro educativo basado en software libre
Sistema y soporte informático en un centro educativo basado en software libre
 
Acercamiento al Software Libre
Acercamiento al Software LibreAcercamiento al Software Libre
Acercamiento al Software Libre
 

Último

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
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 JUNITMaricarmen Sánchez Ruiz
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Último (13)

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
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
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Instalación e configuración de lamp

  • 1. Configuración de servidores LAMP Tomás Vilariño Fidalgo
  • 2. ÍNDICE PONENCIA LAMP APACHE HTTP DIFERENCIAS ENTRE APACHE 1 / APACHE 2 PHP MYSQL INSTALACIÓN MEDIANTE COMPILACIÓN CON APT CONFIGURACIÓN APACHE CONTROL DE ACCESO A DIRECTORIOS VIRTUAL HOST AUTENTICACIÓN PHP CMS INTALACIÓN XOOPS INTALACIÓN JOOMLA INSTALACIÓN WORDPRESS
  • 3. LAMP LAMP hace referencia a un conjunto de programas de software libre usados de forma conjunta para ejecutar páginas web dinámicas Linux, sistema operativo Apache, servidor web MySQL, sistema gestor de bases de datos Perl, PHP o Python, lenguajes de programación/scripts
  • 4. Aplicaciones cliente/servidor EMPRESA Red Local Cliente Base de Servidor Datos Web Internet Cliente Cliente Servidor de Aplicaciones Cliente Cliente ¡¡DESDE CUALQUIER SITIO!!
  • 5. Apache Apache es el servidor web por excelencia. Gratuidad: Totalmente gratuito, distribuido bajo la licencia Apache Software License, que permite la modificación y adaptación de código. Fiabilidad: Alrededor del 90% de los servidores con más alta disponibilidad funcionan con Apache. Extensibilidad: se pueden añadir módulos para ampliar las ya de por si amplias capacidades de Apache.
  • 6. HTTP Apache es un servidor HTTP HTTP (Protocolo de Transferencia de HiperTexto): protocolo usado en cada transacción de la Web (WWW). El hipertexto es el contenido de las páginas web, y el protocolo de transferencia es el sistema mediante el cual se envían las peticiones de acceso a una web y la respuesta de esa web. http://dirección[:puerto][path] http://www.ousli.org:80/path/page.php 3. Mensaje response del servidor 1. Se abre un socket con el host. HTTP/1.1 OK - 200 2. Se envía un mensaje request Date=Mon, 26 Jun 2006 18:32:32 GMT GET /index.html HTTP/1.1 Server=Apache Host=es.wikipedia.org X-Powered-By=PHP/5.1.2 User-Agent=Firefox/1.5.0.4 Content-Type=text/html; charset=utf-8 Accept=text/xml, <html> application/xml, <body> application/xhtml <h1>wikipedia</h1> Accept-Language=es-es (Contenido) Accept-Charset=ISO-8859-1,utf-8 </body> </html>
  • 7. Mensajes de estado HTTP RANGO DE CÓDIGO TIPO CÓDIGO MENSAJE SIGNIFICADO 100-199 Informativo 100 Continue Continúa con petición parcial (nuevo en HTTP 1.1) 101 Switching El servidor cumplirá con la cabecera Upgrade y cambiará a un Protocols protocolo diferente. (Nuevo en HTTP 1.1) 200 - 299 Exitoso 200 OK Todo está bien. El servidor creo un documento; la cabecera Location indica la 201 Created URL. 202 Accepted La petición se está realizando, el proceso no se ha 203 Non-Authoritative El documento está siendo devuelto normalmente, pero Information algunas cabeceras de respuesta podrían ser incorrectas porque se está usando una copia del documento (Nuevo en 204 No Content No hay un documento nuevo; el navegador contínua mostrando el documento anterior. No hay documento nuevo, pero el navegador debería resetear 205 Reset Content el documento. Usado para forzar al navegador a borrar los contenidos de los campos de un formulario CGI (Nuevo en HTTP 1.1) 206 Partial Content El cliente envía una petición parcial con una cabecera Range, y el servidor la ha completado. (Nuevo en HTTP 1.1)
  • 8. Mensajes de estado HTTP RANGO DE CÓDIGO TIPO CÓDIGO MENSAJE SIGNIFICADO 300 - 399 Redirección 300 Multiple El documento pedido se puede encontrar en varios sitios; serán listados en Choices el documento devuelto. Si el servidor tiene una opción preferida, debería listarse en la cabecera de respuesta Location . 301 Moved El documento pedido está en algún lugar, y la URL se da en la cabecera de Permanently respuesta Location. 302 Found Similar a 301, excepto que la nueva URL debería ser interpretada como reemplazada temporalmente. 303 See Other Igual que 301/302, excepto que si la petición original era POST, el documento redirigido (dado en la cabecera Location) debería ser recuperado mediante GET. (Nuevo en HTTP 1.1) 304 Not Modified El cliente tiene un documento en el caché y realiza una petición condicional (normalmente suministrando una cabecera If-Modified-Since indicando que sólo quiere documentos más nuevos que la fecha especificada). El servidor quiere decirle al cliente que el viejo documento del caché todavía está en uso. 305 Use Proxy El documento pedido debería recuperarse mediante el proxy listado en la cabecera Location. (Nuevo en HTTP 1.1) Es idéntica a 302 (quot;Foundquot; o quot;Temporarily Movedquot;). Fue añádido a HTTP 307 Temporary 1.1 ya que muchos navegadores siguen erróneamente la redirección de Redirect una respuesta 302 incluso si el mensaje original fue un POST, y sólo se debe seguir la redirección de una petición POST en respuestas 303. Esta respuesta es algo ambígua: sigue el redireccionamiento para peticiones GET y POST en el caso de respuestas 303, y en el caso de respuesta 307 sólo sigue la redirección de peticiones GET.
  • 9. Mensajes de estado HTTP RANGO DE CÓDIGO TIPO CÓDIGO MENSAJE SIGNIFICADO 400 – 499 Error del Cliente 400 Bad Request Mala Síntaxis de la petición. 401 Unauthorized El cliente intenta acceder a una página protegida por password sin las autorización apropiada. Falta permisos de fichero o directorios en el 403 Forbidden 404 Not Found No se pudo encontrar el recurso en esa dirección. 405 Method Not Allowed El método de la petición (GET, POST, HEAD, DELETE, PUT, TRACE, etc.) no estaba permitido para este recurso particular. (Nuevo en HTTP 1.1) 406 Not Acceptable El recurso indicado genera un tipo MIME incompatible con el especificado por el cliente mediante su cabecera Accept. (Nuevo en HTTP 1.1) 407 Proxy Similar a 401, pero el servidor proxy debería Authentication devolver una cabecera Proxy-Authenticate. (Nuevo en Required HTTP 1.1) 408 Request Timeout El cliente tarda demasiado en envíar la petición. (Nuevo en HTTP 1.1) El servidor no puede procesar la petición a menos que 411 Length Required el cliente envíe una cabecera Content-Length. (Nuevo en HTTP 1.1) 412 Precondition Alguna condición prévia especificada en la petición Failed era falsa (Nuevo en HTTP 1.1) 415 Unsupported Media La petición está en un formato desconocido. (Nuevo en Type HTTP 1.1)
  • 10. Mensajes de estado HTTP RANGO DE CÓDIGO TIPO CÓDIGO MENSAJE SIGNIFICADO 500 Internal 500 – 599 Error Servidor Mensaje genérico quot;server is confusedquot;. Server Error 501 Not El servidor no soporta la funcionalidad de Implemented rellenar peticiones. Usado, por ejemplo, cuando el cliente envía comandos como PUT que el cliente no soporta. 502 Bad Gateway Usado por servidores que actúan como proxies o gateways; indica que el servidor inicial obtuvo una mala respuesta desde el servidor remoto. 503 Service El servidor no puede responder debido a Unavailable mentenimiento o sobrecarga. 504 Gateway Usado por servidores que actúan como proxies o Timeout gateways; indica que el servidor inicial no obtuvo una respuesta a tiempo del servidor remoto. (Nuevo en HTTP 1.1) 505 HTTP Version El servidor no soporta la versión de HTTP Not indicada en la línea de petición. (Nuevo en HTTP Supported 1.1)
  • 12. PHP PHP (acrónimo de quot;PHP: Hypertext Preprocessor“, hipertexto preprocesado) es un  lenguaje interpretado, de alto nivel, embebido en páginas HTML y ejecutado en  el servidor.  Interpretado: Son procesados mediante un intérprete, que realiza la traducción del programa a código fuente, a medida que es necesario y normalmente, no guardan el resultado de dicha traducción. Alto nivel: Lenguaje de programación, cuyas isntrucciones son similares al lenguaje humano, que necesita ser traducido a un lenguaje de bajo nivel que el sistema pueda entender. Embebido: “incrustado” en el código HTML, lo que permite añadir el código dinámico ente las etiquetas <?php ?> Ejecutado en el servidor: PHP es ejecutado en el servidor y nunca es enviado al cliente. El servidor es el que se encarga de procesar la petición del cliente, ejecutando el código PHP y devolviendo el HTML resultante
  • 13. PHP - Como funciona Servidor Web Solicita una página Es una página PHP al servidor Bases de datos La página HTML se envía al cliente Cliente Otros El intérprete de PHP procesa el servidores código y genera la página HTML .php .html
  • 14. PHP – Como funciona HTTP CLIENTE/NAVEGADOR WEB RESPONSE SERVIDOR WEB Bases de datos VISUALIZAR HTML GENERAR HTML Otros servidores HTTP REQUEST
  • 16. MySQL MySQL es un Sistemas Gestores de bases de Datos Multiusuario: Acceso a las bases de datos de forma simultánea por varios usuarios y/o aplicaciones Seguridad: en forma de permisos y privilegios, determinados usuarios tendrán permiso para consulta o modificación de determinadas tablas. Potencia: SQL es un lenguaje muy potente para consulta de bases de datos. Portabilidad: Disponible para distintas plataformas. Escalabilidad: óptimos resultados en la manipulación de bases de datos muy grandes. Conectividad: permite conexiones entre diferentes máquinas con distintos sistemas operativos.
  • 17. Instalación LAMP Varias alternativas a la hora de instalar LAMP: Bajarse los fuentes de cada uno de ellos,  compilarlos e instalarlos. Utilizar el administrador de paquetes específico de la  distribución en la que vamos a instalar LAMP. 
  • 18. Instalación: compilar e instalar APACHE: 1. Descargar:  http://httpd.apache.org/download.cgi 2. Descomprimir:  $ tar xvfz httpd­2_0_<version>.tar.gz 3. Ejecutar script configure: $ ./configure –prefix=<path_instalación>  ­­enable­so 4. Compilar: $ make 5. Instalar: $make install 6. Configurar: $ vi <path_instalación>/conf/http.conf 7. Comprobar que funciona: <path_instalación>/bin/apachectl start
  • 19. Instalación: compilar e instalar MYSQL: 1. Descargar: http://dev.mysql.com/downloads/mysql/5.0.html 2. Descomprimir:  $ tar xvfz mysql­5<version>.tar.gz 3. Ejecutar script configure: $ ./configure ­prefix=<path_instalación>  ­sysconfdir=<path_config> 4. Compilar: $ make 5. Instalar: $make install 6. Creamos las BD propias de mysql: $ ./bin/mysql_install_db 7. Arrancamos el demonio: ./bin/mysqld_safe
  • 20. Instalación: compilar e instalar PHP: 1. Descargar: http://es.php.net/get/php­5.1.4.tar.gz/from/a/mirror 2. Descomprimir:  $ tar xvfz php­5<version>.tar.gz 3. Ejecutar script configure: $ ./configure –with­apxs2=<path­apache>/bin/ ­­with­mysql 4. Compilar: $ make 5. Instalar: $make install 6. Copiamos fichero de configuración: cp php.ini­dist /usr/local/lib/php.ini 7. Cargar el módulo: a2enmod php5 8. Añadir en http.conf:  AddType application/x­httpd­php .php .phtml AddType application/x­httpd­php­source .phps 9. Reiniciar apache: <path_apache>/bin/apachectl restart
  • 21. Instalación LAMP Ubuntu 6.10 Instalación apache2 $ apt­get install apache2 Instalación php5 $ apt­get install php5 libapache2­mod­php5 Instalación mysql5 $ apt­get install mysql­server php5­mysql
  • 23. Configuración apache2 - directorios Paths de apache2: Ficheros de configuración: /etc/apache2 Binarios: /usr /sbin Librerías: /usr/lib/apache2 Directorio para las web por defecto: /var/www Directorio de logs ­> /var/log/apache2 Directorios y ficheros de configuración: apache2.conf ­> Fichero principal de configuración mods­availabe/ ­> Módulos disponibles mods­enable/ ­> Módulos habilitados sites­available/ ­> Sitios disponibles sites­enable/ ­> Sitios habilitados ports.conf ­> Lista de puertos en los que escucha apache http.conf ­> añadir módulos con problemas de compatibilidad
  • 24. Vistazo genérico a apache2.conf Algunas directivas a destacar de apache2.conf: ServerRoot quot;/etc/apache2quot; Timeout 300 (Máximo tiempo para procesar una petición) KeepAlive On (conexión persitente) MaxKeepAliveRequests 100 KeepAliveTimeout 15 User www­data (usuario específico apache) Group www­data (grupo específico usuario apache) AddType MIME­type extension [extension] (Asocia una  extensión a un tipo de contenido) Include file­path|directory­path (incluye ficheros de  configuración)
  • 25. Ficheros de configuración En los ficheros de configuración de apache son fundamentales tres conceptos Directiva de configuración: Un comando de configuración que controla uno o más aspectos del comportamiento de Apache Secciones de configuración: Especifican a que directorio, fichero, host o URL son aplicadas determinadas directivas de aplicación. Contexto: Un área en los ficheros de configuración donde están permitidos ciertos tipos de directivas.
  • 26. Contextos Server config: La directiva puede ser usada en los ficheros de configuración del servidor (por ejemplo, httpd.conf), pero no dentro de las secciones <VirtualHost> ni <Directory>. También significa que la directiva no puede usarse en los ficheros .htaccess. Virtual host: Este contexto significa que la directiva puede aparecer dentro de las secciones <VirtualHost> de los ficheros de configuración del servidor. Directory: Una directiva marcada como válida en este contexto puede usarse en las secciones <Directory>, <Location>, y <Files> en los ficheros de configuración del servidor. .htaccess: Si una directiva es válida en este contexto, eso significa que puede aparecer en los ficheros .htaccess.
  • 27. Secciones de configuración Las directivas presentes en los ficheros de configuración pueden ser de aplicación para todo el servidor, o puede que su aplicación se limite solamente a determinados directorios, ficheros, hosts, o URLs, através secciones de configuración o ficheros .htaccess Tipos de Secciones de configuración de apache para el módulo básico de apache <Directory> Dos tipos de secciones de configuración: <DirectoryMatch> Evaluadas para cada petición que se recibe y <Files> aplican las directivas que se incluyen en las <FilesMatch> distintas secciones. <IfDefine> Evalúan solamente al inicio o reinicio del servidor. <IfModule> Si al iniciar el servidor las condiciones son las adecuadas, las directivas que incluyen estas <Location> secciones se aplicarán a todas las peticiones que <LocationMatch> se reciban. Es caso contrario, esas directivas que incluyen se ignoran completamente. <VirtualHost>
  • 28. Configuración de áreas Las secciones de configuración más frecuentes, son las de configuración de áreas del sistema de ficheros o del espacio web Área del sistema de ficheros: Árbol de directorios según el sistema operativo /etc/apache2 Área del espacio web: Contenido del servidor y que el cliente visualiza. De manera que la ruta /dir/ en el espacio web se corresponde con la ruta /var/www/dir/ Secciones relacionadas con el sistema de ficheros: <Directory> y <DirectoryMatch>: Las directivas incluidas en estas secciones, se aplican al directorio del sistema de ficheros especificado y a sus subdirectorios. El mismo resultado puede obtenerse usando ficheros .htaccess <Files> y <FilesMatch>: Las directivas incluidas en estas secciones, se aplican al fichero especificado. Secciones relacionadas con el sistema de ficheros: <Location> y <LocationMatch>: Las directivas incluidas en estas secciones cambian la configuración para el contenido del espacio web
  • 29. Directivas de configuración Veremos las más genéricas, para a continuación, explicar las más específicas en sus correspondientes contextos: DirectoryIndex: Fichero por defecto de index cuando se especifica un directorio ServerAdmin: E-mail devuelto junto cualquier mensaje de error que envía el servidor. DocumentRoot: Directorio raíz Options: Funcionalidades del servidor disponibles en un directorio en particular: None : ninguna funcionalidad disponible All: Todas las opciones excepto MultiViews. Este es el valor por defecto FollowSymLinks: El servidor seguirá los enlaces simbólicos en este directorio Includes: Permite el uso de Server-side includes Indexes: Si se produce una petición a una URL que se corresponde con un directorio, y no hay DirectoryIndex en ese directorio, entonces devolverá una lista con los contenidos del directorio. MultiViews: Multiples tipos de ficheros SymLinksIfOwnerMatch: El servidor seguirá los enlaces simbólicos en los que el fichero o directorio final pertenezca al mismo usuario que el enlace. ErrorLog: Ubicación del fichero en el que se almacenan los mensajes de error ErrorLog: Ubicación del fichero en el que se almacenan los mensajes de error LogLevel: Nivel de log a partir se registran los logs
  • 30. <Directory> y <DirectoryMatch> Se usan para englobar un grupo de directivas que se aplicarán solamente al directorio especificado y a sus subdirectorios <Directory /var/www> Options Indexes FollowSymLinks </Directory>  <Directory ~ quot;^/www/.*/[0­9]{3}quot;>  <DirectoryMatch quot;^/www/.*/[0­9]{3}quot;> Durectivas importantes de Directory: Order: Control de acceso a ficheros y directorios y el orden en el que se aplican las restriciones Opciones: Deny,Allow | Allow,Deny | Mutual-failure Allow & Deny: Controlan que host pueden acceder Con variables de entorno uso: Allow from all|host|env=env-variable [host|env=env-variable] All – Cualquiera SetEnvIf User­Agent .*Firefox.* nav Host – Especificado mediante: <Directory /docroot> Nombre de dominio (parcial): Allow from apache.org Order Deny,Allow IP completa: Allow from 192.168.1.104 192.168.1.205 Deny from all Allow from env=nav IP parcial: Allow from 192 </Directory> Máscara de red: Allow from 10.1.0.0/255.255.0.0 Ipv6: Allow from 2001:db8::a00:20ff:fea7:ccea
  • 31. <Files> y <Location> Las directivas incluidas en una sección <Files> se aplicarán a cualquier fichero cuyo nombre se especifique, sin tener en cuenta en que directorio se encuentra. <Files info.php> Order allow,deny Deny from all </Files> Para referirse a archivos que se encuentren en un determinado lugar del sistema de ficheros, se pueden combinar las secciones <Files> y <Directory> <Directory /var/www/> <Files info.php> Order allow,deny Deny from all </Files> </Directory> Una sección <Location> aplica las directivas <Location /phpmyadmin> Order Deny,Allow que contiene según la URL de que se trate Deny from all Allow from 127.0.0.1 </Location>
  • 32. <VirtualHost> Contiene las directivas que se aplican solo a un nombre de host específico o dirección IP El hosting virtual basado en IPs usa la dirección IP de la conexión para determinar qué host virtual es el que tiene que servir. Por lo tanto, necesitará tener diferentes direcciones IP para cada host. Si usa hosting virtual basado en nombres, el servidor atiende al nombre de host que especifica el cliente en las cabeceras de HTTP. Usando esta técnica, una sola dirección IP puede ser compartida por muchos sitios web diferentes. Uso: <VirtualHost addr[:port] [addr[:port]] ...> ... </VirtualHost> Addr puede ser: La dirección IP del host virtual Un nombre de dominio completo para la dirección IP del host virtual El carácter *, el cual puede usarse en combinación con NameVirtualHost * para que equivalga a todas las direcciones IP La cadena de caracteres _default_, que se usa solo con hosting virtual IP para detectar direcciones IP sin emparejar NameVirtualHost 10.0.0.116 <VirtualHost *>   ServerName xornadas.com <VirtualHost 10.0.0.116>   DocumentRoot /var/www/xornadas         ServerName xornadas.com   ErrorLog /var/log/apache2/xorn.log         DocumentRoot /var/www/xornadas   LogLevel warn </VirtualHost> </VirtualHost>
  • 33. Alias Nos permite el acceso a directorios que no están dentro del DocumentRoot Alias /phpmyadmin /usr/share/phpmyadmin Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Order allow,deny Allow from all </Directory>
  • 34. .htaccess Ficheros que controlan el acceso en el directorio en el que se encuentran y en todos sus subdirectorios. Podríamos decir que es un alias de <Directory> Order Allow,Deny Deny from all a d s a El uso de fichero .htacces pueden ser deshabilitados completamente con la directiva AllowOverride None <Directory path_htacces > AllowOverride None </Directory>
  • 35. Autentificación, Autorización y Control de Acceso La autentificación es cualquier proceso mediante el cual se verifica que alguien es quien dice ser. PROCESO Es necesario que las directivas tratadas a continuación, pertenezcan en el archivo de configuración principal de su servidor, típicamente en una sección del tipo <Directory> o en ficheros .htaccess (e caso de utilizar .htaccess tiene que existir la directiva AllowOverride AuthConfig) 1. Crear un archivo de contraseñas. Este fichero debería estar en un directorio no accesible por web. Para crearlo utilizamos la herramienta htpasswd htpasswd -c <archivo de contraseña> <usuario> 2. Configurar el servidor para que al acceder al directorio pida la autenticación <Directory /var/www/prueba> AllowOverrride AuthConfig <Directory /var/www/prueba> </Directory> AuthType Basic AuthName quot;Restricted Filesquot; AuthType Basic AuthUserFile /var/www/prueba AuthName quot;Restricted Filesquot; Require user vifito AuthUserFile /var/www/prueba AllowOverrride none Require user vifito </Directory> AllowOverrride AuthConfig
  • 36. Autentificación, Autorización y Control de Acceso De esta forma solo puede acceder un usuario. Para permitir el acceso a un grupo. Para ello se utiliza la directiva AuthGroupFile 1. Debemos crear un archivo de grupo que asocie nombres de grupo con una lista de usuarios perteneciente a ese grupo. El archivo debe ser como este:  GroupName: vifito xornadas 2. Para agregar un usuario a un archivo de contraseñas ya existente, escriba: htpasswd /usr/local/apache/passwd/passwords xornadas  3. modificar la sección <Directory> o el .htacces <Directory /var/www/prueba> <Directory /var/www/prueba> AuthType Basic AllowOverrride AuthConfig AuthName quot;Restricted Filesquot; </Directory> AuthUserFile /var/www/prueba/pswd AuthType Basic AuthGroupFile /var/www/prueba/group AuthName quot;Restricted Filesquot; Require group GroupName AuthUserFile /var/www/prueba/pswd </Directory> AuthGroupFile /var/www/prueba/group Require group GroupName
  • 37. Configuración de php El fichero de configuración de php se encuentra en: /etc/php5/apache2/php.ini Algunas variables de configuración register_globals=off max_execution_time = 30 max_input_time = 60 memory_limit = 8M error_reporting = E_ALL & ~E_NOTICE post_max_size = 8M
  • 38. Register Globals off La variable register_globals de configuración establece la forma en la que  accedemos a las variables pasadas por GET ó POST al servidor. Si register_globals=on podremos acceder a las variables de forma natural. Ej: http://xornadas.com?op=inscripción <?  $op;  ?> Si register_globals=off tendremos que acceder por la variable superglobal  específica. POST=> $_POST[“op”]; GET=> $_GET[“op”];
  • 39. CMS CMS (Content Management System): Sistema de gestión de  contenid que permite la creación y administración de contenidos  principalmente en páginas web. Consiste en una interfaz que controla una o varias bases de datos  donde se aloja el contenido del sitio. El sistema permite manejar  de manera independiente el contenido por una parte y el diseño  por otra. Así, es posible manejar el contenido y darle en cualquier  momento un diseño distinto al sitio sin tener que darle formato al  contenido de nuevo, además de permitir la fácil y controlada  publicación en el sitio a varios editores. Un ejemplo clásico es el  de editores que cargan el contenido al sistema y otro de nivel  superior que permite que estos contenidos sean visibles a todo  público.
  • 41. Bibliografía http://google.com http://www.mysql­hispano.org/ http://www.php.net http://es.wikipedia.org http://news.netcraft.com/ http://www.programacion.com/java/tutorial/servlets_jsp/7/ http://httpd.apache.org/docs/2.0/ http://www.lfcia.org/openprojects/camllets/doc/html/node16.html
  • 42. Licencia de la ponencia Este trabajo se encuentra bajo la licencia Creative Commons Attribution­ ShareAlike 2.5 License Autor original: Toni Martínez Carballo. Modificaciones: Tomás Vilariño Fidalgo.
  • 43. GRACIAS POR TU  ATENCIÓN ¿PREGUNTAS?