Your SlideShare is downloading. ×
Kitsune documentation
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Kitsune documentation

226
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
226
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Preparando nuestro sistema: Kitsune’s Documentation!Decidí registrarme para colaborar con la gente de Mozilla, para saber en quegrupo quería colaborar me fijé en el siguiente link:Link:https://wiki.mozilla.org/Webdev/GetInvolved#support.mozilla.org_.28SUMO.29De las opciones que ahí figuran me interesó el grupo de:support.mozilla.org (SUMO):Firefox Help is the support site for Firefox users. It helpts millions of usersevery week through a knowledge base and support forum. It also providescollaboration and localization tools for the contributors. It uses technology likePython, Django, MySQL, Redis, Memcached, Elastic Search and more. • Fork us on Github: https://github.com/mozilla/kitsune • Who: Ricky Rosario (r1cky) & Will Kahn-Greene (willkg) • IRC: irc.mozilla.org/ & Channel: #sumodev • Support on Bugzilla: https://bugzilla.mozilla.org/buglist.cgi? quicksearch=OPEN%20product%3Asupport.mozilla.orgOpté por ese grupo por el hecho de que usan Python y Django, y MySQL.Me incentivó a formar parte de Mozilla como Contributor el hecho de quequiero empezar a poner en marcha lo que se de Python, Django, MySQL yGit y la mejor manera de hacerlo es contribuyendo y tratando de aportar aesta comunidad que tanto me ayudó y me sigue ayudando.Paso a contar mi experiencia preparando mi sistema para empezar aponerme en acción.La distro que decidí para usar es:Linux Mint 13 Maya KDE de 32 bits:http://www.linuxmint.com/edition.php?id=115Estas son las otras opciones dentro de Linux Mint 13 Maya:http://www.linuxmint.com/download.php
  • 2. Elegí esta distro porque en los últimos años me fui inclinando por Mint y mevienen hablando también bastante bien de KDE, asi que le quise dar unaoportunidad y la verdad todo marcha sobre ruedas con esta distro.La guía para preparar el sistema es la siguiente:http://kitsune.readthedocs.org/en/latest/index.html, si bien está en inglés esentendible y sus pasos fácil de seguir. Aunque debo admitir que en ciertosmomentos me bloqueé pero los hice estando en el chat, y con la ayuda yguía de los chicos, en especial de r1cky pude completar la guía de formasatisfactoria.Mi recomendación es la de seguir la guía estando en el chat, para poderconsultar ante cualquier duda que tengamos.Algo que hice antes de empezar con la guía, lo que hice fue actualizar miFirefox de 12 que es el que trae esta distro a la 15 y cree un Bookmark:Mozilla_SUMO y ahí guardé los siguientes links:Webdev/GetInvolved:https://wiki.mozilla.org/Webdev/GetInvolved#support.mozilla.org_.28SUMO.29Kitsune’s Documentation:http://kitsune.readthedocs.org/en/latest/index.htmlHecho eso procedí con la guía.Arranqué con PART 2: DEVELOPER’S GUIDE – INSTALLATIONLos Requerimientos del sistema son los siguientes: • Python 2.6 or 2.7 • setuptools or pip • MySQL Server and client headers • Memcached Server • RabbitMQ • libxml and headers • libxslt and headers • libjpeg and headers • zlib and headers • LESS • Redis • Several Python packages. See Installing the Packages. • Elastic Search. Search covers installation, configuration, and running.
  • 3. Python: La mayoría de las distros ya viene con Python, generalmente laversión 2.7, la mía es la versión 2.7.3.setuptools or pip: pip es una herramienta para instalar y gestionar paquetesPython, es el reemplazo deeasy_install.Fuente: http://www.pip-installer.org/en/latest/index.htmlPara instalar pip seguí los siguientes pasos.Primero verifiqué la existencia de los siguientes paquetes en el repositorio deMint:sudo apt-cache search python-pipResultado de la búsqueda:python-pip – alternative Python package installersudo apt-get install python-pipLuego busqué:sudo apt-cache search python-devResultado de la búsqueda:python-dev – header files and a static library for Python (default)sudo apt-get install python-devpython-dev: son los headers files de pythonsirven para que otras libreriaspuedan llamar y utilizar codigo de python al momento de compilar cosaspython-dev es el nombre que le suelen dar quienes empaquetan cosas endistribuciones como ubuntu o debian o fedora. GRACIAS EMI, SOS UNGROSO (http://ar.linkedin.com/pub/emiliano-dalla-verde-marcozzi/13/166/349)Busco ahora:sudo apt-cache search build-essentialResultado de la búsqueda:build-essential – Lista informativa de los paquetes build-essential
  • 4. build-essential: tiene las instrucciones para instalar los paquetes esencialespara programar en C/C++ (y hacer otras cosas relacionadas con la creaciónde paquetes “.deb”.)Fuente: http://carlosruizortega.wordpress.com/2008/05/12/build-essential/Una vez que los tres paquetes se encuentran instalados: python-pip, python-dev y build-essential hacemos lo siguiente:sudo pip install –upgrade pipFuente: http://www.saltycrane.com/blog/2010/02/how-install-pip-ubuntu/MySQL: es un sistema de gestión de base de datos relacional, multihilo ymultiusuario.Necesitamos primero asegurarnos como en el paso anterior que seencuentran en nuestro repositorio, para eso realizamos las siguientesbúsquedas:sudo apt-cache search mysql-servermysql-server – MySQL database server (metapackage depending on thelatest version)mysql-server-5.5 – MySQL database server binaries and system databasesetupmysql-server-core-5.5 – MySQL database server binariessudo apt-get install mysql-server mysql-server-5.5 mysql-client-5.5 mysql-server-core-5.5mysql-server: es un administrador que permite agregar, acceder y procesarlos datos almacenados en una computadora.mysql-client: sirve para lo que todos los clientes sql, para escribir consultassql y ver/recibir los resultados. GRACIAS TOTAL A MURRAY.Durante la instalación de MySQL nos va a pedir que ingresemos el passwordque va a usar nuestro usuario root.Memcached Server: es un sistema distribuido de propósito general paracaché basado en memoria, diseñado por Danga Interactive y que es muyusado en la actualidad por múltiples sitios web.Fuente: http://es.wikipedia.org/wiki/Memcached
  • 5. Para instalarlo seguí los siguientes pasos: • Hice una actualización: sudo apt-get update • Como en el paso anterior ya instalamos mysql-server, debemos instalar ahora: php5-mysql y php5 php5-memcacheEs una costumbre que tengo, la de revisar si se encuentran en losrepositorios.sudo apt-cache search php5-mysqlphp5-mysql – MySQL module for php5sudo apt-cache search php5-memcachephp5-memcache – memcache extension module for PHP5Los instalamos:sudo apt-get install php5-mysql php5 php5-memcacheDespués se procede a la instalación de Memcache:sudo apt-get install memcachedLuego se instala php-pear, que es el repositorio que almacena memcache.sudo apt-get install php-pearNota: La guía pide que se instale build-essential, pero este paso como esobvio lo omitimos. Por qué? Por que ya lo instalamos cuando hicimos lainstalación de pip.Por lo que pasamos al siguiente paso:sudo pecl install memcachepecl (PHP Extension Community Library): conceptualmente es similar aPEAR. PECL contiene extensiones C para compilar en PHP.Fuente:http://en.wikipedia.org/wiki/PHP_Extension_Community_Library#PECLDurante la instalación se realiza una pregunta, hay que contestar que sí:“yes”.
  • 6. Una vez que se completó esta instalación hay que hacer lo siguiente:sudo echo “extension=memcache.so” > sudo /etc/php5/conf.d/memcache.iniLo que estamos haciendo es añadir memcache a memcache.iniFuente: https://www.digitalocean.com/community/articles/how-to-install-and-use-memcache-on-ubuntu-12-04RabbitMQ: es un software de negociación de mensajes de código abierto, yentra dentro de la categoría de middleware de mensajería. Implementa elestándar Advanced Message Queuing Protocol (AMQP). El servidorRabbitMQ está escrito en Erlang y utiliza elframework Open TelecomPlatform (OTP) para construir sus capacidades de ejecución distribuida yconmutación ante errores.Fuente: http://es.wikipedia.org/wiki/RabbitMQEsta parte depende de ustedes, digo esto porqué, porque en el repositoriofigura rabbitmq, pero no es la última versión, en mi caso opté por bajar laúltima disponible en el sitio oficial:http://www.rabbitmq.com/download.htmlAhí vemos las distintas opciones de acuerdo a los distintos sistemasoperativos y en caso de linux, de acuerdo a las distintas distros.En mi caso descargué: rabbitmq-server_2.8.6-1_all.debLo instalé de la siguiente manera:sudo dpkg -i rabbitmq-server_2.8.6-1_all.debAclaración: En caso de que hagan como yo y usen la última versióndisponible, recuerden que hay que cumplir con todas las dependencias, esdecir instalar los paquetes erlang. Lo remarco de esta manera porque quecuando quise instalar directamente el .deb me dio problemas y lo solucionéinstalando las dependencias, que lo hice mediante previo chequeo:sudo apt-cache search erlangEl resultado fue bastante extenso, pero figura y procedí a su instalación:sudo apt-get install erlangCuando terminó la instalación, volví a ejecutar el comando para instalar el
  • 7. .deb y lo hizo sin problema alguno.libxml: es una biblioteca de código para analizar documentos XML. Estambién la base de la biblioteca libxslt, que procesa hojas de estilo XSLT-1.0.Fuente: http://es.wikipedia.org/wiki/LibxmlEsta instalación es muy sencilla, se encuentra en el repositorio, si la buscan:sudo apt-cache search libxmlEl resultado va a ser no muy largo pero si tal vez algo extenso, lo que hayque instalar es lo siguiente:sudo apt-get install libxml2 libxml2-devlibxsltLa instalación es igual a la anterior, buscamos en los repos:sudo apt-cache search libxsltPara instalarlo hay que hacer lo siguiente:sudo apt-get install libxslt1.1 libxslt1.devzlib: es una biblioteca de compresión de datos, de software libre/fuenteabierta, multiplataforma desarrollada por Jean-loup Gailly y Mark Adler. Estabiblioteca provee una implementación del algoritmo DEFLATE usado en elprograma de compresión gzip.Fuente: http://es.wikipedia.org/wiki/ZlibSi lo buscamos:sudo apt-cache search zlibEl resultado va a ser bastante largo, pero lo único que debemos instalar es:sudo apt-get install zlib-binLESSLa guía lo indica bien, antes de instalarlo debemos instalar Node.js y NPM.
  • 8. Buscamos npm:sudo apt-cache search npmnpm – package manager for Node.jssudo apt-get install npmLuego:sudo npm install lessRedis: es un motor de base de datos en memoria, basado en elalmacenamiento en tablas de hashes (llave, valor) pero que opcionalmentepuede ser usada como una base de datos durable o persistente.Fuente: http://es.wikipedia.org/wiki/RedisLa instalación la seguí al pie de la letra del sitio oficial. Los pasos son lossiguientes:wget http://download.redis.io/redis-stable.tar.gztar xvzf redis-stable.tar.gzcd redis-stablemakeLuego del make el sitio dice que si se quiere testear si trabaja de formacorrecta o no, para hacerlo el comando es el siguiente:make testAclaración: Me pasó que cuando quise hacer el test, tuve un mensaje deerror y era porque no estaba cumpliendo una dependencia y la solucioné dela siguiente manera:sudo apt-get install tcl8.5Ejecuté de nuevo el test y funcionó perfectamente.Sugerencia: Yo personalmente lo hice, total no cuesta nada y nosaseguramos de que todo va en orden.Luego debemos hacer las siguientes copias, para ubicarlas en el lugarcorrecto. Para hacerlo lo que hay que hacer es ubicarnos en la siguiente ruta:
  • 9. redis-stable/src/Cuando descargamos redis y lo descomprimimos se creó un archivo con esenombre: redis-stable y dentro de ésta se encuentra una carpeta con elnombre src, nos ubicamos ahí y realizamos las 2 siguientes copias: • sudo cp redis-server /usr/local/bin/ • sudo cp redis-cli /usr/local/bin/Luego de haber hecho esto incializamos Redis para probar que funciona,para hacerlo permanecemos en la ruta /redis-stable/src/ y ejecutamos elredis-serverFuente: http://redis.io/topics/quickstartElastic Search: es un servidor de búsqueda basado en Apache Lucene.Fuente: http://en.wikipedia.org/wiki/ElasticSearchPara instalarlo seguí los siguientes pasos:sudo apt-get install openjdk-7-jre -ywget https://github.com/downloads/elasticsearch/elasticsearch/elasticsearch-0.19.0.tar.gz -O elasticsearch.tar.gztar -xf elasticsearch.tar.gzrm elasticsearch.tar.gzsudo mv elasticsearch-* elasticsearchsudo mv elasticsearch /usr/local/shareNota: Se va a hacer uso de curl, en mi caso cuando lo quise ejecutar alcomando que voy a colocar ahora, me dio un error, por problema dedependencia, que lo solucioné de la siguiente forma:sudo apt-get install curlUna vez satisfecha esta dependencia hay que seguir con esto:curl -L http://github.com/elasticsearch/elasticsearch-servicewrapper/tarball/master | tar -xz
  • 10. mv *servicewrapper*/service /usr/local/share/elasticsearch/bin/rm -Rf *servicewrapper*sudo /usr/local/share/elasticsearch/bin/service/elasticsearch installsudo ln -s `readlink -f/usr/local/share/elasticsearch/bin/service/elasticsearch`/usr/local/bin/rcelasticsearchsudo service elasticsearch startFuente: https://gist.github.com/2026107Por último queda instalar git:http://git-scm.com/book/es/Empezando-Instalando-GitBueno eso es todo por ahora, saludos.