Enviado por admin el
CGRates en un sistema de facturación que puede ser integrado con FreeSWITCH, OpenSIPs y Kamailio. Es altamente escalable y está escrito en el lenguaje de programación GO (golang). Su instalación en Debian es muy sencilla mientras que en CentOS es un poco más complicada y es la que veremos a continuación. El Programa está pensado para ISPs y Compañías de Telecomunicaciones y, aunque todavía no tiene una versión estable y una documentación pobre, puede ser una buena elección para OpenSIPs y Kamailio. Estamos trabajando con el mismo servidor donde hemos instalado primero Kamailio y luego Siremis. Importante: se accederá al servidor con el usuario root. Iniciamos con la instalación de GO:
cd /usr/src
wget https://storage.googleapis.com/golang/go1.5.2.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.5.2.linux-amd64.tar.gz
ln -s /usr/local/go/bin/go /usr/local/bin/go
ln -s /usr/local/go/bin/godoc /usr/local/bin/godoc
ln -s /usr/local/go/bin/gofmt /usr/local/bin/gofmt
Seguimos con la instalación de la ultima versión disponible de GIT ya que la que viene por defecto con CentOS 6.7 no “sirve” para la instalación de algunas dependencias que utilizará CGRateS:
cd /usr/src
wget https://github.com/git/git/archive/v2.6.3.tar.gz
tar -xf v2.6.3.tar.gz
cd git-2.6.3
make configure
./configure --prefix=/usr
make all doc info
make install install-doc install-html install-info
Se averigua que se ha instalado correctamente:
git version
git version 2.6.3
Ya podemos empezar con la creación del paquete RPM para luego instalarlo en el sistema. Primero descargamos la ultima versión disponible con Git:
cd /usr/src
git clone https://github.com/cgrates/cgrates.git
creamos una serie de carpetas en la carpeta de root:
cd /root
mkdir -p $HOME/cgr_build/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
bajamos el paquete de la ultima versión disponible en la carpeta SOURCES:
wget -P $HOME/cgr_build/SOURCES https://github.com/cgrates/cgrates/archive/v0.9.1rc7.tar.gz
Copiamos el archivo que contiene todos los pasos a seguir para la creación del paquete RPM:
cp /usr/src/cgrates/packages/redhat_fedora/cgrates.spec /root/cgr_build/SPECS/
Lanzamos la creación del paquete:
rpmbuild -bb --define "_topdir $HOME/cgr_build" $HOME/cgr_build/SPECS/cgrates.spec
Primer error:
error: Archivo /root/cgr_build/SOURCES/cc3bebd90c24b187379027e6a618e206da89d7a9.tar.gz: No existe el fichero o el directorio
Solución:
cp cgr_build/SOURCES/v0.9.1rc7.tar.gz cgr_build/SOURCES/cc3bebd90c24b187379027e6a618e206da89d7a9.tar.gz
Se sigue:
rpmbuild -bb --define "_topdir $HOME/cgr_build" $HOME/cgr_build/SPECS/cgrates.spec
Segundo error:
/var/tmp/rpm-tmp.hIs453: line 34: cd: /root/cgr_build/BUILD/cgrates-0.9.1rc7.cc3bebd/src/github.com/cgrates/cgrates: No such file or directory
error: Estado de salida erróneo de /var/tmp/rpm-tmp.hIs453 (%build)
Se soluciona con:
nano +33 cgr_build/SPECS/cgrates.spec
modificando la línea:
ln -sf ../../../%{name}-%{git_commit} src/github.com/cgrates/cgrates
para que quede:
ln -sf /root/cgrates-0.9.1rc7 /root/cgr_build/BUILD/cgrates-0.9.1rc7.cc3bebd/src/github.com/cgrates/cgrates
Se guardan los cambios y se sigue:
rpmbuild -bb --define "_topdir $HOME/cgr_build" $HOME/cgr_build/SPECS/cgrates.spec
Tercero error:
install: cannot stat `src/github.com/cgrates/cgrates/packages/redhat_fedora/cgrates.options': No such file or directory
error: Estado de salida erróneo de /var/tmp/rpm-tmp.PvTBYc (%install)
Se soluciona:
mkdir cgr_build/BUILD/cgrates-0.9.1rc7.cc3bebd/src/github.com/cgrates/cgrates/packages/redhat_fedora
cp /usr/src/cgrates/packages/redhat_fedora/* /root/cgr_build/BUILD/cgrates-0.9.1rc7.cc3bebd/src/github.com/cgrates/cgrates/packages/redhat_fedora/
Se ejecuta nuevamente:
rpmbuild -bb --define "_topdir $HOME/cgr_build" $HOME/cgr_build/SPECS/cgrates.spec
Esta vez todo debería salir bien y tener nuestro paquetes en la carpeta /root/cgr_build/RPMS/x86_64/:
ls /root/cgr_build/RPMS/x86_64/
que ya podemos instalar:
rpm -ivh /root/cgr_build/RPMS/x86_64/cgrates-0.9.1rc7.cc3bebd-1.el6.x86_64.rpm
El archivo de configuración es /etc/cgrates/cgrates.json y es donde se define que tipo de motor de base de datos se va a utilizar y toda la configuración de las tarifas, LCR, etcétera. Para crear la base de datos:
cd /usr/share/cgrates/storage/mysql/
./setup_cgr_db.sh root sesamo localhost
\t+++ CGR-DB successfully set-up! +++
sesamo es la contraseña del usuario root de MySQL.
Ya se puede iniciar el programa con la configuración predefinida:
service cgrates start
service cgrates status
Se está ejecutando cgrates (pid 25937)...
Para seguir con la configuración, la documentación del programa.
Me comentan
Comentarios recientes