UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO Instalación del Servidor para Administración de contenidos Memoria Que como parte de los requisitos para obtener El título de Ing. en Tecnologías de la Información y Comunicación Presenta Armando Rangel Nieto M. en C. Gonzalo Lugo Pérez Ing. Rodrigo Mata Hernández Querétaro, Querétaro, 28 de Febrero de 2011 2
I N D I C E Página RESUMEN ABSTRACT CAPITULO 1 INTRODUCCIÓN 7 1.1 ANTECEDENTES 8 1.2 JUSTIFICACIÓN 9 1.3 OBJETIVOS 9 1.54 ALCANCES 9 CAPITULO 2 FUNDAMENTACIÓN TEÓRICA 10 2.1 PLAN DE ACTIVIDADES 12 2.2 RECURSOS MATERIALES Y HUMANOS 13 CAPITULO 3 DESARROLLO DEL PROYECTO 14 CAPITULO 4 RESULTADOS OBTENIDOS 27 4.1 ANÁLISIS DE RIESGOS 28 3
CAPITULO 5 CONCLUSIONES 29 5.1 RECOMENDACIONES 30 REFERENCIAS BIBLIOGRÁFICAS 31 4
RESUMEN El contenido de este trabajo tiene por objetivo dar a conocer las actividades que se realizaron para instalar un servidor de contenidos en la carrera de Tecnologías de la Información y Comunicación, con el cual se hará más eficiente la manera de publicar información de interés y útil para profesores y alumnos. Se analizaron las características y funcionalidades de varios Sistemas para la Gestión de contenidos, que pueden trabajar en ambiente Linux y otros bajo plataforma de Windows o ambos. Se instaló Joomla! con LAMP (Linux, Apache, MySQL, PHP) dentro del sistema operativo Ubuntu 10.04 que se integra sin problema con Joomla! y sus complementos. Se indica paso a paso la metodología que se siguió para la instalación del servidor, desde la descarga del programa, las aplicaciones Apache, MySQL y PHP, así como su instalación y configuración. El uso de este servidor de contenidos facilitará la creación de plantillas que serán mostradas en una pantalla colocada a la vista de todo el personal que interactúa en la carrera, El software Joomla! Cuenta con plantillas prediseñadas para agregar texto, imagen o video que se quiera publicar en la pantalla con el estilo deseado, lo cual facilita la tarea de mostrar información y sobre todo con excelente presentación resultando atractiva e interesante. 5
ABSTRACT The content of this assignment has the objective to explain the activities that were carried out to install a server of content in the career of Information Technology and Communication, which will make more efficient the way to publish relevant and useful information for teachers and students. We analyzed the features and functionality of various systems for content management, work on Linux and other platform under Windows platform, or both. The software I used is Joomla! LAMP (LINUX, Apache, MySQL, Php), All this within the operating system Ubuntu 10.04 which causes no problem installing Joomla! and complements. It shows the methodology followed to install the server from downloading the program, applications, Apache, MySQL and PHP, as well as installation and configuration step by step. The use of this server of contents facilitates the creation of templates that will be displayed on a screen showing all the staff I interacted in the career with. The software Joomla! offers predesigned templates for adding texts, images or videos you want to publish on the screen with the desired style, which facilitates the task of displaying information and above all with an excellent presentation, resulting attractive and interesting. 6
CAPITULO 1. INTRODUCCIÓN Para el desarrollo de sistemas en web se utilizaban editores con funcionalidades específicas y en sus inicios estaban enfocados a la creación y no al mantenimiento. En los últimos años se han desarrollado los sistemas de gestión de contenidos (Content Managent Systems o CMS) los cuales son herramientas que permiten crear y mantener un sistema con facilidad y proporcionan un entorno que posibilita la actualización, mantenimiento y ampliación de la web con la colaboración de usuarios múltiples. Existe una gran cantidad de CMS cada uno con características propias, algunos son gratuitos y otros necesitan licencia. Un Sistema de Gestión de contenidos que resulta ser popular por su funcionalidad es Joomla! un software de código libre y que cuenta con gran cantidad de colaboradores e infinidad de aplicaciones. Adicionalmente se utiliza Lenguaje PHP, servidor apache y MySQL, que tienen la ventaja de trabajar en plataforma basada en LINUX formando una excelente combinación cuando se requiere implementar un Servidor de contenidos sin gasto alguno. El presente trabajo contiene la documentación sobre la instalación del servidor, abarcando desde la elección del software hasta su Implementación. 7
1.1 ANTECEDENTES Dentro de la carrera de Tecnologías de la Información y Comunicación se ha identificado la necesidad de hacer más eficiente la manera de informar a profesores y alumnos sobre las actividades que se tienen contempladas a realizar o simplemente mostrar información que se considere de interés y utilidad para el personal. Se necesita un sistema que permita ingresar de manera práctica y sencilla todo tipo información que se desee comunicar ya sea texto, imágenes o video, que a su vez esta información debe mostrarse en una interfaz atractiva para todas las personas que interactúan en la carrera. Hasta ahora para dar a conocer alguna información relevante o de último momento en la carrera se tenía que informar personalmente a profesores, después ellos se encargaban de hacer del conocimiento de los alumnos la información recibida. Para lograr el objetivo planteado se necesita implementar un Servidor con un sistema para gestión de contenidos (CMS) el cual permitirá generar los avisos informativos de una manera fácil pero con excelente presentación. 8
1.2 JUSTIFICACIÓN Actualmente los sistemas para la administración de contenidos son utilizados en bancos, negocios, escuelas, entre otros, con la finalidad de mantener informadas a todas las personas que interactúan en el lugar. Por ejemplo las empresas pueden centralizar la gestión del conocimiento en un solo repositorio (conocido como almacenamiento inteligente), separar el contenido del diseño, compartir y reutilizar contenidos propios de otros colaboradores, así como la presentación de información personalizada a los clientes o proveedores. 1.3 OBJETIVOS Publicar información de manera eficiente para mantener informadas a todas las personas que interactúan en la carrera de Tecnologías de la Información y Comunicación sobre los acontecimientos e información relevante que se genera. 1.4 ALCANCES Elección de la plataforma y software a utilizar para la implementación del servidor de contenidos. Verificar que las funcionalidades del software elegido cubran las necesidades de la carrera. Instalación de equipo en el lugar asignado para el servidor de contenidos. 9
CAPITULO 2. FUNDAMENTACIÓN TEÓRICA Actualmente se conoce a los sistemas de administración de contenidos (CMS o Content Management Systems) como programas que permiten crear una estructura de soporte para la creación y administración de sistemas en web que tienen diferentes aplicaciones. Estos son sistemas que permiten elaborar un portal con facilidad, si el portal se va a alojar en un servidor Linux o Unix, el sistema web deberá instalarse utilizando principalmente el lenguaje PHP y una base de datos MySQL, si el alojamiento se hace en un servidor Windows, se deberá utilizar el entorno de programación ASP.NET (con lenguajes como Visual Basic o C#) y una base de datos Microsoft SQL Server. Los CMS para servidores Linux-Unix están especializados en varios tipos de contenidos como blogs, foros, galerías fotográficas, entre otros, Joomla! Quizás el más grande, con el mayor número de entusiastas y desarrolladores, cuenta con una amplia colección de módulos, plantillas y plugins que facilitan la elaboración de contenidos. Para la instalación y correcto funcionamiento de Joomla! se necesita instalar los siguientes componentes: PHP: es un lenguaje de código abierto utilizado para la creación de sistemas web que puede ser incrustado en HTML y ejecutado en el servidor, por lo tanto no permite acceder a los recursos como puede ser una base de datos. MySQL: es software de fuente abierta utilizado para gestión de base de datos relacional, multihilo y multiusuario. Su popularidad como aplicación web está muy ligada a PHP, que a menudo aparecen en combinación. 10
Apache: es un servidor web HTTP de código abierto para plataformas Unix (BSD, GNU/Linux), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP y la noción de sitio virtual. Apache es usado principalmente para enviar sitios estáticos y dinámicos en la World Wide Web. 11
2.1 Plan de Actividades El diagrama de Gantt muestra las tareas que se llevaran a cabo y el tiempo asignado para concluir el proyecto en tiempo y forma. Ver figura 2.1. Fig.2.1 Diagrama de Gantt 12
2.2 Recursos Materiales y Humanos Para poder realizar un proyecto de forma correcta es necesario contar con recursos humanos y materiales adecuados. Los recursos que se necesitan para la implementación del Servidor de contenidos son: Recursos Humanos: 1 Líder de Proyecto 2 Analistas y programadores Recursos Materiales Equipo de cómputo Requisitos mínimos: - Procesador de 1Ghz x86 - Memoria RAM de 512 Mb - Disco duro de 5Gb - Tarjeta gráfica VGA - Monitor con resolución mínima de 1024x 768 - Lector de CD-ROM o tarjeta de red o puerto USB 13
- Tarjeta de Sonido Pantalla Software El software utilizado se muestra en la Tabla 2.1. Software Requisitos Mínimos Recomendado Últimas opciones PHP 4.3.10 4.4.7 5.x series MySQL 3.23.x o superior 5.x series Apache 1.3 o superior 2.2 series Joomla! 1.5x Tabla 2.1 Requisitos de software 14
CAPITULO 3. DESARROLLO DEL PROYECTO Después de hacer el análisis de necesidades, investigación y elección de la alternativa óptima para la realización del proyecto en la Carrera de tecnologías de la información y comunicación, se dividio en dos etapas, instalación de Joomla! y la administración de contenido. El siguiente trabajo contiene la instalación de Joomla! 1.5 en Ubuntu 10.04. Teniendo instalado Ubuntu 10.04 todos los comandos que se mencionan a continuación deben ser ejecutados en la terminal/consola, localizado en Aplicaciones + Accesorios + Terminal. Los comandos precedidos por un # deben ser ejecutados como súper usuario (ROOT). Paso 1: Instalación de servidor web con Apache2: # apt-get install apache2-mpm-prefork Este comando instala desde Internet el servidor apache, después de resolver las dependencias necesarias pregunta si desea continuar, se teclea S (Mayúscula) y esto se hará para la mayoría de los paquetes que se instalan mediante apt-get. Paso 2: una vez que el proceso termine, se debe especificar la asociación que tiene el nombre de la PC/Servidor con el nombre de dominio, esto se llama FQDN y se hace de la siguiente manera: Crear el archivo de fqdn dentro de la configuración de apache con algún editor: 15
# nano /etc/apache2/conf.d/fqdn Dentro de este archivo se escribe lo siguiente: ServerName localhost ServerName no es el nombre del servidor, si se personaliza esta sentencia Apache causara error. Paso 3: Se utiliza PHP y se necesita especificar que el servidor usa al archivo index.php, se tiene que hacer otra edición del archivo /etc/apache2/sitesavailable/default la cual se agrega con la siguiente línea, debajo de la línea DocumentRoot/var/www como se muestra en la figura 3.1 DirectoryIndex index.php index.html index.htm Fig. 3.1 Edición de archivo Paso 4: instalar MySQL, durante la instalación el sistema va a pedir una contraseña la cual es muy importante ya que se utilizará para entrar como administrador al servidor de base de datos. # apt-get install mysql-server 16
Paso 5: Teniendo el servidor de base de datos es necesario instalar el lenguaje de programación (PHP versión 5) y el módulo para el servidor que se va a utilizar (php5-mysql): # apt-get install php5 php5-mysql Paso 6: Apache esta instalado pero no reconoce los cambios hechos en él, se necesita reiniciar el servicio de la siguiente manera: # /etc/init.d/apache2 restart Si se muestra lo siguiente es que apache se ha reiniciado sin problemas (figura 3.2). Fig.3.2 Reinicio de php Los cambios han sido reconocidos por Apache y se confirma de la siguiente manera. En el navegador se teclear la IP local http://127.0.0.1 y se muestra la figura 3.3. Fig. 3.3 Apache 17
Paso 7: Después de verificar el correcto funcionamiento de apache, se debe comprobar la instalación de PHP y se hace mediante la creación de un archivo dentro de /var/www: # nano /var/www/inicio.php Y dentro de este archivo también se agrega la siguiente línea: <? phpinfo () ;?> Se verifica la instalación ingresando en el navegador http://127.0.0.1/inicio.php y si está correcto se observa el contenido de la figura 3.4. Fig. 3.4 PHP Paso 8: Descargar la versión de Joomla! 1.5.xx. Se coloca dentro de una carpeta llamada Joomla en /var/www: Crear la carpeta: 18
# mkdir /var/www/joomla Entrar al directorio # cd /var/www/joomla Descargar y descomprimir la última versión de Joomla! dentro de la carpeta: #wget http://joomlacode.org/gf/download/frsrelease/12649/53618/joomla_1.5.20- Spanish-pack_completo.tar.gz # tar zxvf Joomla_1.5.20-Spanish-pack_completo.tar.gz Una vez realizado, se crea una serie de variables dentro de /var/www/joomla. Teclear lo siguiente: PLACES=' (esto arrojará un signo > en el que se tecleará lo siguiente línea por línea) administrator/backups administrator/components administrator/modules administrator/templates cache components 19
images images/banners images/stories language plugins media modules templates ' (este es un ' que indica que se terminó de ingresar variables) Al tener el promt normal es necesario hacer los cambios de permisos para las variables que se acaban de crear, para eso se tecleará: for i in $PLACES; do Se muestra de nuevo el >, teclear: sudo chown -R www-data:www-data $i Después; done Con este paso se termina la tarea de los permisos de los directorios. Continúan los permisos de los archivos lo cual se realiza de la siguiente manera: 20
# find. -type f -exec chmod 644 {} \; # sudo find. -type d -exec chmod 755 {} \; Nota: Recordar que todo esto es dentro de /var/www/joomla Paso 9: Configurar el servidor de base de datos creando un nuevo usuario. Para entrar a MySQL teclear: mysql h nombredelservidor u usuario(root) -p Nota: El sistema pide el password que se definió en el paso 4. Paso 10: Acceder al servidor de base de datos y crear un usuario con contraseña. Entrar a MySQL Y teclear lo siguiente: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON bdjoomla.* TO ''@'localhost' IDENTIFIED BY '; Activar los privilegios necesarios y salir del servidor: FLUSH PRIVILEGES; quit Paso 11: Por seguridad es importante eliminar el archivo historial de MySQL ya que ahí se ha guardado el usuario y contraseña: rm -f ~/.mysql_history 21
Paso 12: Teclear en el navegador http://127.0.0.1/joomla y debe abrir la pantalla de idioma que muestra la figura 3.5 Fig.3.5 Pantalla de idioma Paso 13: El software realiza la comprobación previa de los componentes instalados como se muestra en la figura 3.6 Fig. 3.6 Comprobación del sistema Si arroja algún error en al área de configuración.php escribible se soluciona creando el directorio y dando los permisos necesarios: # touch /var/www/joomla/configuration.php 22
# chown www-data:www-data /var/www/joomla # chown www-data:www-data /var/www/joomla/configuration.php #chmod 644 /var/www/joomla/configuration.php Después de realizar lo anterior, pulsar en volver a comprobar y el error no se debe mostrar. Paso 14: Aceptar la licencia. Figura 3.7 Fig. 3.7 Aceptar la licencia Paso 15: Configuración de la base de datos. Se debe especificar el nombre del servidor, Nombre de usuario y contraseña y el nombre de la base de datos. Figura 3.8 23
Fig. 3.8 Configuración base de datos Paso 16: Configurar el nombre del sitio y correo electrónico del administrador, seleccionar Instalar los datos de ejemplo predeterminados. Figura 3.9 Fig. 3.9 Configuración del administrador 24
Paso 17. Finalizar instalación Se ha terminado la instalación de Joomla! con LAMP, para continuar con la siguiente ventana es necesario modificar los permisos del archivo configuration.php y eliminar la carpeta de instalación: # rm R /var/www/joomla/installation #chmod 644 /var/www/joomla/configuration.php Escribir en el navegador. Http para entrar a la ventana de administrador. Figura 3.10 Fig. 3.10 Ventana de administrador Joomla! está instalado y se puede ingresar con el usuario y contraseña como se muestra en la figura 3.11. 25
Fig.3.11 Inicio de Joomla! Se ha concluido la instalación de Joomla! y sus componentes, el siguiente paso es la etapa de configuración, que es la segunda parte del proyecto. 26
CAPITULO 4. RESULTADOS OBTENIDOS - Se logró instalar correctamente el servidor de contenidos con LAMP. - Se publicó información de manera eficiente en diferentes formatos texto, imagen y video, con excelente presentación en la carrera de tecnologías de la información y comunicación. - Se pudo cumplir el objetivo de informar en tiempo y forma a todas las personas que interactúan en la carrera. - Se coloco el servidor en el lugar asignado. 27
4.1 ANÁLISIS DE RIESGOS ANALISIS DE RIESGOS NOMBRE DEL PROYECTO: SERVIDOR DE CONTENIDOS RESPONSABLES: RICARDO OLVERA, ARMANDO RANGEL FECHA:14/02/11 DESCRIPCION PROBABILIDAD EFECTO SOLUCION Atraso en la entrega de equipo para instalación de software Que no exista software de código libre para el proyecto El lugar asignado para trabajar no tenga lo necesario para desarrollar el proyecto Que el software a utilizar resulte difícil de usar para el usuario final Que no se cumplan por completo las necesidades que se tenían con la instalación del servidor medio alto Establecer fechas de entregas tanto nuestras como de ellos sobre los requerimientos nuestros medio alto Consultar en internet antes de instalar el SO a utilizar alto medio Establecer los requisitos nuestros para la realización del proyecto (internet, PC, entre otros). alto alto Buscar software libre pero con interface gráfica para el usuario medio medio Establecer claramente las necesidades y los alcances del proyecto Tabla 4.1 Análisis de riesgos 28
CAPITULO 5. CONCLUSIONES Y RECOMENDACIONES 5.1 CONCLUSIONES Con la instalación del servidor de contenidos se facilita el flujo de información en todos los niveles de la carrera de Tecnologías de la Información y Comunicación, asegurando la fiabilidad y reduciendo el tiempo en que se notifica a todo el personal. El software utilizado tiene una interfaz fácil de entender y como resultando es sencillo modificar el contenido de la aplicación y cualquier persona lo puede realizar, no necesariamente algún experto de informática. El uso de las plantillas prediseñadas hace fácil la actualización de la información porque solo se necesita colocar los archivos en lugares específicos del servidor sin necesidad de programar alguna línea de código, dando como resultando un sistema eficiente. 29
5.2 RECOMENDACIONES Para facilitar aun más la publicación de información se puede colocar el servidor en red, el programa Joomla! tiene la opción de activar el protocolo FTP para trabajar como servidor. También es recomendable que al instalar Joomla! y los programas que se necesitan para que funcione Joomla! Se tenga acceso a Internet con buena velocidad ya que todos los programas se descargan por líneas de comandos y a veces cuando la conexión se pierde por unos segundos ya no se puede continuar desde el porcentaje que se tenía, se tiene que teclear los comandos y empezar de cero, además que la buena velocidad ahorra tiempo en la espera de la instalación. Se recomienda asignar una persona como responsable de la actualización de la información y administración del servidor de contenidos para asegurar la integridad y fiabilidad de la información. 30
REFERENCIAS BIBLIOGRAFICAS Instalación de Joomla! en Ubuntu 10.04 con LAMP capitulo 3. Recuperado instalar-joomla-en-linux-ubuntu-con-lamp.html Configuración de Joomla! Capitulo 3. Recuperado 23 de Diciembre de 2006 de http://ayuda.joomlaspanish.org/ayuda-joomla/ Instalación del modulo de video Capitulo 3. Recuperado 25 de Febrero de 20 de Noviembre del 2010, de http://ayudajoomla.com/joomla/tutoriales/248-2010 de http://www.lasticenelaula.es/portal/index.php?option=com_content&view=art icle&id=144:el-plugin-allvideos-o-como-visualizar-videos-en-tu-sitiojoomla&catid=7:plugins&itemid=21 Descarga del software capitulo 3. Recuperado 30 de octubre de 2009 de http://www.joomlaspanish.org/ Descripción de servidor de contenidos capitulo 1. Recuperado 11 de noviembre de 2008 de http://www.desarrolloweb.com/articulos/que-es-uncms.html 31