Dependencias
Antes de empezar con la instalacion de la pagina clon de reddit ocupamos instalar algunas dependencias muy importantes:
PostgreSQL (version 9.0 o superior)
Es un Sistema de Gestión de Bases de Datos, un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos.
$ sudo apt-get install postgresql
Cassandra (version 1.0 o superior)
Cassandra Apache es una base de datos comoda y muy conveneniente, utilizada por muchas paginas web.
Cassandra no se encuentra en los repositorios de los mirrors de la UCR que tenemos configurados, por tanto hay que modificar nuestro sources.list:
$ sudo emacs /etc/apt/sources.list
y agregamos al final:
deb http://www.apache.org/dist/cassandra/debian 11x main deb-src http://www.apache.org/dist/cassandra/debian 11x main
luego de esto hacemos un apt-get update y ya podemos instalar cassandra:
$ sudo apt-get install cassandra
memcached (version 1.4 o superior)
(Distributed memory object caching system)
$ sudo apt-get install memcached
RabbbitMQ (version 2.0 o superior)
Es un confiable sistema de mensajeria entre aplicaciones.
Al igual que cassandra no lo podemos encontrar en la listas de repositorios que tenemos, de la misma forma agregamos a la lista:
deb http://www.rabbitmq.com/debian/ testing main
y luego lo instalamos:
$ sudo apt-get install rabbitmq-server
$ sudo apt-get install haproxy
Java JDK
Para el funcionamiento de algunos programas necesarios para la instalacion, ocupamos tener Java instalado.
Al hacer apt-cache search nos damos cuenta que tenemos varios JDK y JRE a disposicion, pero instalamos el SunJava ya que el uso de OpenJDK
nos puede ocasionar problemas de compatibilidad con algunos programas. Lo podemos encontrar con aptitude:
$ sudo apt-get install sun-java6-jdk
en caso de que ya tengamos algun otro JDK instalado, podemos cambiar al sun de la siguiente forma:
$ sudo update-alternatives --config java
Tambien ocupamos ciertas librerias faciles de instalar. La mayoria de ellas se pueden encontrar en aptitude entonces solo se mostrara el nombre del paquete
Python - python-dev
Setuptools - python-setuptools
Pylons - python-pylons
Libmemcached - libmemcached5 y libmemcached-dev
Libpqxx - libpqxx-dev
Gettext - gettext
PyCAPTCHA - python-captcha