Joomla!

2,297 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,297
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Joomla!

  1. 1. Joomla! Óliver Centeno Álvarez Septiembre 2010Julio 2010 Joomla! 1
  2. 2. Contenidos I. Instalación de Joomla! II. Gestión y organización de contenidos III. Instalación de extensiones IV. Diseño y aspecto estético de los sitios Joomla! V. Menús de Navegación VI. Funciones Adicionales VII. SeguridadSeptiembre 2010 Joomla! 2
  3. 3. Contenidos I. Instalación de Joomla! II. Gestión y organización de contenidos III. Instalación de extensiones IV. Diseño y aspecto estético de los sitios Joomla! V. Menús de Navegación VI. Funciones Adicionales VII. SeguridadSeptiembre 2010 Joomla! 3
  4. 4. I. Instalación de Joomla!o Requisitos previos o MySQL 3.23 o superior (recomendado 4.1.22) o Apache 1.3 o superior (recomendado 2.0.61) o PHP 4.3 o superior (recomendado 4.4.7) o Con soporte para MySQL, XML y Zlib (php.ini)o No recomendado o PHP 4.3.9, 4.4.2 ni 5.0.4 ya que presentan bugs que interfieren la instalación de Joomla!o UBUNTU 10 cumple todos los requisitosSeptiembre 2010 Joomla! 4
  5. 5. I. Instalación de Joomla!o Descarga de Joomla! o http://www.joomla.org/download.htmlSeptiembre 2010 Joomla! 5
  6. 6. I. Instalación de Joomla!o Comprobar que Apache y PHP funcionan 1. Abrir http://localhost/ 2. Crear un fichero PHP en /var/www <?php phpinfo(); ?> 3. Extraer el contenido del Joomla en /var/www/joomla 4. Abrir http://localhost/joomlaSeptiembre 2010 Joomla! 6
  7. 7. I. Instalación de Joomla!Septiembre 2010 Joomla! 7
  8. 8. I. Instalación de Joomla!o Tips o Comprobar el acceso a MySQL mysql –u <usuario> -p o Crear una base de datos para Joomla! CREATE DATABASE joomla; o Crear un usuario para Joomla! GRANT ALL ON joomla.* TO <usuario> IDENTIFIED BY <password>; FLUSH PRIVILEGES; o Utilizar contraseñas seguras o Entre 6 y 10 caracteres o Mayúsculas, minúsculas, números y caracteres extraños o No legibleSeptiembre 2010 Joomla! 8
  9. 9. I. Instalación de Joomla!Septiembre 2010 Joomla! 9
  10. 10. I. Instalación de Joomla!Septiembre 2010 Joomla! 10
  11. 11. I. Instalación de Joomla!Septiembre 2010 Joomla! 11
  12. 12. I. Instalación de Joomla!Septiembre 2010 Joomla! 12
  13. 13. I. Instalación de Joomla!Septiembre 2010 Joomla! 13
  14. 14. I. Instalación de Joomla!Septiembre 2010 Joomla! 14
  15. 15. I. Instalación de Joomla!Septiembre 2010 Joomla! 15
  16. 16. I. Instalación de Joomla!Septiembre 2010 Joomla! 16
  17. 17. I. Instalación de Joomla! Crear el fichero configuration.php Eliminar el directorio installationSeptiembre 2010 Joomla! 17
  18. 18. I. Instalación de Joomla!Septiembre 2010 Joomla! 18
  19. 19. I. Instalación de Joomla! Otras alternativas  Manualmente crear el fichero configuration.php  Clase php con los campos de configuración correspondientes  Manualmente modificar el script SQL  En installation/sql/mysql/joomla.sql  Usar un panel de control (cPanel, LxAdmin,…)  Para instalar Joomla! en sitios de hostingSeptiembre 2010 Joomla! 19
  20. 20. Contenidos I. Instalación de Joomla! II. Gestión y organización de contenidos III. Instalación de extensiones IV. Diseño y aspecto estético de los sitios Joomla! V. Menús de Navegación VI. Funciones Adicionales VII. SeguridadSeptiembre 2010 Joomla! 20
  21. 21. II. Gestión y organización de contenidoso Página Webo CMS (Content Management System)Septiembre 2010 Joomla! 21
  22. 22. II. Gestión y organización de contenidoso Menú de administración o Accesible desde la página de inicio o O desde http://localhost/administrator o Usuario "admin" con el password creado o Permite o Añadir y gestionar artículos o Gestionar secciones, menús, página de inicio,… o Crear y gestionar cuentas de usuario o Manejar ficheros multimedia o …Septiembre 2010 Joomla! 22
  23. 23. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 23
  24. 24. II. Gestión y organización de contenidoso Organización de artículos o Modelo de "periódico" o Sección o Nivel superior de jerarquía de artículos o Por defecto: About, News, FAQs, Newsflashes o Categoría o Nivel inferior de jerarquía de artículos o About Joomla!: Project, CMS, Community o Contenido estático sin categorizar o No jerárquicos ni agrupables o Se muestra como una página separada ¿dónde? o No recomendado!!Septiembre 2010 Joomla! 24
  25. 25. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 25
  26. 26. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 26
  27. 27. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 27
  28. 28. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 28
  29. 29. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 29
  30. 30. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 30
  31. 31. II. Gestión y organización de contenidoso Gestión de artículos o Article Manager o Filtros por sección y categoría o Filtros por autor y estado de publicación o Filtro textual o Permite o Publicar y retirar artículos o Archivar y desarchivar o Editar artículos o Mover de una categoría a otra o Ordenar por cualquier campoSeptiembre 2010 Joomla! 31
  32. 32. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 32
  33. 33. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 33
  34. 34. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 34
  35. 35. II. Gestión y organización de contenidos Organización Paso A Paso 1. Eliminar las secciones, categorías y artículos de ejemplo  Todos los artículos de cada categoría antes que ésta  Todas las categorías de cada sección antes que ésta  Papelera de reciclaje (Trash Manager) 2. Crear Mis Secciones  Section Manager 3. Crear Mis Categorías  Category Manager 4. Crear Mis Artículos  Article ManagerSeptiembre 2010 Joomla! 35
  36. 36. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 36
  37. 37. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 37
  38. 38. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 38
  39. 39. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 39
  40. 40. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 40
  41. 41. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 41
  42. 42. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 42
  43. 43. II. Gestión y organización de contenidos Tips  No se pueden eliminar categorías si hay artículos en la papelera  Las categorías no se pueden recuperar (no hay papelera de categorías)  Una vez eliminadas las categorías se pueden eliminar las secciones  No es recomendable conservar artículos no publicados o artículos en la papelera  Mejor hacer copia de seguridad y eliminarlosSeptiembre 2010 Joomla! 43
  44. 44. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 44
  45. 45. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 45
  46. 46. II. Gestión y organización de contenidos Crear una sección  Título: de la sección  Alias: para que Joomla! la identifique  Sin espacios, todo minúscula, sin caracteres raros  Se usa como primer subdirectorio de las URLs  Sección: nombre largo para la sección  Publicada: indica si se debe publicar  Acceso: para indicar qué grupos de usuarios pueden ver la sección  Imagen: icono para la sección  Posición de la imagen: izqda, dcha o centrada  Detalles: descripción de la secciónSeptiembre 2010 Joomla! 46
  47. 47. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 47
  48. 48. II. Gestión y organización de contenidos Crear una categoría  Título: de la categoría  Alias: para que Joomla! la identifique  Sin espacios, todo minúscula, sin caracteres raros  Se usa como segundo subdirectorio de las URLs  http://???/alias-seccion/alias-categoria/alias-articulo.html  Publicada: indica si se debe publicar  Acceso: para indicar qué grupos de usuarios pueden ver la sección  Imagen: icono para la sección  Posición de la imagen: izqda, dcha o centrada  Detalles: descripción de la secciónSeptiembre 2010 Joomla! 48
  49. 49. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 49
  50. 50. II. Gestión y organización de contenidos Editores WYSIWYG  TinyMCE  Sencillo y con buenas propiedades de edición  Seleccionado por defecto  Máximo artículos de 200KB (~20.000 palabras)  XStandard Lite  Añade más capacidades  Preinstalado pero desactivado  Requiere un plugin especial en el cliente  JCE  http://www.joomlacontenteditor.net/  Instalable como extensión de Joomla!  Se configuran desde Global ConfigurationSeptiembre 2010 Joomla! 50
  51. 51. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 51
  52. 52. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 52
  53. 53. II. Gestión y organización de contenidos Instalación JCE 1. Descargar el paquete com_jce_1574_package.zip 2. Activar permisos de escritura en:  <joomla>/tmp  <joomla>/plugins  <joomla>/components  <joomla>/language  <joomla>/administrator/components  <joomla>/administrator/language 3. Ejecutar la instalación de extensiones Joomla!  Extensions > Install/Uninstall 4. Seleccionar el fichero ZIP descargado 5. Activar JCE como editorSeptiembre 2010 Joomla! 53
  54. 54. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 54
  55. 55. II. Gestión y organización de contenidosSeptiembre 2010 Joomla! 55
  56. 56. II. Gestión y organización de contenidos Creación de artículos  Título y alias  Sección y categoría  Publicado y página frontal (Front Page)  Autor (usuario) y alias (nombre visible)  Fechas de creación, publicación y cierreSeptiembre 2010 Joomla! 56
  57. 57. II. Gestión y organización de contenidos Parámetros avanzados  Modifican la configuración global de artículos  Mostrar título  Usar título como enlace  Mostrar texto introductorio  Mostrar nombre de la sección  Usar nombre de la sección como enlace  Mostrar botones para conversión a PDF, imprimir o enviar correo  …Septiembre 2010 Joomla! 57
  58. 58. II. Gestión y organización de contenidos Metainformación  Se utiliza para los buscadores  Permite indicar palabras clave, descripción, autor,…  Los spammers han abusado de las palabras clave por lo que los buscadores las usan poco  Es mejor poner una buena descripción con las palabras importantes en ellaSeptiembre 2010 Joomla! 58
  59. 59. II. Gestión y organización de contenidos El Editor JCE  Características de procesamiento de texto  Fuentes, estilos, listas, cut-copy-paste, párrafos, buscar/reemplazar, indentación, caracteres raros,…  Características Web  Emoticonos, enlaces, sub/superíndices, tablas,…Septiembre 2010 Joomla! 59
  60. 60. II. Gestión y organización de contenidos Elementos especiales  Editor de estilos CSS  Carácter de control de espacios  Citas, abreviaturas y acrónimos  Editor de código HTML  Corrector de ortografía  Paginación (Pagebreak)  Leer más… (Read more)  Eventos JavaScriptSeptiembre 2010 Joomla! 60
  61. 61. Contenidos I. Instalación de Joomla! II. Gestión y organización de contenidos III. Instalación de extensiones IV. Diseño y aspecto estético de los sitios Joomla! V. Menús de Navegación VI. Funciones Adicionales VII. SeguridadSeptiembre 2010 Joomla! 61
  62. 62. III.Instalación de extensioneso 5 tipos de extensiones o Plugins o Módulos o Componentes o Plantillas o Idiomaso Plugins (Menú Extensions > Plugin Manager) o Extensiones más avanzadas o Interceptan y pueden modificar los datos que intercambian el usuario y el servidor o Editores WYSIWYG por ej. o Se descargan e instalan, no se crean nuevosSeptiembre 2010 Joomla! 62
  63. 63. III.Instalación de extensioneso Módulos (Menú Extensions > Modules Manager) o Elementos que muestran información o Pueden aparecer muchos en cada página o Encuestas, login, banners por ej.o Componentes (Menú Components) o Más potentes que los módulos o Permiten ejecutar mini-aplicaciones o Generan una página completa, sólo existe 1 o Foro o Front Page por ej.Septiembre 2010 Joomla! 63
  64. 64. III.Instalación de extensioneso Repositorio de Extensiones. http://extensions.joomla.org/o Administración o Advanced Administrator Menu: Permite crear menús nuevos para organizar mejor todo o Duplicate Title Aliases: Muestra artículos con alias duplicados o Broken Image Notifier: Manda email al perder una imagen o JPosition: Permite administrar módulos por drag&dropo Backup o Akeeba: Backup basado en AJAX con planificador tipo CRONo Diagnóstico o JDiagnostic: Pruebas de conexión, configuración, LDAP, AD, SSO,…o Eventos o Event Table Edit: Tabla de eventos editable o JEvents: Componente de integración de calendarios de eventosSeptiembre 2010 Joomla! 64
  65. 65. III.Instalación de extensioneso Imágenes o Art Sexy Lightbox: Módulo para mostrar imágenes o JoomGallery: Componente para galería de imágenes o Phoca gallery: Componente para galería de imágeneso Ficheros o eXtplorer: Componente de gestión de ficheros o joomlaExplorer: Gestor de ficheros y FTP o Flash Uploader: Plugin para subir ficheros Flash 10 o Random Flash Module: Módulo para mostrar videos Flash o Attachments for articles: Permite añadir adjuntos a los artículoso Foros o Agora: Componente de foro o Kunena: Componente de foroSeptiembre 2010 Joomla! 65
  66. 66. III.Instalación de extensioneso Multimedia o JoomLine: Reproductor de MP3 o YouTube: Plugin para insertar el reproductor de YouTube o JPlayer: Plugin par reproducir videoso Relojes o Art Clock: Añade un reloj a mis páginas o World Time: Muestra la hora de cualquier zona del mundo o AH Countdown: Reloj de cuenta atráso SEF (Search Engine Friendly URLs) o Unicode slugs SEF: Admite URLs con acentos o com_error404: Componente para personalizar errores 404o Seguridad o RSFirewall!: Servicio de seguridad para Joomla! o kareebu Secure: Plugin de securización de acceso o Encryption configuration: Codificador RSA para contraseñasSeptiembre 2010 Joomla! 66
  67. 67. III.Instalación de extensioneso Templates o Template Selector: Permite cambiar las plantillas de la Web o Template Chooser: Permite cambiar el template en el front-endo Otros o GoogleMaps: Plugin para mostrar mapas de google o googleSearch: Componente con el buscador Google o OnlineBabyloon: Traductor multi-idioma o J2XML: Componente para importar y exportar a XML o Alfresco Integration: Permite acceder a servicios de Alfresco o TweetXT: Módulo para mostrar tweets de tweeter o myApi: API para integración con Facebook o Xmap: Generador de mapas del sitio WebSeptiembre 2010 Joomla! 67
  68. 68. Contenidos I. Instalación de Joomla! II. Gestión y organización de contenidos III. Instalación de extensiones IV. Diseño y aspecto estético de los sitios Joomla! V. Menús de Navegación VI. Funciones Adicionales VII. SeguridadSeptiembre 2010 Joomla! 68
  69. 69. IV. Diseño y aspecto estético de los sitios Joomla!o 6 gestores para el contenido de Joomla! o Section Manager o Category Manager o Front Page manager o Article Manager o Media Manager o Trash Managero ¿Y el aspecto? Template Manager o Permite seleccionar y editar platillas o HTML (PHP) y CSS o Permite modificar la página index o Permite modificar parámetros de las plantillasSeptiembre 2010 Joomla! 69
  70. 70. IV. Diseño y aspecto estético de los sitios Joomla!o Template Manager o Administrador de plantillas o Beez o rhuk_milkyway o Khepri o J960 o Rumi o … o No permite crear plantillas nuevas o Permite cambiar de plantilla o Mejor usar Template Chooser / SelectorSeptiembre 2010 Joomla! 70
  71. 71. IV. Diseño y aspecto estético de los sitios Joomla!o Plantillas o templateDetails.xml o Contiene la configuración de la plantilla (nombre, autor, archivos, posiciones, parámetros,…) o index.php o Página principal que muestra controles, módulos y texto o Código PHP o Se guardan en <joomla>/templates/<nombre de la plantilla> o Se instalan como otras extensiones o Hay plugins para los diseñadores habituales y Eclipse o Joomla! Template Toolbar genera código sin conocer PHPSeptiembre 2010 Joomla! 71
  72. 72. IV. Diseño y aspecto estético de los sitios Joomla!o index.php <html> <head> <!-- incluyo metainformación del sitio --> <jdoc:include type="head"/> </head> <body> <jdoc:include type="message" /> <div class="center" align="center"> Hola Joomla!! </div> <!-- habilito la depuración por si acaso --> <jdoc:include type="modules" name="debug" /> </body> </html>Septiembre 2010 Joomla! 72
  73. 73. IV. Diseño y aspecto estético de los sitios Joomla!o templateDetails.xml <?xml version="1.0" encoding="utf-8"?> <install version="1.5" type="template"> <name>Hola Joomla</name> <description>Plantilla sencilla</description> <files> <filename>index.php</filename> <filename>templateDetails.xml</filename> </files> </install>Septiembre 2010 Joomla! 73
  74. 74. IV. Diseño y aspecto estético de los sitios Joomla!o index.php con Módulos <div class="center" align="center">Hola Joomla!! </div> <!-- añado módulos predeterminados dentro de una tabla --> <table> <tr><td> <jdoc:include type="modules" name="user1" style="xhtml" /> </td></tr> <tr><td> <jdoc:include type="modules" name="user2" style="xhtml" /> </td></tr> </table> <!-- añado un componente por defecto --> <jdoc:include type="component" />Septiembre 2010 Joomla! 74
  75. 75. IV. Diseño y aspecto estético de los sitios Joomla! top breadcrumb user3 user4 user1 user2 left Componente por defecto com_content right footer syndicateSeptiembre 2010 Joomla! 75
  76. 76. IV. Diseño y aspecto estético de los sitios Joomla!Septiembre 2010 Joomla! 76
  77. 77. IV. Diseño y aspecto estético de los sitios Joomla!o index.php con condiciones <!-- si el módulo left contiene elementos --> <?php if($this->countModules(left)) : ?> <jdoc:include type="modules" name="left" style="xhtml" /> <!– y si no --> <?php else: ?> <div class="center" align="center">Error</div> <?php endif; ?>Septiembre 2010 Joomla! 77
  78. 78. IV. Diseño y aspecto estético de los sitios Joomla!o templateDetails.xml con CSS y miniatura <?xml version="1.0" encoding="utf-8"?> <install version="1.5" type="template"> <name>Hola Joomla</name> <description>Plantilla sencilla</description> <files> <filename>index.php</filename> <filename>templateDetails.xml</filename> <filename>template_thumbnail.png</filename> <filename>css/estilos.css</filename> <filename>images/imagen_del_css.png</filename> <filename>params.ini</filename> </files> </install>Septiembre 2010 Joomla! 78
  79. 79. IV. Diseño y aspecto estético de los sitios Joomla!o index.php con CSS <html> <head> <jdoc:include type="head"/> <link rel="stylesheet" type="text/css" href=" <?php echo $this->baseurl ?> /templates/holaTemplate/css/estilos.css" /> </head> <body> <jdoc:include type="message" /> <div class="pill" align="center"> Hola <?php echo $this->params->get(nombre); ?> </div> </body> </html>Septiembre 2010 Joomla! 79
  80. 80. IV. Diseño y aspecto estético de los sitios Joomla!o templateDetails.xml completo <?xml version="1.0" encoding="utf-8"?> <install version="1.5" type="template"> ... <!– creo posiciones personalizadas --> <positions> <position>arriba</position> <position>abajo</position> </positions> <!-- pongo valores configurables a mis parámetros --> <params> <param name="color" type="list" label="elija color" > <option value="rojo">Rojo</option> <option value="azul">Azul</option> </param> </params> </install>Septiembre 2010 Joomla! 80
  81. 81. IV. Diseño y aspecto estético de los sitios Joomla!o index.php con validación de documento <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<? php echo $this->language; ?>" lang="<?php echo $this->language; ?>" > <head> ... </head> <body> ... </body> </html>Septiembre 2010 Joomla! 81
  82. 82. Contenidos I. Instalación de Joomla! II. Gestión y organización de contenidos III. Instalación de extensiones IV. Diseño y aspecto estético de los sitios Joomla! V. Menús de Navegación VI. Funciones Adicionales VII. SeguridadSeptiembre 2010 Joomla! 82
  83. 83. V. Menús de Navegacióno Menu Manager o Permite crear y agrupar menús o Tipos de menú predefinidos o mainmenu o usermenu o topmenu o Cada menú contiene items de menú jerárquicos o Cada item tiene un padre (menú u otro item) o Cada item es de un tipo que indica su enlace o No conviene tener muchos niveles o Se configuran los menús como módulos o mod_mainmenuSeptiembre 2010 Joomla! 83
  84. 84. V. Menús de NavegaciónSeptiembre 2010 Joomla! 84
  85. 85. V. Menús de NavegaciónSeptiembre 2010 Joomla! 85
  86. 86. V. Menús de Navegacióno Module Manager o Permite crear y agrupar menús o Tipos de menú predefinidos o mainmenu o usermenu o topmenu o Cada menú contiene items de menú jerárquicos o Cada item tiene un padre (menú u otro item) o Cada item es de un tipo que indica su enlace o No conviene tener muchos niveles o Se configuran los menús como módulos o mod_mainmenuSeptiembre 2010 Joomla! 86
  87. 87. V. Menús de NavegaciónSeptiembre 2010 Joomla! 87
  88. 88. V. Menús de NavegaciónSeptiembre 2010 Joomla! 88
  89. 89. Contenidos I. Instalación de Joomla! II. Gestión y organización de contenidos III. Instalación de extensiones IV. Diseño y aspecto estético de los sitios Joomla! V. Menús de Navegación VI. Funciones Adicionales VII. SeguridadSeptiembre 2010 Joomla! 89
  90. 90. VI. Funciones Adicionaleso Global Configuration o Site o Permite configurar parámetros de la Web o Estado, nombre, editor, metainformación,… o System o Permite configurar el funcionamiento del servidor o Caché, ficheros, registro de usuarios, sesiones,… o Server o Permite configurar parámetros de Joomla! Server o Base de datos, FTP, SSL, mail, locale,…Septiembre 2010 Joomla! 90
  91. 91. VI. Funciones AdicionalesSeptiembre 2010 Joomla! 91
  92. 92. VI. Funciones Adicionaleso User Manager o Grupos: Front-end y Back-end (admin) o Registrado: Lectores de contenido privado o Autor: Pueden crear y modificar sus artículos o Editor: Puede editor artículos de otros o Publicador: Puede publicar/retirar contenidos o Gestor: Puede gestionar secciones y categorías o Administrador: Puede instalar extensiones, cambiar plantillas y cambiar permisos de usuarios o Super Administrador: rooto Bridges o Para autenticar contra otros sistemas o LDAP, AD, Gmail,…Septiembre 2010 Joomla! 92
  93. 93. VI. Funciones AdicionalesSeptiembre 2010 Joomla! 93
  94. 94. VI. Funciones Adicionaleso ACL o Access Control List o Joomla lo implementa complementado con ARO (Access Request Objects) o Muy complicado con tablas raras o Estructura en forma de árbol de los grupos o Recomendado: noixACL o Componente o Adaptadores o MóduloSeptiembre 2010 Joomla! 94
  95. 95. VI. Funciones AdicionalesSeptiembre 2010 Joomla! 95
  96. 96. VI. Funciones AdicionalesSeptiembre 2010 Joomla! 96
  97. 97. VI. Funciones Adicionaleso Community Builder o Reemplaza el módulo de login y la gestión de usuarios de Joomla (desactivarlos) o Permite añadir campos a la tabla de usuarios o Permite crear listas de los usuarios o Incluye sus propios plugins o Google Maps, IM, PonyGalley, seguimiento de sesiones,… o Incluye herramientas de sincronización y carga de datos o Extensiones o Compofiler: Componente principal o CBlogin: Módulo de registro y login o mod_comprofileronline: Módulo de usuarios conectadosSeptiembre 2010 Joomla! 97
  98. 98. VI. Funciones AdicionalesSeptiembre 2010 Joomla! 98
  99. 99. VI. Funciones Adicionaleso Community Builder o Gestión de usuarios o Gestión de campos o Gestión de listas (grupos de usuarios) o Gestión de plugins o Herramientas o Carga de datos de prueba o Sincronización de usuarios o Tests de integridad o ConfiguraciónSeptiembre 2010 Joomla! 99
  100. 100. VI. Funciones AdicionalesSeptiembre 2010 Joomla! 100
  101. 101. VI. Funciones Adicionaleso Creación de Módulos o Al igual que las plantillas se componen de o un fichero de código PHP o un XML de configuración o El fichero XML es similar al de la plantilla o El nombre no es relevante (mod_modulo.xml) o El fichero PHP es directamente código ejecutable o Clase JText::_(texto) permite que se intercepte el texto con un plugin de traducción o Clase JFactory permite crear objetos (patrón factoría) o Concatenación con punto .Septiembre 2010 Joomla! 101
  102. 102. VI. Funciones Adicionaleso mod_mimodulo.xml <?xml version="1.0" encoding="utf-8" ?> <install version="1.5" type="module"> <name>Módulo de prueba</name> <author>Yo mismo</author> <creationDate>Jul 7, 2010</creationDate> <version>1.5</version> <description>Un plugin de autenticación</description> <files> <filename module="MiModulo">mod_mimodulo.php</filename> </files> <params> <param name="campo" type="text" default="username"/> </params> </install>Septiembre 2010 Joomla! 102
  103. 103. VI. Funciones Adicionaleso mod_mimodulo.php <?php defined(_JEXEC) or die(Acceso restringido); $db =& JFactory::getDBO(); //accedo a la BBDD de Joomla! $query = SELECT * FROM #__users; $db->setQuery($query); echo "<table border=1>"; echo "<tr><td>Usuario</td><td>Password</td></tr>"; foreach($db->loadObjectList() as $row){ echo "<tr><td><a href=mailto:". $row->email . ">"; echo $row->username ."</a></td>"; echo "<td>". $row->password ."</td></tr>"; } echo "</table>"; ?>Septiembre 2010 Joomla! 103
  104. 104. VI. Funciones Adicionaleso Creación de Plugins o Clase PHP que extiende la clase JPlugin o Con un nombre especial o <tipo de plugin><nombre del plugin> o Para autenticación: plgAuthentication + MiPlugin o Debe tener un constructor o function plgAuthenticationMiPlugin(& $subject) o Y al menos un método según el tipo de plugin o Para autenticación: o function onAuthenticate($creds, $opts, &$resp) o Fichero XML de configuración o Similar al de templatesSeptiembre 2010 Joomla! 104
  105. 105. VI. Funciones Adicionaleso miplugin.xml <?xml version="1.0" encoding="utf-8" ?> <install version="1.5" type="plugin" group="authentication"> <name>Authentication - Myauth</name> <author>Yo mismo</author> <creationDate>Jul 7, 2010</creationDate> <version>1.5</version> <description>Un plugin de autenticación</description> <files> <filename plugin="miplugin">miplugin.php</filename> </files> </install>Septiembre 2010 Joomla! 105
  106. 106. VI. Funciones Adicionaleso miplugin.php <?php defined(_JEXEC) or die(); jimport(joomla.event.plugin); class plgAuthenticationMiPlugin{ function plgAuthenticationMiPlugin(& $subject){ parent::__construct($subject); } function onAuthenticate($creds, $opts, &$resp){ $db =& JFactory::getDBO(); $query = SELECT ... user=.$db->quote($creds[usuario]); $db->setQuery($query); $result = $db->loadResult(); if(/* comprobación del password correcta */){ $email = JUser::getInstance($result); $response->email = $email->email; $response->status = JAUTHENTICATE_STATUS_SUCCESS; }}} ?>Septiembre 2010 Joomla! 106
  107. 107. Contenidos I. Instalación de Joomla! II. Gestión y organización de contenidos III. Instalación de extensiones IV. Diseño y aspecto estético de los sitios Joomla! V. Menús de Navegación VI. Funciones Adicionales VII. SeguridadSeptiembre 2010 Joomla! 107
  108. 108. VII.Seguridado Premisas o Joomla! es fácil de instalar y administrar o Es fácil dejar puertas abiertas o Permisos sobre directorios o Carpeta installation o Fichero configuration.php o phpInfo() o Cuenta admin de Joomla!o Utilidades o PHP mod_security y mod_rewrite (en Apache) o SEF o Joomla! Tools SuiteSeptiembre 2010 Joomla! 108
  109. 109. VII.SeguridadSeptiembre 2010 Joomla! 109
  110. 110. VII.Seguridado Joomla! Tools Suite o Web que comprueba distintas configuraciones de seguridad o Copiar a <joomla>/jts o Existe un componente para Joomla! 1.0 o Modo “heredado” (legacy) para poder usarlo o Plugin “System – legacy” o Añade distintas auditorías del sistema o No repara los agujeros de seguridad o La compatibilidad hacia atrás puede afectar a otros módulos y componentesSeptiembre 2010 Joomla! 110
  111. 111. VII.SeguridadSeptiembre 2010 Joomla! 111
  112. 112. VII.SeguridadSeptiembre 2010 Joomla! 112
  113. 113. VII.Seguridado Joomla Authentication Tools (plugins LDAP) o Authentication – LDAP o Configuración básica contra el servidor o Authentication – Advanced LDAP o Habilita/deshabilita sincronización de usuarios o User – LDAP o Configuración de parámetros DN, CN, GID, UID,… o User Source – LDAP o Mapeo configurable de grupos usuarios LDAP-Joomla! o User Source – Session o Para usar con SSO y obtener datos del usuario de la sesión o JDiagnosticsSeptiembre 2010 Joomla! 113
  114. 114. VII.SeguridadSeptiembre 2010 Joomla! 114
  115. 115. VII.SeguridadSeptiembre 2010 Joomla! 115
  116. 116. VII.SeguridadSeptiembre 2010 Joomla! 116
  117. 117. VII.SeguridadSeptiembre 2010 Joomla! 117
  118. 118. VII.Seguridado Notas AD o En AD se usa el nombre de usuario como DN o Configuración recomendada: o host=ad.joomla.org o port=389 (o 3268 si aloja varios dominios) o use_ldapV3=1 o negotiate_tls=0 o no_referrals=0 o auth_method=search o base_dn=DC=joomla,DC=org o search_string=sAMAccountName=[search] o users_dn=CN=[username],CN=Users,DC=joomla,DC=org o username=admin o password=password o ldap_fullname=displayName o ldap_email=mail o ldap_uid=sAMAccountNameSeptiembre 2010 Joomla! 118
  119. 119. VII.Seguridado Notas AD o En Authentication – LDAP o Configurar los parámetros del plugin tal y como se indica en la página anterior o Válido para Joomla! 1.5Septiembre 2010 Joomla! 119
  120. 120. VII.Seguridado Notas OpenLDAP o Configuración de ejemplo: o host=horloge.pasamio.homelinux.net o port=389 (o 3268 si aloja varios dominios) o use_ldapV3=1 o negotiate_tls=0 o no_referrals=0 o auth_method=search o base_dn=dc=pasamio,dc=homelinux,dc=net o search_string=uid=[search] o users_dn=uid=[username],ou=users,dc=pasamio, dc=homelinux,dc=net o username= o password= o ldap_fullname=fullName o ldap_email=mail o ldap_uid=uidSeptiembre 2010 Joomla! 120
  121. 121. VII.Seguridado Notas OpenLDAP o En Authentication – LDAP o Configurar los parámetros del plugin tal y como se indica en la página anterior o Válido para Joomla! 1.5Septiembre 2010 Joomla! 121
  122. 122. VII.Seguridado Notas Mapeo de Grupos (User Source – LDAP) o Formato grupoLDAP;IDgrupoJoomla;TipoUsuarioJoomla;Prioridad o Un usuario miembro de 2 grupos se resuelve por prioridad o Tabla de grupos Joomla! por defectoSeptiembre 2010 Joomla! 122
  123. 123. Muchas Gracias Óliver Centeno ÁlvarezJulio 2010 Joomla! 123

×