manual cursogobernacion

48
Desarrollo de Sitios Web con Joomla! CMS Manual del Curso Versión 1.0 1

Upload: daniel-soto

Post on 13-Jun-2015

426 views

Category:

Entertainment & Humor


0 download

TRANSCRIPT

  • 1. Desarrollo de Sitios Web con Joomla! CMS Manual del CursoVersin 1.01

2. ndice de contenidoCopyright (c) 2011 ....................................................................................................................................4Historial de Cambios .................................................................................................................................5Introduccin ..............................................................................................................................................6Captulo I ...................................................................................................................................................6 Sistemas de Gestin de Contenido .......................................................................................................6 Por qu un Sistema de Gestin de Contenido? ............................................................................6. Tiempo............................................................................................................................................6. Seguridad........................................................................................................................................7 Es ms seguro desarrollar desde cero el Sitio Web o montarlo sobre un CMS? ................................7. Escalabilidad...................................................................................................................................8. Facilidad de uso, administracin y mantenimiento........................................................................8. Independencia del desarrollador.....................................................................................................8. Economa........................................................................................................................................9. Calidad. ..........................................................................................................................................9 Ok, ahora... Por qu Joomla!? .....................................................................................................9Otras ventajas: ...............................................................................................................................10Premios ..........................................................................................................................................11. Caractersticas de Joomla! ...........................................................................................................12Captulo II ...............................................................................................................................................13 Instalando Joomla! en un entorno local ..............................................................................................13 Requerimientos tcnicos de Joomla! ...........................................................................................13 Componentes Adicionales ...........................................................................................................13 Instalacin y configuracin del Servidor Web Apache . .............................................................13 Instalacin y Configuracin del Servidor de Bases de Datos MySQL. ......................................16Instalacin y Configuracin del Intrprete del Lenguaje PHP .....................................................16. Crea la base de datos ....................................................................................................................18. Instalacin de Joomla. .................................................................................................................21 Tour por el nuevo sitio web .........................................................................................................28Captulo III ..............................................................................................................................................29 Administracin de Joomla! ................................................................................................................29 Panel de Control ..........................................................................................................................29 Gestin del Men ........................................................................................................................32 Gestin del Contenido .................................................................................................................35 Gestin de Extensiones ...............................................................................................................39 Instalar extensiones ............................................................................................................................39 Gestin de mdulos ............................................................................................................................40 Gestin de Plugins ..............................................................................................................................41 Gestin de Plantillas ...........................................................................................................................42 Gestin de Idiomas .............................................................................................................................432 3. Captulo IV ..............................................................................................................................................44Optimizando el Sitio Web ...................................................................................................................44 Optimizacin para motores de bsqueda y URLs amigables (SEF/SEO). ....................................44 Respaldo y Restauracin. ..................................................................................................................45Seguridad Bsica. ...............................................................................................................................47Glosario de Trminos .........................................................................................................................48 3 4. Copyright (c) 2011Jess Israel Contreras Urquiola.Permiso para copiar, distribuir y/o modificar este documento bajo los trminos de la GNU Free Documentation License,Versin 1.2 o cualquier versin posterior publicada por la Free Software Foundation; sin secciones invariantes, sin textos deportada y sin textos de contraportada.Se incluye una copia de la licencia en la seccin titulada Licencia de Documentacin Libre GNU, sino puede escribir a laFree Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA o visite la pginahttp://www.gnu.org/licenses/fdl.html.4 5. Historial de Cambios .Mayo, 2011 Versin 1.0 Publicacin Inicial del Documento 5 6. IntroduccinHaber creado un proyecto por iniciativa de la comunidad, a raz de que la empresa que patrocinara unpopular Sistema de Gestin de Contenido, comenzara a tomar decisiones arbitrarias con respecto al futuro de laaplicacin y haber desarrollado mejoras sustanciales al software original, al punto de llegar a reescribirtotalmente el cdigo y hacerlo 100% libre, ha hecho, entre otras cosas que Joomla se haya convertido en uno delos CMS ms populares en la actualidad. Este taller pretende introducir al participante en los conocimientos bsicos necesarios para unaimplementacin exitosa de un sitio web basado en Joomla. As como tambin su posterior administracin ymantenimiento. El siguiente taller ha sido diseado con las mejores prcticas y entornos ms seguros, profesionales yeficientes. Los ejemplos han sido creados usando aplicaciones y sistemas operativos libres basados enGNU/Linux.Captulo ISistemas de Gestin de Contenido . Por qu un Sistema de Gestin de Contenido?En la actualidad desarrollar sitios web de calidad es una tarea que conlleva una importante cantidad detiempo, trabajo y dedicacin. Tambin depende mucho de las caractersticas y alcance del proyecto, pero esprobable que en la mayora de los casos, desarrollar el sitio web sobre una plataforma de gestin de contenidossea una buena decisin.A continuacin veremos algunas razones para usar Sistemas de Gestin de Contenidos en lugar dedesarrollar una solucin desde cero para nuestro proyecto Web. Pero no slo usar un CMS, es importante.Tambin lo es asegurarse de que sea software libre, que podamos modificarlo completamente a nuestrasnecesidades sin restricciones y que tengamos una importante comunidad detrs de la aplicacin.. Tiempo. En todos los proyectos de cualquier ndole juega siempre un papel preponderante el factor tiempo. Los proyectos informticos y ms especficamente la implementacin de un sitio web no escapan a ello. 6 7. Desarrollar un sitio web programando todo desde cero tomar una importante cantidad de tiempo, quebien pudiera invertirse en perfeccionar otros aspectos de alta relevancia en el proyecto, como la seguridad, porejemplo.Usar un sistema de gestin de contenido nos ahorrar una increble cantidad de tiempo, incluso tomandoen cuenta la curva de aprendizaje inicial para alguien que no conozca la herramienta.Adicionalmente, luego de su implementacin, seguir siendo nuestro aliado ahorrndonosconsiderablemente, tiempo en tareas de administracin, mantenimiento y actualizacin.. Seguridad. En este punto es interesante profundizar, ya que hay muchas opiniones encontradas al respecto. Vale lapena comenzar por la pregunta que probablemente en algn momento te has hecho:Es ms seguro desarrollar desde cero el Sitio Web o montarlo sobre un CMS?Algunas respuestas podran ser...Los CMS son ms inseguros porque el cdigo est disponible y cualquiera puede verlo y comenzar aatacarlo, un sitio web desarrollado desde cero por ti mismo es ms seguro, porque slo t conoces la lgica delprograma y otras. Pero lo cierto es que hoy en da, para la puesta en marcha de un sitio web es casi indiscutibleque basarlo en un CMS es mucho ms seguro. Las razones?a) Una gran cantidad de expertos a nivel mundial aportan horas de trabajo en torno a desarrollos colaborativos de sistemas de gestin de contenido, esto hace que la aplicacin est bajo la supervisin exhaustiva de todos los desarrolladores involucrados en el proyecto a nivel mundial y que los errores puedan detectarse y ser corregidos rpidamente. Muchas personas piensan y dicen: eso es muy inseguro, a cada rato sacan una actualizacin de seguridad. Todo lo contrario, precisamente, lo dicho anteriormente garantiza que los errores sean corregidos de forma temprana, esto es posible en el software libre. En este punto pudiera salir un distrado diciendo: Bueno, pero si es as, Windows tambin saca actualizaciones de seguridad a cada rato - S, el punto fundamental es que ni usted, ni yo conocemos, ni podemos conocer el cdigo fuente de ese sistema operativo, muy por el contrario, los sistemas de gestin de contenido en software libre son auditados por cualquier persona, en cualquier lugar del mundo, as mismo todas y cada una de las actualizaciones de seguridad, en el caso de esas actualizaciones del SO, no se nos permite conocer qu hace realmente esa actualizacin y eso aplica para TODO el software privativo.b) Al ser un sistema de gestin de contenidos en software libre, seguramente la herramienta ser bastante madura y estable, debido a los altos niveles de uso y al constante desarrollo por parte de la comunidad.7 8. Un sitio web hecho desde cero ser un cdigo slo conocido por una sola o pocas personas y necesitarade mucho tiempo o muchas desarrolladores para convertirse en una herramienta verstil, madura yestable.c) Es muy poco comn en las organizaciones un departamento exclusivamente dedicado a la seguridad de la informacin. Implementando un sitio web sobre un sistema libre de gestin de contenido, los desarrolladores de la herramienta harn este trabajo por usted, ya que la mayora tienen equipos de trabajo enfocados a trabajar constantemente en pruebas de seguridad, reportarlas y corregirlas. Adicionalmente estarn todo el resto de los usuarios que usan la misma herramienta y que al detectar y reportar una falla por alguno de ellos toda la comunidad se beneficia.. Escalabilidad.La mayora de los sistemas de gestin de contenido en software libre son sumamente escalables, estoquiere decir que usted puede fcilmente aumentar la funcionalidad de la herramienta y adaptarla a susnecesidades especficas, regularmente a travs de un sistema de plugins o extensiones que permiten que ustedpueda, precisamente, extender la funcionalidad original de la aplicacin e instalar otras pequeas aplicaciones,en algunos casos, modificarla hasta convertirla en una aplicacin para otro propsito.. Facilidad de uso, administracin y mantenimiento.Regularmente cuando un sitio web es desarrollado desde cero no implementa una interfaz paraadministrar y mantener el sitio, sino que la actualizacin del mismo es directamente sobre el cdigo fuente, loque se traduce en un mayor consumo de tiempo en dichas tareas. Por el contrario, contar con un sistema degestin de contenidos libres, nos brindar la oportunidad de administrar, mantener y actualizar el sitio web deuna forma fcil, rpida y transparente para el usuario, es decir, no ser necesario tener conocimientos deprogramacin para ejecutar estas acciones.. Independencia del desarrollador. Cuando se implementa un sitio web desarrollado desde cero, regularmente es por iniciativa de una (01)persona, en algunos casos dos (02); luego de invertir una inmensa cantidad de tiempo en el proyecto y colocarlofinalmente en produccin, existe la probabilidad, a veces muy frecuente, de que la persona que desarroll el sitioweb, por una u otra razn, deje la empresa o institucin y casi el 100% de los casos nunca se deja un manual ocentro de conocimiento respecto a la implementacin, desarrollo y mantenimiento del sitio. Por lo tanto la lgicadel desarrollo slo la conoca la persona que ya no est y toda la empresa o institucin queda dependiente de esanica persona y se encuentra atada y sin poder darle continuidad a la cara digital de la organizacin. Al final decuentas entra otra persona a tomar el cargo y al tener presente la misin de darle mantenimiento a un sitio webcuya lgica y cdigo no son de l, tendra que optar por dos soluciones, bsicamente: invertir una importantecantidad de tiempo en entender la lgica de la persona que se fue y poder seguir desarrollando y actualizandoese sistema o crear un nuevo desarrollo. Ambas son contraproducentes para la organizacin.8 9. . Economa.Con bastante regularidad las aplicaciones de Software Libre, adems de otorgar libertad a los usuariosson tambin gratuitos, esto no es necesario que as sea, pero las empresas u organizaciones que estn detrs dedichos productos prefieren basar su modelo de negocios en alternativas ms ticas e igual de productivas, comopor ejemplo, vender consultora, soporte, desarrollo, servicios, etc.Al elegir un CMS en Software Libre usted no slo estar ahorrando tiempo de implementacin en suproyecto web, sino tambin la importante cantidad de dinero que implicara adquirir una prometedora aplicacinde software en una caja y un disco muy llamativo o bien el costo de muchas horas de desarrollo si se decide poruna solucin desde cero.. Calidad.Aqu entran todas las caractersticas de calidad propias de un modelo de desarrollo colaborativo, tpicoen el Software Libre. Como ya sabemos, un proyecto de desarrollo libre en forma colaborativa est integrado, amenudo, por un equipo multidisciplinario de profesionales voluntarios impulsados por un objetivo comn, estohace que el software sea de gran calidad y que se discutan entre todos las mejores prcticas y el mejor destino dela aplicacin. Es decir, las decisiones o enfoques no quedan en manos de unos pocos pertenecientes a unaorganizacin privada, sino que son discutidas entre todo el equipo de desarrollo. Esto, unido a todo loanteriormente mencionado hace que un Sistema de Administracin de Contenido Libre sea un producto de grancalidad. Bsicamente, como ya dijimos, las ventajas propias del desarrollo de Software Libre en formacolaborativa. Ok, ahora... Por qu Joomla!?Ya vimos las ventajas de usar un sistema de gestin de contenido (cms) libre, en lugar de implementar unsitio web desde cero. Pero an queda una importante discusin: Cul sistema de gestin de contenido puedousar?Joomla es un Sistema de Gestin de Contenido de Software Libre, escrito en PHP bajo licencia GPL.Desde sus inicios en Agosto del 2005 hasta Enero del 2008 Joomla fue un fork [1] de Mambo que incluasustanciales mejoras en el software y con la visin de ser un proyecto 100% libre.__________________1 Es un trmino en ingls para describir una bifurcacin de un proyecto de software, que regularmente resulta en una copia mejorada de laaplicacin original, bajo un nuevo nombre y equipo de desarrollo.9 10. Hoy en da Joomla se ha separado totalmente del cdigo de Mambo y se ha reescrito la aplicacintotalmente, incluyendo paradigmas de orientacin a objetos con PHP5, Ajax, abstraccin de base de datos,soporte a LDAP, cach mejorado, patrn MVC para el desarrollo de aplicaciones de terceros, soporte a XML-RPC y mucho ms, convirtindose en el actual Joomla 1.5. x. Actualmente se encuentra en desarrollo la versinde Joomla 1.6, que desde ya puede considerarse un gran salto dentro del proyecto, al implementar mejorassustanciales en el cdigo, hacindolo ms estable, funcional, liviano y eficiente.Joomla, es uno de los ms populares y prestigiosos proyectos de Software Libre del mundo, en el reade los Sistemas de gestin de Contenidos, est licenciado bajo la GNU/GPL y es soportado por la organizacinOpenSourceMatters y un extenso y nutrido equipo de desarrolladores a lo largo del planeta que trabajanconstantemente en la evolucin del cdigo.Joomla ha sido implementado en grandes e importantes empresas, muchos centros de educacin delmundo y en una extensa cantidad de entes gubernamentales, en Venezuela, por ejemplo, representa la principalplataforma de contenidos de los sitios web del estado. Podemos mencionar por ejemplo: Fundacin del Estado para el Sistema Nacional de las Orquestas Nacionales Juveniles e Infantiles de Venezuela -Fesnojiv. (http://www.fesnojiv.gob.ve) Centro Nacional de Tecnologas de Informacin CNTI (http://www.cnti.gob.ve) Sistema Nacional de Gestin de Incidentes Telemticos (http://www.vencert.gob.ve) Superintendencia Nacional de Servicios de Certificacin Electrnica (http://www.suscerte.gob.ve) Ministerio del Poder Popular para las Industrias Bsicas y Minera (http://www.mibam.gob.ve) Ministerio del Poder Popular para el Trabajo y Seguridad Social (http://www.mintra.gov.ve/)Joomla es 100% escalable, es por eso que hoy en da existen tantos proyectos relacionados y miles decomponentes y mdulos.Otras ventajas: Est en espaol. Posee una extensa documentacin. Es seguro. Joomla apunta a ser un CMS universal. Traducido a ms de 128 idiomas. Ms de 100 desarrolladores a lo largo del planeta. Joomla est valorado en USD$ 2.194.486. Ms de 5.000 extensiones listas para usar. Segn mtricas de Joomla se necesitaran aproximadamente 18 Meses y 11 desarrolladores para producirun CMS de tal calidad. Joomla es tambin un Framework. Joomla ha sido descargado ms de 10 millones de veces desde su lanzamiento. 10 11. PremiosJoomla ha sido galardonado varias veces por varias organizaciones en distintas categoras.2009Open Source CMS Award - Best Open Source PHP Content Management System (3er lugar)Open Source CMS Award - Hall Of Fame Award (2do lugar)2008Open Source CMS Award - Overall Winner (2do lugar)Open Source CMS Award - Best Open Source PHP Content Management System (2do lugar)2007Open Source CMS Award - Overall Winner (2do lugar)Open Source CMS Award - Best Open Source PHP Content Management System (1er lugar)2006Open Source CMS Award - Overall Winner (1er lugar)Winner - Best Linux / Open Source Project 2006 at UK LinuxWorld2005Winner - Best Linux / Open Source Project 2005 at UK LinuxWorld 11 12. . Caractersticas de Joomla! Es Software Libre. Posee una extensa comunidad de usuarios y desarrolladores. Simple Sistema de trabajo. Sencillo sistema de publicacin de contenidos. Administrador de archivos. Sindicacin de contenidos. Papelera. URLs amigables (SEF). Administracin de banners. Administracin de idiomas. Sistema de cach. Simple instalacin de componentes adicionales. Poderoso sistema de plantillas (XHTML+CSS+PHP). Jerarqua de usuarios. Estadsticas de visitas. Editor WYSIWYG para los contenidos. Sistema de encuestas. Sistema de valoracin de contenidos. Categorizacin del contenido. Compatibilidad hacia atrs con versiones anteriores de Joomla. Registro de usuarios. Gestin de correos. Sistema de bsquedas. Gestin de Menues. Interfaz grfica para opciones generales de configuracin. Uso de estndares. Mucho ms... 12 13. Captulo IIInstalando Joomla! en un entorno local Requerimientos tcnicos de Joomla!Para tener un entorno adecuado para la instalacin de Joomla se deben tener tres aplicacionesfundamentales, un servidor web, un servidor de base de datos y un intrprete del lenguaje en el que estdesarrollado Joomla, en este caso PHP.Aunque hay personas que han logrado correr Joomla en un servidor web IIS, no es recomendable, por elcontrario debemos garantizar el ambiente nativo ideal para el CMS, que es el siguiente:Servidor Web Apache (versin 2 en adelante)Servidor de Base de Datos MySQL (versin 5 en adelante)Intrprete del lenguaje PHP (versin 5 en adelante)Debajo de todas estas aplicaciones, evidentemente debe existir un sistema operativo, idealmente Joomlacorre en cualquier sistema basado en GNU/Linux, aunque tambin ha sido probado en sistemas BSD, Mac OSXy Windows.Debes asegurarte que PHP est compilado con soporte para MySQL y Zlib para poder ejecutar Joomlade forma adecuada. El php que viene empaquetado en la mayora de las distribuciones de GNU/Linux ya vienencon este soporte. Componentes AdicionalesSi desea tener soporte a SEF [2] URLs o URLs amigables a motores de bsqueda, usted necesitarmod_rewrite habilitado en el servidor web y la habilidad de usar configuraciones distribuidas, para la activacinde archivos locales .htaccess. Instalacin y configuracin del Servidor Web Apache .Para Instalar apache como servidor web desde GNU/Linux solo debemos abrir una consola, logearnos comoroot.________________2 Del ingls Search Engine Friendly. 13 14. Para abrir la consola vamos al men aplicaciones --> Accesorios --> Terminal;esto abrir una terminal o consola:usuario@nombre del equipo:~$14 15. desde all teclearemos el siguiente comando para logearnos como root o administrador del equipo.$sudo suo$su -sesto dependiendo de la distribucin de GNU/Linux que estemos utilizando, este comando nos pedir quetecleemos la contrasea de administrador.Cuando te logeas como root o administrador del sistema el prompt cambia de $ a # a dems de la direccin dedirectorio.usuariot@nombre del equipo:/home/usuario#Para instalar apache tecleamos en la consola lo siguiente:#aptitude install apache215 16. El sistema retendr, sugerir e instalar los paquetes que sean necesarios segn su caso. Al final, har lapregunta: Quiere continuar? [Y/n/?]Al responder Y se inicia el proceso de descarga, instalacin y configuracin de las aplicaciones. Instalacin y Configuracin del Servidor de Bases de Datos MySQL.Para instalar un servidor de bases de datos MySQL en nuestro equipo local debemos instalar dos cosas: elservidor y el cliente. En el caso de que no fuese un entorno local en el que trabajaremos, entonces probablementela aplicacin servidor estara en una mquina remota y nosotros slo tendramos que instalar la aplicacin clientepara conectarnos. En la mayora de las distribuciones de GNU/Linux existe un metapaquete [3] llamado mysql-server ymysql-client para instalar las ltimas versiones estables del servidor y el cliente de MySQL respectivamente. #aptitude install mysql-server mysql-clientIgualmente, despus de anunciarle todas las acciones que ejecutar le preguntar: Quiere continuar? [Y/n/?]Finalmente descargar, instalar y configurar todo lo necesario para hacer funcionar lo que usted solicit. Probablemente, en algn momento de la instalacin usted deber asignar una contrasea para elSuperusuario de MySQL (root), recomendamos altamente colocar una buena contrasea.Instalacin y Configuracin del Intrprete del Lenguaje PHP #aptitude install php5 Al igual que en los procesos de instalacin anteriores, aptitude se encargar de hacer todo el trabajo queusted le solicit. Al finalizar ya debera tener un entorno completamente listo para trabajar. Por favor vaya a http://localhost en su navegador y verifique que el servidor web apache estfuncionando. Regularmente muestra el mensaje It Works.______3 Contiene o hace un llamado a otros paquetes. 16 17. Descarga Joomla! Es posible obtener la ltima versin de Joomla a travs de su sitio web oficial: http://www.joomla.orgDesde all descargar el archivo comprimido y guardarlo. Luego deberamos crear un directorio paranuestra aplicacin Joomla en el directorio raz de apache (document root) , regularmente /var/www/, para estoser necesario tener privilegios de superusuario [4], lo hacemos de esta manera: mkdir /var/www/joomla Donde joomla es el nuevo directorio que estamos creando para nuestra aplicacin. Luego copiamos elcomprimido a ese lugar. cp joomla.tar.gz /var/www/joomla/ Descomprimir el archivo en el mismo directorio. tar -zxvf joomla.tar.gz[5] Luego debemos asegurarnos de que el propietario y grupo del directorio de nuestra aplicacin sea el queapache designa para tal funcin, regularmente: www-data, entonces hacemos: chown -R www-data:www-data /var/www/joomla/Donde chown es el comando para cambiar el propietario y grupo de un directorio o archivo, -R elparmetro para recursividad, www- data:www-data, propietario y grupo respectivamente y /var/www/joomla eldirectorio al que queremos aplicar los cambios.__________4 En distribuciones como ubuntu y derivados se usa sudo antes del comando que necesitamos ejecutar con privilegios, en Debian y otrosnos autenticamos como root antes de ejecutar el comando.5 En sistemas GNU/Linux tambin se puede usar unp que es capaz de descomprimir cualquier cualquier formato de una forma ms amigable. 17 18. . Crea la base de datos .Para crear la base de datos de Joomla en nuestro servidor de BD MySQL debemos seguir los siguientespasos en el terminal:Para conectarse al servidor, generalmente se le proporcionar a mysql un nombre de usuario y unacontrasea. Si el servidor se est ejecutando en un ordenador distinto a donde se est estableciendo la conexin,tambin se deber especificar el nombre del host remoto. Una vez indicados los parmetros apropiados, deberapoder conectarse des de cualquier herramienta o bien sea desde la consola en este curso vamos a utilizar las dosmaneras:Por linea de comandos ( Consola) es de la siguiente manera:shell> mysql -h host -u user -pEnter password: ******** host y user representan el nombre del ordenador donde se est ejecutando el servidor de bases de datosMySQL y el nombre de usuario de la cuenta que se usar para conectarse. Reemplcelos por los valoresapropiados para su caso. Los asteriscos (********) representan la contrasea, debe ingresarse cuando mysqlmuestra Enter password:.Si todo funciona bien, se ver una informacin de ingreso seguida por el prompt mysql>:shell> mysql -h host -u user -pEnter password: ********Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 25338 to server version: 5.0.9-beta-standardType help; or h for help. Type c to clear the buffer.mysql>El prompt anuncia que mysql est listo para procesar comandos.Una vez autenticado en el servidor MySQL pasaremos a crear la base de datos:CREATE DATABASE nombre_base_datos;Indicando que todo est bien el prompt de mysql devolver algo como lo siguiente:Query OK, 1 row affected (0.07 sec) 18 19. Ahora vamos a crear un usuario especial nicamente para esa base de datos, con todos los privilegiossobre ella. Tip: Un administrador de BD serio jams usara el usuario root para una BD, un desarrollador seriotampoco. mysql> GRANT ALL ON unabd.* to usuario IDENTIFIED BY miclave; Query OK, 0 rows affected (0.14 sec) Donde: unabd es el nombre de la base de datos. usuario@localhost es el usuario que ests creando para manejar la base de datos. miclave es la contrasea requerida para el usuario en dicha base de datos. Por ltimo es recomendable recargar las tablas de permisos de MySQL con el comando: flush privileges; quit Para salir y listo. Con estos datos ya podemos comenzar con la instalacin de nuestro sitio web en Joomla.Tip: Para todas estas tareas de administracin de la BD usted puede usar una variedad de herramientasgrficas, como por ejemplo phpmydamin, mysql-query-browser, entre otras. Nosotros recomendamos trabajardesde el terminal y aprender bien las sentencias SQL. 19 20. Con herramienta Visual usando phpmyadmin. Vamos al navegador web o browser y tecleamos la direccin http://localhost/phpmyadmin ohttp://127.0.0.1/phpmyadminDespus tecleamos el usuario y la contrasea de esta forma accedemos a nuestro manejador debase de datos, para crear la base de datos y el usuario de la base de datos como lo hicistes desde la shell, pero deuna forma visual. 20 21. . Instalacin de Joomla.Abrimos un navegador web y nos vamos a http://localhost/joomla, veremos el instalador web de Joomla. Grfico: Instalador de Joomla Seleccione su idiomaEn esta pantalla slo seleccionamos nuestro idioma y hacemos clic en siguiente.En esta pantalla se verifica que todo est en orden para poder continuar con la instalacin correctamente,de acuerdo a todas los requerimientos necesarios para Joomla.21 22. Grfico: Instalador de Joomla Comprobacin previa22 23. En la siguiente pantalla podemos observar que Joomla est distribuido bajo la Licencia Pblica General(GPL). Grfico: Instalador de Joomla Licencia 23 24. Grfico: Instalador de Joomla Configuracin de la base de datosEn este punto colocaremos la informacin de la base de datos que creamos anteriormente.24 25. Grfico: Instalador de Joomla Configuracin de FTPEn esta pantalla tenemos la opcin de configurar el servicio de FTP para la gestin de archivos ennuestro Joomla.25 26. Grfico: Instalador de Joomla Configuracin principal En esta pantalla debemos suministrar el ttulo del Sitio Web, que ser utilizado en la barra superior delnavegador cuando visualicemos nuestro sitio, el correo electrnico del administrador, la contrasea y finalmenteinstalar datos de ejemplo, si lo deseamos. Tip: Es importante asegurarse de colocar una direccin de correo vlida, ya que el sistema la usar paraenviarnos informacin y/o recuperar la contrasea. Tip: Recomendamos altamente usar una contrasea adecuada. Por favor tome en cuenta las siguientessugerencias: Usar caracteres alfanumricos. Usar maysculas y minsculas.26 27. NO usar password, admin, 123456, joomla u otras contraseas obvias. NO usar el nombre del sitio web, autor o palabras relacionadas fcilmente deducibles.Grfico: Instalador de Joomla Finalizacin Felicidades!Has llegado exitosamente al final de la instalacin. S, eso es todo, usted puede ahora disfrutar del nuevositio web que ha creado.Pero antes, por favor elimine el directorio que contiene los archivos de instalacin de Joomla. En nuestroterminal de GNU/Linux podemos hacer lo siguiente con permisos de superusuario.rm -rf /var/www/joomla/installation/ Ahora s, por favor ingresa a http://localhost/joomla/ para ver el sitio web o visitahttp://localhost/joomla/administrator para conocer la interfaz de administracin de Joomla, usando el usuario27 28. admin y la contrasea que acabas de configurar. Tour por el nuevo sitio web .Grfico: Nuevo sitio web en Joomla.En este momento puedes navegar y disfrutar de tu nuevo sitio web.Algunas caractersticas visibles a simple vista son: Men superior y men lateral. Mdulo de noticias. Funciones para enviar a un amigo, guardar PDF e imprimir. Encuestas. 28 29. Formulario de inicio de sesin. Campo de bsqueda. Otros.Captulo IIIAdministracin de Joomla! Panel de Control Para administrar nuestro nuevo sitio web Joomla debemos ir al directorio /administrator, el urlcompleto en este caso sera: http://localhost/joomla/administrator y a continuacin veremos la interfaz deacceso.29 30. Grfico: Interfaz de acceso al panel de administracinLuego de ingresar nuestros datos de acceso (usuario y contrasea creados durante la instalacin)podremos entrar satisfactoriamente al panel. 30 31. Grfico: Pantalla inicial de la interfaz de administracinAl entrar veremos la barra superior del men, que contiene todos los enlaces a las funcionalidades disponibles ya mano derecha cuatro elementos:1. Un enlace para previsualizar el sitio (front-end).2. Un indicador de mensajes recibidos.3. Un indicador de usuarios conectados.4. Un enlace para cerrar la sesin.Grfico: Barra de men Ms abajo tenemos un grupo de iconos que representan atajos rpidos a los enlaces del men ms usadosy en la parte derecha podemos ver informacin estadstica de inters sobre nuestro sitio.31 32. Grfico: Iconos de acceso rpido y mdulo de informacin Gestin del Men .Para administrar los distintos mens debemos ir al Gestor de Mens, bien sea desde el icono rpido enel Panel de Control o desde la barra de men superior.32 33. Grfico: Gestor de MensDesde esta pantalla veremos los distintos tipos de men que tenemos creados, podremos modificarlos,eliminarlos o crear nuevos. Tip: cada vez que se crea un nuevo men, se crea un mdulo del tipo mod_mainmenucon el mismonombre, luego se podrn modificar algunos parmetros del mdulo en el men de Gestor de mdulos.Para administrar los enlaces de un men determinado, por ejemplo Men Principal podemos hacer clicen tems del men en esta misma pantalla o ir por el enlace Mens y luego Men principal. Ntese que este men tiene un asterisco al lado del nombre, esto indica que es el men que actualmentetiene el enlace de inicio predeterminado, asociado a la pgina principal.Luego podemos ver la barra de herramientas disponible y la lista de enlaces de este men.El icono Mens dirige al Gestor de Mens que vimos antes.El icono Predeterminado establece el enlace de inicio asociado a la pgina principal de la web, comoya dijimos antes.El icono Publicar, como su nombre lo indica, publica el enlace seleccionado.El icono Despublicar, como su nombre lo indica, despublica el enlace seleccionado.Tip: Estas ltimas dos acciones tambin se pueden realizar pulsando directamente sobre el icono ubicadoen la columna publicado de la lista de enlaces. El tilde verde es publicado y la equis roja despublicado.El icono Mover desplaza el enlace seleccionado hasta otro men.El icono Copiar copia el enlace seleccionado a otro men. A diferencia de mover, esta accin deja unacopia en el men actual.El icono Papelera es usado para borrar el enlace. Este elemento ir a la papelera, desde donde luegopodr ser recuperado.El icono Editar permite modificar el enlace seleccionado.33 34. El icono Nuevo permite crear un enlace. El icono Ayuda, presente siempre, muestra contenido de ayuda de acuerdo al contexto. En el listado de enlaces podemos ver varios campos, veremos su descripcin:# Es una numeracin simple, permite conocer el nmero de enlaces.Casilla de verificacin Permite seleccionar uno o varios enlaces para ejecutar alguna de las opcionesdisponibles.tem del Men Representa el ttulo o nombre del enlace.PredeterminadoMuestra una estrella en el enlace establecido como el inicio del sitio web.Ordenar Permite cambiar el orden en que aparecen los enlaces del men.Puede manipularse con las flechas verdes hacia arriba y hacia abajo o colocandoel numero en la casilla y luego pulsando el icono de guardar.AccesoMuestra el acceso que tienen los usuarios a ese enlace del men. Si est Pblicotodos lo podrn ver, si est Registrado, slo los usuarios registrados podrn verel enlace.TipoMuestra el tipo de enlace. Por ejemplo si es un enlace a un artculo, si es unenlace una seccin o a un componente.ItemIDRepresenta el nmero nico de identificacin para ese elemento. Es usado por elsistema en su manejo interno.Para crear un nuevo enlace en el men, como ya hemos visto, debemos hacer clic en el icono Nuevo, acontinuacin se nos mostrar una lista de los posibles tipos de enlace que tenemos para crear. Podran ser hacia un artculo, una seccin, una categora o algunos de los componentes instalados.Al elegir una opcin, veremos una segunda pantalla con otro nivel de detalle donde podremos elegir elmodo de presentacin del enlace. Si detenemos el cursor en las opciones disponibles veremos un texto de ayuda. Finalmente debemos colocar el Ttulo del enlace y un Alias, ste ltimo es usado cuando tenemos URLsamigables (SEF)[6]. La mayora de las veces ser necesario con estos dos campos, adems de Parmetros Bsico que aparecen a mano derecha. Todos los detalles configurados en el enlace pueden modificarse en cualquier momento._______6 SEF, son las siglas de Search Engine Friendly, en castellano: amigable a motores de bsqueda.34 35. Gestin del Contenido . Para administrar el contenido de nuestro sitio web debemos usar el Gestor de artculos, accesibledesde el enlace de men Contenido en la barra superior o desde el icono con el mismo nombre en el panel decontrol inicial. Veremos una pantalla como la siguiente.Grfico: Gestor de artculos Se mostrar la barra de herramientas que hemos explicado antes y adicionalmente las siguientesfunciones:DesarchivarPermite eliminar el estado archivado a un artculo de contenido.ArchivoPermite guardar un artculo de contenido en el archivo. Los artculos archivados no podrn ser usados ni editados a menos que se desarchiven primero.Preferencias Este botn nos muestra todas las preferencias que podemos modificar referente a los artculos, cada tem muestra una ayuda contextual al detener el cursos sobre l. 35 36. El listado de artculos de contenido tiene varias columnas, a continuacin veremos su descripcin.#Es una numeracin simple, permite conocer el nmero de artculos de contenido.Casilla de verificacinPermite seleccionar uno o varios artculos de contenido para ejecutar alguna de las opciones disponibles.Ttulo Representa el ttulo del artculo de contenido.PublicadoMuestra el estatus actual del artculo de contenido. Si est publicado mostrar un icono de revisin verde, si est despublicado mostrar una equis roja. Tip: Se pueden publicar y despublicar artculos fcilmente pulsando este icono, sin necesidad de abrir el contenido.Pgina Principal Muestra el icono x si el artculo est en la pgina principal y el icono y si no lo est.OrdenarPermite cambiar el orden en que aparecen los artculos de contenido. Puede manipularse con las flechas verdes hacia arriba y hacia abajo o colocando el numero en la casilla y luego pulsando el icono de guardar.Acceso Muestra el acceso que tienen los usuarios a ese artculo de contenido. Si est Pblico todos lo podrn ver, si est Registrado, slo los usuarios registrados podrn ver el contenido.SeccinMuestra la seccin a la que pertenece al artculo.CategoraMuestra la categora a la que pertenece el artculo.AutorMuestra el autor o creador del artculo.FechaMuestra la fecha de creacin del artculo.ImpresionesRepresenta el nmero de veces que ha sido visto el artculo de contenido.ID Representa el nmero nico de identificacin para ese elemento. Es usado por el sistema en su manejo interno. Para editar un artculo de contenido hacemos clic encima del ttulo que queremos y acontinuacin se nos abrir el editor de contenido.36 37. Si lo que queremos es crear un nuevo artculo de contenido, entonces haremos clic en el iconoNuevo en el Gestor de Artculos, igualmente se nos abrir un editor de contenido. Grfico: Editar artculo A continuacin describimos los campos ms relevantes en la creacin/edicin de artculos decontenido.Ttulo Representa el ttulo del artculo y ser el que aparezca publicado en el sitio web.AliasEs usado cuando tenemos URLs amigables en nuestro sitio web (SEF). Regularmente se usa el mismo texto del ttulo.SeccinEstablece la seccin bajo la cual se publicar el artculo. Al seleccionar una seccin se cargarn automticamente las categoras que corresponden.CategoraEstablece la categora bajo la cual se publicar el artculo de contenido.PublicadoEstablece el estatus del artculo (publicado o no). Esto puede modificarse luego en cualquier momento.Pgina Principal Establece la publicacin del artculo en la pgina principal. 37 38. A mano derecha tenemos una Caja de estadsticas que nos permite conocer rpidamente algunosdatos de inters del artculo. Justo debajo, tenemos tres (03) secciones: Parmetros Artculo: aqu podemos modificar algunas opciones interesantes como el nivel de acceso, las fechas de creacin, publicacin e incluso finalizacin. En la mayora de los casos no ser necesario modificar esto. Parmetros Avanzados: en esta seccin podemos modificar los parmetros de presentacin del artculo, por ejemplo: mostrar u ocultar el autor, la fecha, las opciones de imprimir, enviar a un amigo e imprimir como PDF, entre otros. Estas opciones son configuradas a nivel general para todos los artculos, pero aqu podemos hacerlo exclusivamente para este artculo. Informacin de metadatos: los metadatos proporcionan informacin acerca de elementos en la web, a nivel del cdigo. Esto no lo vern los usuarios en la presentacin normal de su sitio web, a menudo son usados por los motores de bsqueda para clasificar e indexar la informacin. Finalmente tenemos el campo de edicin de texto con una barra de herramientas para darformato al contenido, agregar, enlaces, imgenes, etc. Debajo del campo de edicin se pueden ver unos botones, de los que destacan: Paginacin: permite generar un pequeo ndice de contenido en una tabla y crear varias pginas dentro del mismo artculo. til con artculos muy largos. Leer ms: establece el punto del artculo en el que debera aparecer el enlace Leer ms para mostrar el artculo completo. Al finalizar nuestro artculo podemos usar las herramientas situadas en la parte superior:Vista previaNos muestra una vista preliminar de nuestro artculo, sin necesidadde guardarlo o publicarlo.Guardar Guarda el artculo de contenido y sale del editor para regresar algestor de artculos.Aplicar Guarda el artculo y se queda en el editor.Muy til cuando tenemos rato editando y slo queremos guardar loscambios para seguir trabajando.CerrarCierra el editor y regresa al gestor de artculos. No guarda ningncambio.38 39. Gestin de ExtensionesEn Joomla se suele llamar extensiones al conjunto de componentes, mdulos, plugins y tambinidiomas y plantillas de acuerdo a la organizacin de la interfaz de administracin. A Continuacin describiremos cada uno de ellos. Componentes: son piezas completas de software, que se integran al ncleo de Joomla para ofrecer una funcionalidad bastante completa, regularmente tienen acceso a a la base de datos y son renderizados en el cuerpo principal de la plantilla. Mdulos: representan pequeos programas distribuidos en bloques que pueden mostrarse en las posiciones de la plantilla del sitio y que muestran una informacin o funcionalidad especfica. Plugins: son pequeas piezas de software que atienden una funcionalidad muy especfica dentro del sistema. Idiomas: son archivos de texto plano con extensin .ini que contienen la traduccin de algn componente, mdulo o plugin. Plantillas: representan los temas que contienen el diseo y estilo al cual se adaptar el contenido.Instalar extensionesAntiguamente exista una interfaz de instalacin distinta para cada elemento de Joomla, ahora slobasta con ir a la pestaa Extensiones del men y luego Instalar/Desinstalar. Grfico: Instalar / Desinstalar extensionesEl men del Gestor de Extensiones posee seis (06) enlaces: Instalar, Componentes, Mdulos,Plugins, Idiomas y Plantillas. 39 40. La pestaa Instalar es la que aparece por defecto y desde all podemos instalar cualquierextensin, tenemos tres opciones: Subir paquete: hacemos clic en el botn examinar y buscamos el archivo en nuestracomputadora, luego hacemos clic en Subir Archivo & Instalar y el sistema pondr todo en su santolugar. Instalar desde directorio: aqu debemos pasar la ruta completa del archivo en nuestracomputadora, colocndolo en el campo de texto y luego haciendo clic en el botn Instalar.Instalar desde URL: esta opcin nos permite instalar directamente desde un sitio web orepositorio confiable donde se encuentre la extensin a instalar; el sistema descargar el archivo y loinstalar.Las siguientes pestaas de Componentes, Mdulos, Plugins, Idiomas y Plantillas muestran unalista de las extensiones y dejan la posibilidad de seleccionar y desinstalar las deseadas.Gestin de mdulosLa administracin de los mdulos se hace a travs del Gestor de mdulos en la pestaaExtensiones. Veremos una interfaz como la siguiente:40 41. Grfico: Gestor de MdulosDesde aqu podremos habilitar o deshabilitar, editar o cambiar la configuracin de cualquiermdulo.Gestin de PluginsLa administracin de los plugins se hace a travs del Gestor de plugins en la pestaaExtensiones.Veremos una interfaz como la siguiente:41 42. Grfico: Gestor de PluginsDesde aqu podremos habilitar o deshabilitar, editar o cambiar la configuracin de cualquierplugin.Gestin de Plantillas La administracin de las plantillas del sitio se hace a travs del Gestor de plantillas en lapestaa Extensiones.Veremos una interfaz como la siguiente:42 43. Grfico: Gestor de PlantillasDesde aqu podremos habilitar o deshabilitar, editar o cambiar la configuracin de cualquierplantilla.Gestin de IdiomasLa administracin de los idiomas se hace a travs del Gestor de idiomas en la pestaaExtensiones. Veremos una interfaz como la siguiente:Grfico: Gestor de Idiomas Desde aqu podremos habilitar o deshabilitar, editar o cambiar la configuracin de cualquieridioma. 43 44. Captulo IVOptimizando el Sitio WebOptimizacin para motores de bsqueda y URLs amigables (SEF/SEO). Muy probablemente navegando por algn sitio web usted ha visto algo como esto: http://www.sitiowebcualquiera.com/index.php?ption=com_content&view=article&id=241&catid=43&Itemid=71 Esta grande y aparentemente incomprensible URL es generada por algn manejador decontenidos para entenderse l mismo dentro de su lgica y saber qu presentar al usuario, es normal. Loque no es normal es que los administradores del sitio web mantengan este tipo de URL visibles alusuario, obligndolo a ver algo poco esttico e imposible de memorizar, adicionalmente tenemos quedecir que los motores de bsqueda aparentemente indexan ms rpida y fcilmente las URLsamigables, es decir, cortas y descriptivas, la URL anterior no es nada descriptiva, no dice nada por simisma, hay que entrar para ver de qu se trata el contenido. Sera mucho mejor algo como: http://www.sitiowebcualquiera.com/la-empresa/quienes-somos/Gran diferencia, no? Esto es una URL amigable [7] Muy al contrario de lo que piensan muchos,Joomla ya trae opciones de configuracin en la administracin del sistema para usar URLs amigables. Para activarlas debers seguir los siguientes pasos:1. En el panel de administracin ir a Configuracin gobal.2. En la pestaa Sitio, buscar al lado derecho la seccin Parmetros de optimizacin de SEO[8]._____7 Mejor conocidas en ingls como Search Engine Friendly (SEF)8 Del ingls Search Engine Optimizacin, en Castellano Optimizacin para Motores de Bsqueda. 44 45. URLs amigables para motores de bsqueda: Permite activar o desactivar estafuncionalidad. Usar Apache mod_rewrite: El servidor web apache tiene un mdulo que reescribe lasURLs cuando son solicitadas y les aplica unos filtros predefinidos, si se usa esteservidor y se tiene este mdulo instalado, es recomendable activar esta opcin. Sinembargo Joomla podra hacerlo sin esto. Al activar esta opcin es necesario tener activoel archivo htaccess, es decir, hay que renombrar el htaccess.txt que viene en la raz dejoomla y llamarlo .htaccess para que apache comience a tomarlo en cuenta. Agregar el sufijo a las URLs: Activando esta opcin se le agregar una extensin osufijo a cada URL, regularmente .html.3. Guardar y probar.Grfico: Configuracin globalRespaldo y Restauracin. Para un buen administrador / desarrollador web, los respaldos son un tema importante,45 46. tratndose de una empresa u organizacin es punto fundamental.En Joomla existe una extensin suficiente madura y eficiente para tal objetivo, su nombre esAkeeba Backup[9], veremos como instalarla, configurarla y usarla.1. Buscar y descargar la extensin Akeeba Backup desde http://extensions.joomla.org.2. En el panel de administracin de Joomla hacer clic en Extensiones, Instalar / Desinstalar.3. En el primer bloque Subir paquete, pulsar el botn Examinar y buscar el Akeeba Backup descargado anteriormente.4. Hacer clic en el botn Subir Archivo & Instalar. La aplicacin comenzar su proceso de instalacin.5. Si todo sali bien, ir a Componentes y luego Akeeba Backup.Usarlo es muy fcil, podemos dar un paseo por la configuracin y ajustar los parmetros queconsideremos necesarios en nuestro caso. Luego bastar con hacer clic en Backup Now y elcomponente comenzar un inteligente proceso de respaldo. Es altamente recomendable descargar luegoel respaldo y mantenerlo en otro lugar adicional, de hecho, lo ideal seran tres (03) lugares distintos. Para restaurar nuestro sitio web en caso de alguna contingencia slo debemos colocar elcomprimido del respaldo y descomprimirlo en nuestro directorio raz, luego intentamos acceder desdeel navegador y veremos un instalador muy sencillo y parecido al instalador inicial de Joomla, de estaforma tendremos en pocos minutos nuestro sitio web totalmente operativo con toda la informacin delltimo respaldo._____9 Antiguamente conocida como JoomlaPack. 46 47. Seguridad Bsica.Hay varios elementos de seguridad que debemos tomar en cuenta en cualquier aplicacin web,Joomla no es la excepcin.Primero que nada la seguridad de una aplicacin web hay que verla por niveles o capas, esdecir, va desde el acceso fsico al servidor, pasando por motor de base de datos, el lenguaje deprogramacin, etc, hasta llegar a la capa 8: el usuario. Hay que tomar en cuenta todos los factores,porque luego es muy sencillo echarle la culpa a Joomla. Partiendo de que ya usted ha tomado medidas de seguridad en el sistema operativo, en elservidor de base de datos, en el servidor web y en el lenguaje de programacin, entonces tome encuenta los siguientes aspectos: 1. Use una contrasea que contenga ms de ocho (8) dgitos, minsculas y maysculas, caracteresalfanumricos y signos de puntuacin. 2. Cambie el usuario administrador por defecto, nunca deje admin, coloque y use otro nombre ensu lugar. 3. Active y use el archivo de configuracin distribuida de apache que viene con Joomla(.htaccess). Use URLs amigables. 4. Mantenga los permisos correctos en los directorios y archivos del sistema. Los archivosdeberan tener permiso 644 y los directorios 755. 5. Proteja la interfaz de administracin, a travs del .htaccess o con alguna extensin para talobjetivo. 6. Mantenga actualizadas las extensiones que tenga instaladas y el sistema Joomla completo,regularmente salen actualizaciones de seguridad importantes. 47 48. Glosario de TrminosGPL: General Public License, en castellano Licencia Pblica General, es la licencia propuestapor el proyecto GNU para proteger y liberar el Software Libre. PHP: Pre Hipertext Processor, por sus siglas en ingls. Lenguaje de programaci.Sistema de Gestin de Contenidos: Es el software encargado de administrar los contenidos yactividad de un sitio web, regularmente conocido en ingls como Content Managment System osimplemente CMS.Software Libre: Es aquel que otorga libertad a sus usuarios; aquel que cumple con las cuatrolibertades esenciales del software: usar, modificar, compartir y distribuir las mejoras.Software Privativo: Es aquel que priva de libertad a sus usuarios; aquel que no cumple con lascuatro libertades esenciales del software: usar, modificar, compartir y distribuir las mejoras.Referencias Bibliogrficas http://dev.mysql.com/doc/refman/5.0/es http://community.joomla.org/ http://wikipedia.org http://docs.joomla.org http://opensourcematters.org48