Giter Club home page Giter Club logo

distributor's Introduction

Distributor

Distributor is a software developed with Rails for uploading and syncing files from a central server to remote locations.

TODOS

  • inicio automático de delayed_job con varios procesos (-n 10) con monit
  • Traducir mensajes FLASH que faltan
  • Barra de Progreso cuando se carga archivo
  • Barra de Progreso cuando se activa servidor
  • Mejorar el Look del correo enviado

Configuración S.O.

Distributor esta certificado para ser ejecutado en sistemas operativos Red Hat Linux 6 o similares como CentOS y Oracle Linux.

La instalación del S.O. queda fuera del alcance de esta guía, pero Distributor espera que la configuración del Sistema Operativo:

  • Permita acceso HTTP/S hacia Internet, para instalación de dependencias.
  • Tenga configurado el repositorio EPEL - http://fedoraproject.org/wiki/EPEL/es
  • Configurar el repositorio de NODEJS
rpm -ivh http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm
  • Se haya instalado el paquete puppet
  • Configurar SELinux en modo permissive

Descargar Distributor

Se debe descargar el archivo zip y luego descomprimirlo. La carpeta resultante tendrá dos directorios:

  • distributor/ : es el directorio de la aplicación y su contenido debe ser copiado, con rsync, en /var/www/distributor. El usuario y grupo apache deben ser propietarios del directorio, y

  • puppet/ : que contiene la configuración automática y su contenido debe ser copiado en /etc/puppet

Configuración automática con puppet

Se debe copiar el contenido del directorio puppet en el directorio /etc/puppet. El directorio /etc/puppet debería tener el siguiente contenido:

$ ls /etc/puppet/
auth.conf  manifests  modules  puppet.conf

Posteriormente se debe aplicar la configuración del Sistema Operativo ejecutando:

$ puppet apply /etc/puppet/manifests/default.pp

Este proceso puede demorar varios minutos, lo cual depende de la velocidad de acceso a Internet y la potencia del equipo.

Configurando Distributor

Instalar Dependencias

Dentro del directorio de la aplicación (/var/www/distributor), se debe ejecutar el comando bundle

$ bundle install

Servidor STMP

La configuración del servidor de correo se realiza en el archivo config/initializers/smtp_config.rb, se puede usar como base el archivo config/initializers/smtp_config.rb.example. Es necesario configurar al menos los siguientes parámetros:

  • Hostname del Servidor donde se instaló Distributor
  • Nombre/IP servidor de correos,
  • Puerto
Distributor::Application.config.action_mailer.default_url_options = { :host => "distributor.example.com" }

ActionMailer::Base.delivery_method = :smtp

ActionMailer::Base.smtp_settings = {
  :address        => "mail.example.com",
  :port           => 587,
  :domain         => "example.com",
  :user_name      => "[email protected]",
  :password       => "super pass"
}

Después modificar la dirección de correo del emisor de los correos editando el archivo config/initializers/devise.rb

config.mailer_sender = "[email protected]"

Configurar Base de Datos

La configuración se realiza en el archivo config/database.yml

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: distributor_production
  pool: 5
  username: distributor
  password:
  socket: /var/lib/mysql/mysql.sock

Más información sobre las opciones de configuración en http://bit.ly/JaFK4o

Luego se debe crear la base de datos, pare ello ejecutar el siguiente comando desde el directorio raíz de la aplicación.

$ RAILS_ENV=production rake db:setup

Crear usuario de Administración

Desde el directorio raíz de la aplicación ejecutar el siguiente comando y seguir las instrucciones

$ RAILS_ENV=production rake distributor:build_admin

Crear llave de conexión

Desde el directorio raíz de la aplicación ejecutar el siguiente comando, el cual creará llaves SSH para la conexión con los servidores de sincronización. NO usar passphrases

$ RAILS_ENV=production rake distributor:create_ssh_key

Compilar Assets

Se deben compilar los archivos CSS y Javascript, para ello ejecutar

$ RAILS_ENV=production rake assets:clean
$ RAILS_ENV=production rake assets:precompile

Iniciar Pool de Trabajos

Este es el demonio que se encarga de realizar las tareas de sincronización:

$ RAILS_ENV=production script/delayed_job -n 10 start

distributor's People

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.