Manual cursogobernacion

511 views
470 views

Published on

Published in: Entertainment & Humor
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
511
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Manual cursogobernacion

  1. 1. Desarrollo de Sitios Web con Joomla! CMS Manual del Curso Versión 1.0 1
  2. 2. Índice de contenidoCopyright (c) 2011 ....................................................................................................................................4Historial de Cambios .................................................................................................................................5Introducción ..............................................................................................................................................6Capítulo I ...................................................................................................................................................6 Sistemas de Gestión de Contenido .......................................................................................................6 ▪ ¿Por qué un Sistema de Gestión de Contenido? ............................................................................6 . Tiempo............................................................................................................................................6 . Seguridad........................................................................................................................................7 ¿Es más seguro desarrollar desde cero el Sitio Web o montarlo sobre un CMS? ................................7 . Escalabilidad...................................................................................................................................8 . Facilidad de uso, administración y mantenimiento........................................................................8 . Independencia del desarrollador.....................................................................................................8 . Economía........................................................................................................................................9 . Calidad. ..........................................................................................................................................9 ▪ Ok, ahora... ¿Por qué Joomla!? .....................................................................................................9 Otras ventajas: ...............................................................................................................................10 Premios ..........................................................................................................................................11 . Características de Joomla! ...........................................................................................................12Capítulo II ...............................................................................................................................................13 Instalando Joomla! en un entorno local ..............................................................................................13 ▪ Requerimientos técnicos de Joomla! ...........................................................................................13 • Componentes Adicionales ...........................................................................................................13 • Instalación y configuración del Servidor Web Apache . .............................................................13 ▪ Instalación y Configuración del Servidor de Bases de Datos MySQL. ......................................16 ▪Instalación y Configuración del Intérprete del Lenguaje PHP .....................................................16 . Crea la base de datos ....................................................................................................................18 . Instalación de Joomla. .................................................................................................................21 • Tour por el nuevo sitio web .........................................................................................................28Capítulo III ..............................................................................................................................................29 Administración de Joomla! ................................................................................................................29 ▪ Panel de Control ..........................................................................................................................29 • Gestión del Menú ........................................................................................................................32 • Gestión del Contenido .................................................................................................................35 • Gestión de Extensiones ...............................................................................................................39 Instalar extensiones ............................................................................................................................39 Gestión de módulos ............................................................................................................................40 Gestión de Plugins ..............................................................................................................................41 Gestión de Plantillas ...........................................................................................................................42 Gestión de Idiomas .............................................................................................................................43 2
  3. 3. Capítulo IV ..............................................................................................................................................44 Optimizando el Sitio Web ...................................................................................................................44 Optimización para motores de búsqueda y URLs amigables (SEF/SEO). ....................................44 Respaldo y Restauración. ..................................................................................................................45 Seguridad Básica. ...............................................................................................................................47 Glosario de Términos .........................................................................................................................48 3
  4. 4. Copyright (c) 2011Jesús Israel Contreras Urquiola.Permiso para copiar, distribuir y/o modificar este documento bajo los términos de la GNU Free Documentation License,Versión 1.2 o cualquier versión 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 sección titulada “Licencia de Documentación Libre GNU”, sino puede escribir a laFree Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA o visite la páginahttp://www.gnu.org/licenses/fdl.html. 4
  5. 5. Historial de Cambios .Mayo, 2011 Versión 1.0 Publicación Inicial del Documento 5
  6. 6. Introducción Haber creado un proyecto por iniciativa de la comunidad, a raíz de que la empresa que patrocinara unpopular Sistema de Gestión de Contenido, comenzara a tomar decisiones arbitrarias con respecto al futuro de laaplicación y haber desarrollado mejoras sustanciales al software original, al punto de llegar a reescribirtotalmente el código y hacerlo 100% libre, ha hecho, entre otras cosas que Joomla se haya convertido en uno delos CMS más populares en la actualidad. Este taller pretende introducir al participante en los conocimientos básicos necesarios para unaimplementación exitosa de un sitio web basado en Joomla. Así como también su posterior administración ymantenimiento. El siguiente taller ha sido diseñado con las mejores prácticas y entornos más seguros, profesionales yeficientes. Los ejemplos han sido creados usando aplicaciones y sistemas operativos libres basados enGNU/Linux.Capítulo ISistemas de Gestión de Contenido .▪ ¿Por qué un Sistema de Gestión de Contenido? En la actualidad desarrollar sitios web de calidad es una tarea que conlleva una importante cantidad detiempo, trabajo y dedicación. También depende mucho de las características y alcance del proyecto, pero esprobable que en la mayoría de los casos, desarrollar el sitio web sobre una plataforma de gestión de contenidossea una buena decisión. A continuación veremos algunas razones para usar Sistemas de Gestión de Contenidos en lugar dedesarrollar una solución desde cero para nuestro proyecto Web. Pero no sólo usar un CMS, es importante.También lo es asegurarse de que sea software libre, que podamos modificarlo completamente a nuestrasnecesidades sin restricciones y que tengamos una importante comunidad detrás de la aplicación.. Tiempo. En todos los proyectos – de cualquier índole – juega siempre un papel preponderante el factor tiempo. Los proyectos informáticos y más específicamente la implementación de un sitio web no escapan a ello. 6
  7. 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 gestión de contenido nos ahorrará una increíble cantidad de tiempo, incluso tomandoen cuenta la curva de aprendizaje inicial para alguien que no conozca la herramienta. Adicionalmente, luego de su implementación, seguirá siendo nuestro aliado ahorrándonosconsiderablemente, tiempo en tareas de administración, mantenimiento y actualización.. Seguridad. En este punto es interesante profundizar, ya que hay muchas opiniones encontradas al respecto. Vale lapena comenzar por la pregunta que probablemente en algún momento te has hecho:¿Es más seguro desarrollar desde cero el Sitio Web o montarlo sobre un CMS?Algunas respuestas podrían ser... “Los CMS son más inseguros porque el código está disponible y cualquiera puede verlo y comenzar aatacarlo”, “un sitio web desarrollado desde cero por ti mismo es más seguro, porque sólo tú conoces la lógica delprograma” y otras. Pero lo cierto es que hoy en día, para la puesta en marcha de un sitio web es casi indiscutibleque basarlo en un CMS es mucho más seguro. ¿Las razones? a) Una gran cantidad de expertos a nivel mundial aportan horas de trabajo en torno a desarrollos colaborativos de sistemas de gestión de contenido, esto hace que la aplicación esté bajo la supervisión exhaustiva de todos los desarrolladores involucrados en el proyecto a nivel mundial y que los errores puedan detectarse y ser corregidos rápidamente. Muchas personas piensan y dicen: “eso es muy inseguro, a cada rato sacan una actualización 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 distraído diciendo: “Bueno, pero si es así, Windows también saca actualizaciones de seguridad a cada rato” - Sí, el punto fundamental es que ni usted, ni yo conocemos, ni podemos conocer el código fuente de ese sistema operativo, muy por el contrario, los sistemas de gestión 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 actualización y eso aplica para TODO el software privativo. b) Al ser un sistema de gestión 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. 8. Un sitio web hecho desde cero será un código sólo conocido por una sola o pocas personas y necesitaría de mucho tiempo o muchas desarrolladores para convertirse en una herramienta versátil, madura y estable. c) Es muy poco común en las organizaciones un departamento exclusivamente dedicado a la seguridad de la información. Implementando un sitio web sobre un sistema libre de gestión de contenido, los desarrolladores de la herramienta harán este trabajo por usted, ya que la mayoría tienen equipos de trabajo enfocados a trabajar constantemente en pruebas de seguridad, reportarlas y corregirlas. Adicionalmente estarán 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 mayoría de los sistemas de gestión de contenido en software libre son sumamente escalables, estoquiere decir que usted puede fácilmente aumentar la funcionalidad de la herramienta y adaptarla a susnecesidades específicas, regularmente a través de un sistema de plugins o extensiones que permiten que ustedpueda, precisamente, extender la funcionalidad original de la aplicación e instalar otras pequeñas aplicaciones,en algunos casos, modificarla hasta convertirla en una aplicación para otro propósito.. Facilidad de uso, administración y mantenimiento. Regularmente cuando un sitio web es desarrollado desde cero no implementa una interfaz paraadministrar y mantener el sitio, sino que la actualización del mismo es directamente sobre el código fuente, loque se traduce en un mayor consumo de tiempo en dichas tareas. Por el contrario, contar con un sistema degestión de contenidos libres, nos brindará la oportunidad de administrar, mantener y actualizar el sitio web deuna forma fácil, rápida y transparente para el usuario, es decir, no será necesario tener conocimientos deprogramación 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 producción, existe la probabilidad, a veces muy frecuente, de que la persona que desarrolló el sitioweb, por una u otra razón, deje la empresa o institución y casi el 100% de los casos nunca se deja un manual ocentro de conocimiento respecto a la implementación, desarrollo y mantenimiento del sitio. Por lo tanto la lógicadel desarrollo sólo la conocía la persona que ya no está y toda la empresa o institución queda dependiente de esaúnica persona y se encuentra atada y sin poder darle continuidad a la cara digital de la organización. Al final decuentas entra otra persona a tomar el cargo y al tener presente la misión de darle mantenimiento a un sitio webcuya lógica y código no son de él, tendría que optar por dos soluciones, básicamente: invertir una importantecantidad de tiempo en entender la lógica de la persona que se fue y poder seguir desarrollando y actualizandoese sistema o crear un nuevo desarrollo. Ambas son contraproducentes para la organización. 8
  9. 9. . Economía. Con bastante regularidad las aplicaciones de Software Libre, además de otorgar libertad a los usuariosson también gratuitos, esto no es necesario que así sea, pero las empresas u organizaciones que están detrás dedichos productos prefieren basar su modelo de negocios en alternativas más éticas e igual de productivas, comopor ejemplo, vender consultoría, soporte, desarrollo, servicios, etc. Al elegir un CMS en Software Libre usted no sólo estará ahorrando tiempo de implementación en suproyecto web, sino también la importante cantidad de dinero que implicaría adquirir una prometedora aplicaciónde software en una caja y un disco muy llamativo o bien el costo de muchas horas de desarrollo si se decide poruna solución desde cero.. Calidad. Aquí entran todas las características de calidad propias de un modelo de desarrollo colaborativo, típicoen 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 común, estohace que el software sea de gran calidad y que se discutan entre todos las mejores prácticas y el mejor destino dela aplicación. Es decir, las decisiones o enfoques no quedan en manos de unos pocos pertenecientes a unaorganización privada, sino que son discutidas entre todo el equipo de desarrollo. Esto, unido a todo loanteriormente mencionado hace que un Sistema de Administración de Contenido Libre sea un producto de grancalidad. Básicamente, 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 gestión de contenido (cms) libre, en lugar de implementar unsitio web desde cero. Pero aún queda una importante discusión: ¿Cuál sistema de gestión de contenido puedousar? Joomla es un Sistema de Gestión 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 incluíasustanciales mejoras en el software y con la visión de ser un proyecto 100% libre.__________________1 Es un término en inglés para describir una bifurcación de un proyecto de software, que regularmente resulta en una copia mejorada de laaplicación original, bajo un nuevo nombre y equipo de desarrollo. 9
  10. 10. Hoy en día Joomla se ha separado totalmente del código de Mambo y se ha reescrito la aplicacióntotalmente, incluyendo paradigmas de orientación a objetos con PHP5, Ajax, abstracción de base de datos,soporte a LDAP, caché mejorado, patrón MVC para el desarrollo de aplicaciones de terceros, soporte a XML-RPC y mucho más, convirtiéndose en el actual Joomla 1.5. x. Actualmente se encuentra en desarrollo la versiónde Joomla 1.6, que desde ya puede considerarse un gran salto dentro del proyecto, al implementar mejorassustanciales en el código, haciéndolo más estable, funcional, liviano y eficiente. Joomla, es uno de los más populares y prestigiosos proyectos de Software Libre del mundo, en el áreade los Sistemas de gestión de Contenidos, está licenciado bajo la GNU/GPL y es soportado por la organizaciónOpenSourceMatters y un extenso y nutrido equipo de desarrolladores a lo largo del planeta que trabajanconstantemente en la evolución del código. Joomla ha sido implementado en grandes e importantes empresas, muchos centros de educación 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: • Fundación del Estado para el Sistema Nacional de las Orquestas Nacionales Juveniles e Infantiles de Venezuela - Fesnojiv. (http://www.fesnojiv.gob.ve) • Centro Nacional de Tecnologías de Información – CNTI (http://www.cnti.gob.ve) • Sistema Nacional de Gestión de Incidentes Telemáticos (http://www.vencert.gob.ve) • Superintendencia Nacional de Servicios de Certificación Electrónica (http://www.suscerte.gob.ve) • Ministerio del Poder Popular para las Industrias Básicas y Minería (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 día existen tantos proyectos relacionados y miles decomponentes y módulos.Otras ventajas: • Está en español. • Posee una extensa documentación. • Es seguro. • Joomla apunta a ser un CMS universal. • Traducido a más de 128 idiomas. • Más de 100 desarrolladores a lo largo del planeta. • Joomla está valorado en USD$ 2.194.486. • Más de 5.000 extensiones listas para usar. • Según métricas de Joomla se necesitarían aproximadamente 18 Meses y 11 desarrolladores para producir un CMS de tal calidad. • Joomla es también un Framework. • Joomla ha sido descargado más de 10 millones de veces desde su lanzamiento. 10
  11. 11. PremiosJoomla ha sido galardonado varias veces por varias organizaciones en distintas categorías.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. 12. . Características de Joomla! ✔ Es Software Libre. ✔ Posee una extensa comunidad de usuarios y desarrolladores. ✔ Simple Sistema de trabajo. ✔ Sencillo sistema de publicación de contenidos. ✔ Administrador de archivos. ✔ Sindicación de contenidos. ✔ Papelera. ✔ URLs amigables (SEF). ✔ Administración de banners. ✔ Administración de idiomas. ✔ Sistema de caché. ✔ Simple instalación de componentes adicionales. ✔ Poderoso sistema de plantillas (XHTML+CSS+PHP). ✔ Jerarquía de usuarios. ✔ Estadísticas de visitas. ✔ Editor WYSIWYG para los contenidos. ✔ Sistema de encuestas. ✔ Sistema de valoración de contenidos. ✔ Categorización del contenido. ✔ Compatibilidad hacia atrás con versiones anteriores de Joomla. ✔ Registro de usuarios. ✔ Gestión de correos. ✔ Sistema de búsquedas. ✔ Gestión de Menues. ✔ Interfaz gráfica para opciones generales de configuración. ✔ Uso de estándares. ✔ Mucho más... 12
  13. 13. Capítulo IIInstalando Joomla! en un entorno local▪ Requerimientos técnicos de Joomla! Para tener un entorno adecuado para la instalación de Joomla se deben tener tres aplicacionesfundamentales, un servidor web, un servidor de base de datos y un intérprete del lenguaje en el que estádesarrollado 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 (versión 2 en adelante) • Servidor de Base de Datos MySQL (versión 5 en adelante) • Intérprete del lenguaje PHP (versión 5 en adelante) Debajo de todas estas aplicaciones, evidentemente debe existir un sistema operativo, idealmente Joomlacorre en cualquier sistema basado en GNU/Linux, aunque también 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 mayoría de las distribuciones de GNU/Linux ya vienencon este soporte.• Componentes Adicionales Si desea tener soporte a SEF [2] URLs o URLs amigables a motores de búsqueda, usted necesitarámod_rewrite habilitado en el servidor web y la habilidad de usar configuraciones distribuidas, para la activaciónde archivos locales .htaccess.• Instalación y configuración del Servidor Web Apache .Para Instalar apache como servidor web desde GNU/Linux solo debemos abrir una consola, logearnos comoroot.________________2 Del inglés Search Engine Friendly. 13
  14. 14. Para abrir la consola vamos al menú aplicaciones --> Accesorios --> Terminal;esto abrirá una terminal o consola: usuario@nombre del equipo:~$ 14
  15. 15. desde allí teclearemos el siguiente comando para logearnos como root o administrador del equipo. $sudo suo $su -sesto dependiendo de la distribución de GNU/Linux que estemos utilizando, este comando nos pedirá quetecleemos la contraseña de administrador.Cuando te logeas como root o administrador del sistema el prompt cambia de $ a # a demás de la dirección dedirectorio. usuariot@nombre del equipo:/home/usuario#Para instalar apache tecleamos en la consola lo siguiente: #aptitude install apache2 15
  16. 16. El sistema retendrá, sugerirá e instalará los paquetes que sean necesarios según su caso. Al final, hará lapregunta: ¿Quiere continuar? [Y/n/?]Al responder “Y” se inicia el proceso de descarga, instalación y configuración de las aplicaciones.▪ Instalación y Configuración 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 aplicación servidor estaría en una máquina remota y nosotros sólo tendríamos que instalar la aplicación clientepara conectarnos. En la mayoría 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, después 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 algún momento de la instalación usted deberá asignar una contraseña para elSuperusuario de MySQL (root), recomendamos altamente colocar una buena contraseña.▪Instalación y Configuración del Intérprete del Lenguaje PHP #aptitude install php5 Al igual que en los procesos de instalación anteriores, aptitude se encargará de hacer todo el trabajo queusted le solicitó. Al finalizar ya debería tener un entorno completamente listo para trabajar. Por favor vaya a http://localhost en su navegador y verifique que el servidor web apache estáfuncionando. Regularmente muestra el mensaje “It Works”.______3 Contiene o hace un llamado a otros paquetes. 16
  17. 17. ▪ Descarga Joomla! Es posible obtener la última versión de Joomla a través de su sitio web oficial: http://www.joomla.org Desde allí descargar el archivo comprimido y guardarlo. Luego deberíamos crear un directorio paranuestra aplicación Joomla en el directorio raíz 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 aplicación. 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 aplicación sea el queapache designa para tal función, 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 elparámetro 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 también se puede usar “unp” que es capaz de descomprimir cualquier cualquier formato de una forma más amigable. 17
  18. 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 unacontraseña. Si el servidor se está ejecutando en un ordenador distinto a donde se está estableciendo la conexión,también se deberá especificar el nombre del host remoto. Una vez indicados los parámetros apropiados, deberíapoder 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 -p Enter 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. Reemplácelos por los valoresapropiados para su caso. Los asteriscos (********) representan la contraseña, debe ingresarse cuando mysqlmuestra Enter password:. Si todo funciona bien, se verá una información de ingreso seguida por el prompt mysql>: shell> mysql -h host -u user -p Enter password: ******** Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 25338 to server version: 5.0.9-beta-standard Type 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. 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 jamás usaría 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 estás creando para manejar la base de datos. miclave es la contraseña 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 instalación de nuestro sitio web en Joomla. Tip: Para todas estas tareas de administración de la BD usted puede usar una variedad de herramientasgráficas, como por ejemplo phpmydamin, mysql-query-browser, entre otras. Nosotros recomendamos trabajardesde el terminal y aprender bien las sentencias SQL. 19
  20. 20. Con herramienta Visual usando phpmyadmin. Vamos al navegador web o browser y tecleamos la dirección http://localhost/phpmyadmin ohttp://127.0.0.1/phpmyadmin Después tecleamos el usuario y la contraseña 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. 21. . Instalación de Joomla. Abrimos un navegador web y nos vamos a http://localhost/joomla, veremos el instalador web de Joomla. Gráfico: Instalador de Joomla – Seleccione su idioma En esta pantalla sólo seleccionamos nuestro idioma y hacemos clic en “siguiente”. En esta pantalla se verifica que todo esté en orden para poder continuar con la instalación correctamente,de acuerdo a todas los requerimientos necesarios para Joomla. 21
  22. 22. Gráfico: Instalador de Joomla – Comprobación previa 22
  23. 23. En la siguiente pantalla podemos observar que Joomla está distribuido bajo la Licencia Pública General(GPL). Gráfico: Instalador de Joomla – Licencia 23
  24. 24. Gráfico: Instalador de Joomla – Configuración de la base de datosEn este punto colocaremos la información de la base de datos que creamos anteriormente. 24
  25. 25. Gráfico: Instalador de Joomla – Configuración de FTP En esta pantalla tenemos la opción de configurar el servicio de FTP para la gestión de archivos ennuestro Joomla. 25
  26. 26. Gráfico: Instalador de Joomla – Configuración principal En esta pantalla debemos suministrar el título del Sitio Web, que será utilizado en la barra superior delnavegador cuando visualicemos nuestro sitio, el correo electrónico del administrador, la contraseña y finalmenteinstalar datos de ejemplo, si lo deseamos. Tip: Es importante asegurarse de colocar una dirección de correo válida, ya que el sistema la usará paraenviarnos información y/o recuperar la contraseña. Tip: Recomendamos altamente usar una contraseña adecuada. Por favor tome en cuenta las siguientessugerencias: • Usar caracteres alfanuméricos. • Usar mayúsculas y minúsculas. 26
  27. 27. • NO usar “password”, “admin”, “123456”, “joomla” u otras contraseñas obvias. • NO usar el nombre del sitio web, autor o palabras relacionadas fácilmente deducibles. Gráfico: Instalador de Joomla – Finalización ¡Felicidades! Has llegado exitosamente al final de la instalación. 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 instalación 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 administración de Joomla, usando el usuario 27
  28. 28. “admin” y la contraseña que acabas de configurar.• Tour por el nuevo sitio web . Gráfico: Nuevo sitio web en Joomla. En este momento puedes navegar y disfrutar de tu nuevo sitio web. Algunas características visibles a simple vista son: • Menú superior y menú lateral. • Módulo de noticias. • Funciones para enviar a un amigo, guardar PDF e imprimir. • Encuestas. 28
  29. 29. • Formulario de inicio de sesión. • Campo de búsqueda. • Otros.Capítulo IIIAdministración de Joomla!▪ Panel de Control Para administrar nuestro nuevo sitio web Joomla debemos ir al directorio “/administrator”, el urlcompleto en este caso sería: http://localhost/joomla/administrator y a continuación veremos la interfaz deacceso. 29
  30. 30. Gráfico: Interfaz de acceso al panel de administración Luego de ingresar nuestros datos de acceso (usuario y contraseña creados durante la instalación)podremos entrar satisfactoriamente al panel. 30
  31. 31. Gráfico: Pantalla inicial de la interfaz de administraciónAl 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 sesión. Gráfico: Barra de menú Más abajo tenemos un grupo de iconos que representan atajos rápidos a los enlaces del menú más usadosy en la parte derecha podemos ver información estadística de interés sobre nuestro sitio. 31
  32. 32. Gráfico: Iconos de acceso rápido y módulo de información• Gestión del Menú . Para administrar los distintos menús debemos ir al “Gestor de Menús”, bien sea desde el icono rápido enel Panel de Control o desde la barra de menú superior. 32
  33. 33. Gráfico: Gestor de Menús Desde 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 módulo del tipo “mod_mainmenu”con el mismonombre, luego se podrán modificar algunos parámetros del módulo en el menú de Gestor de módulos. 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 “Menús” y luego “Menú principal”. Nótese 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 página principal. Luego podemos ver la barra de herramientas disponible y la lista de enlaces de este menú. El icono “Menús” dirige al “Gestor de Menús” que vimos antes. El icono “Predeterminado” establece el enlace de inicio asociado a la página 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 también 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 acción 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. 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 descripción:# Es una numeración simple, permite conocer el número de enlaces.Casilla de verificación Permite seleccionar uno o varios enlaces para ejecutar alguna de las opciones disponibles.Ítem del Menú Representa el título o nombre del enlace.Predeterminado Muestra 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 colocando el numero en la casilla y luego pulsando el icono de guardar.Acceso Muestra el acceso que tienen los usuarios a ese enlace del menú. Si está Público todos lo podrán ver, si está Registrado, sólo los usuarios registrados podrán ver el enlace.Tipo Muestra el tipo de enlace. Por ejemplo si es un enlace a un artículo, si es un enlace una sección o a un componente.ItemID Representa el número único de identificación para ese elemento. Es usado por el sistema en su manejo interno. Para crear un nuevo enlace en el menú, como ya hemos visto, debemos hacer clic en el icono “Nuevo”, acontinuación se nos mostrará una lista de los posibles tipos de enlace que tenemos para crear. Podrían ser hacia un artículo, una sección, una categoría o algunos de los componentes instalados. Al elegir una opción, veremos una segunda pantalla con otro nivel de detalle donde podremos elegir elmodo de presentación del enlace. Si detenemos el cursor en las opciones disponibles veremos un texto de ayuda. Finalmente debemos colocar el Título del enlace y un Alias, éste último es usado cuando tenemos URLsamigables (SEF)[6]. La mayoría de las veces será necesario con estos dos campos, además de “Parámetros –Básico” 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 búsqueda. 34
  35. 35. • Gestión del Contenido . Para administrar el contenido de nuestro sitio web debemos usar el “Gestor de artículos”, 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. Gráfico: Gestor de artículos Se mostrará la barra de herramientas que hemos explicado antes y adicionalmente las siguientesfunciones:Desarchivar Permite eliminar el estado “archivado” a un artículo de contenido.Archivo Permite guardar un artículo de contenido en el archivo. Los artículos archivados no podrán ser usados ni editados a menos que se desarchiven primero.Preferencias Este botón nos muestra todas las preferencias que podemos modificar referente a los artículos, cada ítem muestra una ayuda contextual al detener el cursos sobre él. 35
  36. 36. El listado de artículos de contenido tiene varias columnas, a continuación veremos su descripción.# Es una numeración simple, permite conocer el número de artículos de contenido.Casilla de verificación Permite seleccionar uno o varios artículos de contenido para ejecutar alguna de las opciones disponibles.Título Representa el título del artículo de contenido.Publicado Muestra el estatus actual del artículo de contenido. Si está publicado mostrará un icono de revisión verde, si está despublicado mostrará una equis roja. Tip: Se pueden publicar y despublicar artículos fácilmente pulsando este icono, sin necesidad de abrir el contenido.Página Principal Muestra el icono x si el artículo está en la página principal y el icono y si no lo está.Ordenar Permite cambiar el orden en que aparecen los artículos 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 artículo de contenido. Si está Público todos lo podrán ver, si está Registrado, sólo los usuarios registrados podrán ver el contenido.Sección Muestra la sección a la que pertenece al artículo.Categoría Muestra la categoría a la que pertenece el artículo.Autor Muestra el autor o creador del artículo.Fecha Muestra la fecha de creación del artículo.Impresiones Representa el número de veces que ha sido visto el artículo de contenido.ID Representa el número único de identificación para ese elemento. Es usado por el sistema en su manejo interno. Para editar un artículo de contenido hacemos clic encima del título que queremos y acontinuación se nos abrirá el editor de contenido. 36
  37. 37. Si lo que queremos es crear un nuevo artículo de contenido, entonces haremos clic en el icono“Nuevo” en el “Gestor de Artículos”, igualmente se nos abrirá un editor de contenido. Gráfico: Editar artículo A continuación describimos los campos más relevantes en la creación/edición de artículos decontenido.Título Representa el título del artículo y será el que aparezca publicado en el sitio web.Alias Es usado cuando tenemos URLs amigables en nuestro sitio web (SEF). Regularmente se usa el mismo texto del título.Sección Establece la sección bajo la cual se publicará el artículo. Al seleccionar una sección se cargarán automáticamente las categorías que corresponden.Categoría Establece la categoría bajo la cual se publicará el artículo de contenido.Publicado Establece el estatus del artículo (publicado o no). Esto puede modificarse luego en cualquier momento.Página Principal Establece la publicación del artículo en la página principal. 37
  38. 38. A mano derecha tenemos una “Caja de estadísticas” que nos permite conocer rápidamente algunosdatos de interés del artículo. Justo debajo, tenemos tres (03) secciones: • Parámetros – Artículo: aquí podemos modificar algunas opciones interesantes como el nivel de acceso, las fechas de creación, publicación e incluso finalización. En la mayoría de los casos no será necesario modificar esto. • Parámetros – Avanzados: en esta sección podemos modificar los parámetros de presentación del artículo, 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 artículos, pero aquí podemos hacerlo exclusivamente para este artículo. • Información de metadatos: los metadatos proporcionan información acerca de elementos en la web, a nivel del código. Esto no lo verán los usuarios en la presentación normal de su sitio web, a menudo son usados por los motores de búsqueda para clasificar e indexar la información. Finalmente tenemos el campo de edición de texto con una barra de herramientas para darformato al contenido, agregar, enlaces, imágenes, etc. Debajo del campo de edición se pueden ver unos botones, de los que destacan: • Paginación: permite generar un pequeño índice de contenido en una tabla y crear varias páginas dentro del mismo artículo. Útil con artículos muy largos. • Leer más: establece el punto del artículo en el que debería aparecer el enlace “Leer más” para mostrar el artículo completo. Al finalizar nuestro artículo podemos usar las herramientas situadas en la parte superior:Vista previa Nos muestra una vista preliminar de nuestro artículo, sin necesidad de guardarlo o publicarlo.Guardar Guarda el artículo de contenido y sale del editor para regresar al gestor de artículos.Aplicar Guarda el artículo y se queda en el editor. Muy útil cuando tenemos rato editando y sólo queremos guardar los cambios para seguir trabajando.Cerrar Cierra el editor y regresa al gestor de artículos. No guarda ningún cambio. 38
  39. 39. • Gestión de Extensiones En Joomla se suele llamar extensiones al conjunto de componentes, módulos, plugins y tambiénidiomas y plantillas de acuerdo a la organización de la interfaz de administración. A Continuación describiremos cada uno de ellos. • Componentes: son piezas completas de software, que se integran al núcleo 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. • Módulos: representan pequeños programas distribuidos en bloques que pueden mostrarse en las posiciones de la plantilla del sitio y que muestran una información o funcionalidad específica. • Plugins: son pequeñas piezas de software que atienden una funcionalidad muy específica dentro del sistema. • Idiomas: son archivos de texto plano con extensión .ini que contienen la traducción de algún componente, módulo o plugin. • Plantillas: representan los temas que contienen el diseño y estilo al cual se adaptará el contenido.Instalar extensionesAntiguamente existía una interfaz de instalación distinta para cada elemento de Joomla, ahora sólobasta con ir a la pestaña “Extensiones” del menú y luego “Instalar/Desinstalar”. Gráfico: Instalar / Desinstalar extensionesEl menú del “Gestor de Extensiones” posee seis (06) enlaces: Instalar, Componentes, Módulos,Plugins, Idiomas y Plantillas. 39
  40. 40. La pestaña Instalar es la que aparece por defecto y desde allí podemos instalar cualquierextensión, tenemos tres opciones: Subir paquete: hacemos clic en el botón 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, colocándolo en el campo de texto y luego haciendo clic en el botón “Instalar”. Instalar desde URL: esta opción nos permite instalar directamente desde un sitio web orepositorio confiable donde se encuentre la extensión a instalar; el sistema descargará el archivo y loinstalará. Las siguientes pestañas de Componentes, Módulos, Plugins, Idiomas y Plantillas muestran unalista de las extensiones y dejan la posibilidad de seleccionar y desinstalar las deseadas.Gestión de módulos La administración de los módulos se hace a través del “Gestor de módulos” en la pestaña“Extensiones”. Veremos una interfaz como la siguiente: 40
  41. 41. Gráfico: Gestor de Módulos Desde aquí podremos habilitar o deshabilitar, editar o cambiar la configuración de cualquiermódulo.Gestión de Plugins La administración de los plugins se hace a través del “Gestor de plugins” en la pestaña“Extensiones”. Veremos una interfaz como la siguiente: 41
  42. 42. Gráfico: Gestor de Plugins Desde aquí podremos habilitar o deshabilitar, editar o cambiar la configuración de cualquierplugin.Gestión de Plantillas La administración de las plantillas del sitio se hace a través del “Gestor de plantillas” en lapestaña “Extensiones”. Veremos una interfaz como la siguiente: 42
  43. 43. Gráfico: Gestor de Plantillas Desde aquí podremos habilitar o deshabilitar, editar o cambiar la configuración de cualquierplantilla.Gestión de Idiomas La administración de los idiomas se hace a través del “Gestor de idiomas” en la pestaña“Extensiones”. Veremos una interfaz como la siguiente: Gráfico: Gestor de Idiomas Desde aquí podremos habilitar o deshabilitar, editar o cambiar la configuración de cualquieridioma. 43
  44. 44. Capítulo IVOptimizando el Sitio WebOptimización para motores de búsqueda y URLs amigables (SEF/SEO). Muy probablemente navegando por algún 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 algún manejador decontenidos para entenderse él mismo dentro de su lógica 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, obligándolo a ver algo poco estético e imposible de memorizar, adicionalmente tenemos quedecir que los motores de búsqueda aparentemente indexan más rápida y fácilmente 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. Sería 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 configuración en la administración del sistema para usar URLs amigables. Para activarlas deberás seguir los siguientes pasos: 1. En el panel de administración ir a “Configuración gobal”. 2. En la pestaña “Sitio”, buscar al lado derecho la sección “Parámetros de optimización de SEO[8]”._____7 Mejor conocidas en inglés como Search Engine Friendly (SEF)8 Del inglés Search Engine Optimización, en Castellano Optimización para Motores de Búsqueda. 44
  45. 45. ◦ URLs amigables para motores de búsqueda: Permite activar o desactivar esta funcionalidad. ◦ Usar Apache mod_rewrite: El servidor web apache tiene un módulo que reescribe las URLs cuando son solicitadas y les aplica unos filtros predefinidos, si se usa este servidor y se tiene este módulo instalado, es recomendable activar esta opción. Sin embargo Joomla podría hacerlo sin esto. Al activar esta opción es necesario tener activo el archivo htaccess, es decir, hay que renombrar el htaccess.txt que viene en la raíz de joomla y llamarlo .htaccess para que apache comience a tomarlo en cuenta. ◦ Agregar el sufijo a las URLs: Activando esta opción se le agregará una extensión o sufijo a cada URL, regularmente .html.3. Guardar y probar. Gráfico: Configuración global Respaldo y Restauración. Para un buen administrador / desarrollador web, los respaldos son un tema importante, 45
  46. 46. tratándose de una empresa u organización es punto fundamental. En Joomla existe una extensión suficiente madura y eficiente para tal objetivo, su nombre esAkeeba Backup[9], veremos como instalarla, configurarla y usarla. 1. Buscar y descargar la extensión “Akeeba Backup” desde http://extensions.joomla.org. 2. En el panel de administración de Joomla hacer clic en “Extensiones”, “Instalar / Desinstalar”. 3. En el primer bloque “Subir paquete”, pulsar el botón “Examinar” y buscar el Akeeba Backup descargado anteriormente. 4. Hacer clic en el botón “Subir Archivo & Instalar”. La aplicación comenzará su proceso de instalación. 5. Si todo salió bien, ir a “Componentes” y luego “Akeeba Backup”. Usarlo es muy fácil, podemos dar un paseo por la configuración y ajustar los parámetros 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 serían tres (03) lugares distintos. Para restaurar nuestro sitio web en caso de alguna contingencia sólo debemos colocar elcomprimido del respaldo y descomprimirlo en nuestro directorio raíz, 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 información delúltimo respaldo._____9 Antiguamente conocida como JoomlaPack. 46
  47. 47. Seguridad Básica. Hay varios elementos de seguridad que debemos tomar en cuenta en cualquier aplicación web,Joomla no es la excepción. Primero que nada la seguridad de una aplicación web hay que verla por niveles o capas, esdecir, va desde el acceso físico al servidor, pasando por motor de base de datos, el lenguaje deprogramación, 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 programación, entonces tome encuenta los siguientes aspectos: 1. Use una contraseña que contenga más de ocho (8) dígitos, minúsculas y mayúsculas, caracteres alfanuméricos y signos de puntuación. 2. Cambie el usuario administrador por defecto, nunca deje admin, coloque y use otro nombre en su lugar. 3. Active y use el archivo de configuración distribuida de apache que viene con Joomla (.htaccess). Use URLs amigables. 4. Mantenga los permisos correctos en los directorios y archivos del sistema. Los archivos deberían tener permiso 644 y los directorios 755. 5. Proteja la interfaz de administración, a través del .htaccess o con alguna extensión para tal objetivo. 6. Mantenga actualizadas las extensiones que tenga instaladas y el sistema Joomla completo, regularmente salen actualizaciones de seguridad importantes. 47
  48. 48. Glosario de Términos GPL: General Public License, en castellano Licencia Pública General, es la licencia propuestapor el proyecto GNU para proteger y liberar el Software Libre. PHP: Pre Hipertext Processor, por sus siglas en inglés. Lenguaje de programació. Sistema de Gestión de Contenidos: Es el software encargado de administrar los contenidos yactividad de un sitio web, regularmente conocido en inglés 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 Bibliográficas • http://dev.mysql.com/doc/refman/5.0/es • http://community.joomla.org/ • http://wikipedia.org • http://docs.joomla.org • http://opensourcematters.org 48

×