Usuario:ManuelRomero/iternova

=Proyecto en iternova=

Páginas para estar conectado

 * Slack
 * https://iternova.slack.com (Con lo de siempre)


 * git
 * https://gitlab.iternova.net/smartroads/smartroads-core (correo...)

Instalación del sistema
https://wiki.iternova.net/doku.php?id=development:servers:howto_server_sgwc uname -a o lsb_release -a
 * Web de referencia
 * Instalo vagrant
 * Para ver versión de sistema operativo instalado
 * Preparao un sistema por defecto con puphpet.net (Apache, mysql. mongo, php6) y caso todo lo demás por defecto
 * Descargo el fichero puphpet.zip y lo descomprimo
 * vagrant up y me instala el sistema (una media hora)
 * vagrant ssh y conecto con la máquina
 * Empiezo a instalar cosas

libgearman
sudo apt-get install gearman gearman-job-server gearman-tools libgearman-dev referencia https://wiki.iternova.net/doku.php?id=smartportal:modules:core:gearman (ManuelRomero x.....)
 * 1) gearman => Un demonio para ejecutar tareas pesadas de la aplicación web en background

php-apc
apt-get install php-apc ''PHP Warning: apc_sma_info: No APC SMA info available. Perhaps APC is disabled via apc.enabled?'',
 * APC: Advanced PHP Cache
 * Instalacion
 * Si aparece una línea tal que
 * entonces en /etc/php5/mods-enabled/apcu.ini añadimos las siguientes líneas, para garantizar que está activo APC tanto para Apache (mod_php) como para CLI (cli):

memcache
https://wiki.iternova.net/doku.php?id=development:servers:howto_memcache sudo apt-get install memcached sudo pecl install memcache

gd
Bibglioteca para crear y manipular imágenes y transferirlas desde el cliente al servidor

sudo apt-get install php5-gd Referencia http://php.net/manual/es/book.image.php

curl
http://php.net/manual/es/book.curl.php sudo apt-get install php5-curl
 * Para instalarlo

bzip
sudo apt-get install bzip2 bzip --version o bzip -V
 * Viene instalado por defecto
 * Para verificar la versión (iternova pide versión 1.0.5 o superior)
 * Versión instalada 1.0.6 => OK!

json
sudo apt-get install php5-json
 * Ya instalada por defecto

mbstring
sudo apt-get install libapache2-mod-php5 http://serverfault.com/questions/455388/how-to-install-php-xml-and-php-mbstring-on-php-5-4-9-4 http://ppa.launchpad.net/ondrej/php5/ubuntu/dists/precise/main/binary-i386/Packages
 * No consigo encontrar el paquete
 * Veo que forma parte del buit-in de libapache2-mod-php. instalo este paquete
 * Y todo correcto

mongo
sudo apt-get install php5-dev php-pear https://wiki.iternova.net/doku.php?id=smartportal:howto:howto_model_and_database_mongodb apt-get install mongodb; pecl install mongo; Build with Cyrus SASL (MongoDB Enterprise Authentication) support? [no] : You should add "extension=mongo.so" to php.ini http://docs.mongodb.org/ecosystem/drivers/php/
 * Para instalar mongo como voy a usar pear, y veo que lo necesitaré y también debug, voy a instalar estos dos paquetes
 * Después sigo los instrucciones del slack de iternov
 * Ahora instalo mongodb
 * Instalación de extensión para PHP
 * Durante la instalación pregunta
 * Dejo por defecto el no, no se si lo necesitaré. No anoto para tenerlo en cuenta
 * Al terminar me indica que modifique el php.ini
 * Lo hago según me indica
 * Referenica web

simplexml
sudo php -m | grep SimpleXML
 * Instalado por defecto a partir de php 5.2
 * Lo compruebo con

zip
pecl install zip sudo apt-get install libpcre3-dev
 * Tras instalar me da un error que no encuentra pcr....
 * Busco en internet y veo que debo de instalar esta librería
 * Tras hacerlo vuelvo a lanzar la instalación del zip
 * Todo va ok!
 * Después de instalar aparece el siguiente texto
 * Y procedemos a hacerlo
 * Después lo quito ya que observo que por defecto zip ya está instalado

HTMLpurifier

 * Quita código malicios, realiza escape de caracteres no deseados, evita inyecciones ....

http://htmlpurifier.org pear channel-discover htmlpurifier.org pear install hp/HTMLPurifier
 * Web de referencia de HTMLPurifier
 * Instalo:

Instalar nagios
http://www.nagios.org/ http://nagios.sourceforge.net/docs/3_0/quickstart-ubuntu.html
 * Voy a la instalación con ubuntu
 * Empiezo creando un usuario nagios/nagios
 * Creo el grupo nagcmd y añado los usuarios nagios y www-data
 * Descargamos nagios y los plugins
 * Al hacer esto veo que el plugin no lo baja, lo descargo de otra página

Compilar Instalar
 * Una vez descargados los fuentes procedemos a descomprimir, compilar e instalar
 * Descomprimir

vim /usr/local/nagios/etc/objects/contacts.cfg
 * Ahora procedemos a configurar
 * Básicamente te pide cambiar el usuario, el grupo y el correo para notificaciones
 * Yo de momento he modificado lo siguiente
 * instalamos y configuramos el interfaz web
 * Instalar un fichero nagios.conf en el /etc/apache2/conf.d
 * Ponemos una password para el usuario nagiosadmin
 * Ahora instalamos el pluging de nagios
 * Extreemos el contenido del fichero descargado, lo compilamos e instalamos


 * Iniciar nagios
 * Una vez instalado procedemos a ponerlo en marcha

Problemas varios con nagios

 * Con consigo arrancarlos y analizando problemas

Miro los diferentes directorios


 * 1) conf => nagios.con /etc/apache2/conf.d/nagios.conf
 * 2) web => /usr/local/nagios/share/index.php
 * 3) usuario => /usr/local/nagios/etc/htpasswd.user
 * 4) cgi => /usr/local/nagios/sbin


 * He instalado fcgiwrap pero creo que eso es para ejecutar cgi con nginx, que no tiene que ver con apache


 * He cambiado los el propietario del fichero htpasswd.user que estaba a root y se lo he puesto a nagios, pero creo que no tiene nada que ver ...


 * HE mirado en internet y no he encontrado nada claro

Alternativas
https://www.howtoforge.com/installing-nagios-on-debian-lenny-and-monitoring-a-debian-lenny-server

sudo apt-get install nagios3 nagios-plugins nagios-nrpe-plugin
 * Instalo nagios desde el repositorio
 * En la instalación obtengo los siguientes pantallazos

Centreon
Sigo la siguiente web para la instalacion https://operativoslinux.wordpress.com/2015/01/03/nagios-centreon-guia-de-instalacion-y-configuracion/ aptitude install apache2 php5 php5-mysql php-pear php5-ldap php5-snmp php5-gd mysql-server-5.5 libmysqlclient-dev rrdtool librrds-perl libconfig-inifiles-perl snmp snmpd libnet-snmp-perl libgd2-xpm libgd2-xpm-dev libpng12-dev debconf-utils libglib2.0-dev nagios3 nagios-nrpe-plugin nagios-plugins ndoutils-nagios3-mysql sudo php5-sqlite
 * Primero instalamos las dependencias
 * Me da un error que no puede encontrar la librería libgd2-xpm
 * Como no veo solución directamente la quito y se instala todo ok. Dejo este tema pendiente

Durante la instalación aparecen los siguientes pantallazos

sudo service mysql restart (estaba apagado) Ên el fichero centreon.conf (/etc/apache2/conf-enable/centreon.conf Order allow,deny Allow from all
 * Al final me da un error y aborta
 * Arranco el gestor de base de datos y vuelvo a ejecutar todos los paquetes
 * Y de nuevo hago la instalación anterior, y todo ok (lógicamente no me vuelve a instalar todos los paquetes
 * Después de la instalación recibo continuamente un forbidden
 * Mirando en internet realizo un cambio que no veo muy bien, pero funciona
 * donde había

Require all granted
 * Lo comento y pongo otra línea
 * 1) Order allow,deny
 * 2) Allow from all
 * Así funciona

..Entro en la configuración Se me queda colgado intentao acceder a la base de datos intengo varias consas my.conf comento el bind_address

En hosts comento eh 172.... con "dafdasdfasdf"

En mysql ejecuto la siguiente sentencia

GRANT ALL PRIVILEGES ON *.* TO manolo@'%' identified by 'manolo'
 * Al final creo un nuevo usuario que no sea root y le doy privilegios totales (idea de jorge)
 * Y todo ok.

docker commit -m "iternova Sistema" -a "manolo" d6e769a6fac0 manolo/ubuntu-apache-nagios-centreon c99e0086d5805cfd7d24090e54c3603b8b794a54b33a76a302e86a987af13911
 * Creo una imangen con el contenedor actual
 * El sistema me dice

Estado
docker commit -m "iternova Apache2 Centreon" -a "manolo" d6e769a6fac0 manolo/ubuntu-apache


 * Preguntas del sistema
 * 1.-

Do you accept GPL license ? [y/n], default to [n]: > y
 * 2.-Do you want to install : Centreon Web Front

[y/n], default to [n]: > y


 * 3.-Do you want to install : Centreon CentCore

[y/n], default to [n]: > y


 * 4.-Do you want to install : Centreon Nagios Plugins

[y/n], default to [n]: > y


 * 5.-Do you want to install : Centreon Snmp Traps process

[y/n], default to [n]: > y
 * 6.-Where is your Centreon directory?

default to [/usr/local/centreon] >
 * 7.-Do you want me to create this directory ? [/usr/local/centreon]

[y/n], default to [n]: > y
 * 8.-

Where is your Centreon log directory default to [/usr/local/centreon/log] > y
 * 9.-Do you want me to create this directory ? [/usr/local/centreon/log]

[y/n], default to [n]: > y


 * 10.-Where is your Centreon etc directory

default to [/etc/centreon] >


 * 11.-Do you want me to create this directory ? [/etc/centreon]

[y/n], default to [n]: > y
 * 12.-Where is your Centreon binaries directory

default to [/usr/local/centreon/bin] >
 * 13.-Do you want me to create this directory ? [/usr/local/centreon/bin]

[y/n], default to [n]: > y
 * 14.-Where is your Centreon data informations directory

default to [/usr/local/centreon/data] >


 * 15.-Do you want me to create this directory ? [/usr/local/centreon/data]

[y/n], default to [n]: > y
 * 16.-Where is your Centreon variable library directory?

default to [/var/lib/centreon] >

Do you want me to create this directory ? [/var/lib/centreon] [y/n], default to [n]: > y


 * 17.-Where is PEAR [PEAR.php]

default to [/usr/share/php/PEAR.php] >


 * 18.-Path /usr/share/php                                       OK

/usr/bin/perl                                             OK Enable Apache configuration                                OK ERROR: Conf centreon does not exist! Finding Apache user :                                     www-data Finding Apache group :                                    www-data

What is the Centreon group ? [centreon] default to [centreon] > y

Do you want me to create this group ? [centreon] [y/n], default to [n]: > y

What is the Centreon user ? [centreon] default to [centreon] >

Do you want me to create this user ? [centreon] [y/n], default to [n]: >

What is the Monitoring engine log directory ? > log

Where is your monitoring plugins (libexec) directory ? default to [/usr/lib/nagios/plugins] > GRANT ALL PRIVILEGES on *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION FLUSH PRIVILEGES;
 * Tengo que actualizar todo esto
 * para dar permisos a root en remoto
 * Y parece que todo chuta


 * Al final no consigo entrar en centreon, continuamente está como queriendo volver a instalar
 * Renombre el directorio install y todo ok!.

Otros tema

 * Centreon
 * qué es nagios
 * snmp para copiar datos de dispositivos
 * Instalar dispositivos con nagios para controlar ?????
 * Para ello sigo la página https://help.ubuntu.com/community/Nagios3
 * Me da un fallo y vuelvo a instalar de esta otra página

Trabajando con la nueva configuración de vagrant
Se usa fpm para php que es un servicio independiente de apache... apt-get service php5-fpm restart

LEo que tengo que dar un valor a request_terminate_timeout /etc/php5/fpm/pool.d/www.conf ;request_terminate_timeout=0 request_terminate_timeout= ;request_terminate_timeout=0
 * ME aparece un problema para conectarme a nagiso
 * En ese fichero modifico y escribo
 * Ponía:
 * Pongo

Poniendo datos
git veo que me falta de instalar git apt-get install git nagios nagiosadmin / nagiosAdmin centreon admin/admin (bd manolo/manolo) mysql root/root manolo/manolo

bajo el proyecto git clone https://gitlab.iternova.net/smartroads/smartroads-core.git El proyecto se instala en $HOME/smartroadas-core ln -s /home/manolo/smartroads-core /var/www/html/smartroad
 * Creo un enlace directo en mi DocumentRoot
 * Ahora intento cargar la página y me no me sale nada
 * En el log de apache me sale el error relacionado con memcacne
 * Veo que lo que me falta es instalar memcache en el lado del cliente, para que lo use php

pecl install memcache Modificamos el php.ini, tal cual nos indican en la instalacion, añadiendo extensio=memcache.so

Ahora nos da un error de mongo ERROR MongoDB: Error connecting to MongoDB server: Failed to connect to: localhost:27017: Connection refused Recordamos


 * Modificamos el fichero web.ini

HTTP_ADDRESS HTTO_ADDRESS_CONTROLLER_SERVER

auth=true añadimos el usuario en mongo db.addUser("root","root"); db.auth("root","root");
 * El fichero /etc/mongodb.conf
 * descomentamos la línea

En el directorio creo las carpetas files cache http://172.17.0.1/smartroad/admin/config/rockmongo/i
 * Doy permisos de escritura a files, cache y logs
 * Tras modificar abrir mongodb con rockmongodb y eliminar la colección del win.inif, para que cargue los datos
 * Rebotar también el servicio de memcache.

Instalando las bases de datos de mongo y mysql
Creo el usuario en la base de datos de mongo use admin db.auth("root","root"); use smartroads_core db.auth.....

instalo la base de datos Para ello descargo el fichero en el local y lo descomprimo Posteriormente lo cargo en la base de datos con el comando mongorestore

mongorestore --username ....... --password .... --db smartroads_core dump/smartroads/

mysql -u root -pxxxx < smartroadsxxxxxxxx.sql
 * mysql
 * Descargo el ficheor sql de smartroads y lo cargo

Empezando el proyecto
Copiamos todo cambiamos el nombre
 * Creo un módulo nuevo llamado monitorizacion basado a partir del módulo smartapps
 * smartapp => monitorizacion
 * SmartApp => Monitorizacion


 * 29-4-2016
 * Instalo rokcmongo una especie de phpmyadmin pero para db de mongo

Then, download Rockmongo from web http://rockmongo.com/downloads Extract to /var/www/ folder unzip rockmongo-.zip /var/www/
 * Configuramos la usuario admin en mongo para gestionar la base de datos desde mongo
 * Modificamos el fichero ini de mongo, para que sea necesario autentificarse a la hora de acceder a una base de datos
 * Creamos un usuario para la base de datos admin (usuario root)
 * Ahora nos autentificamos para poder hacer cosas sobre la base de datos