Usuario:ManuelRomero/iternova

De WikiEducator
Saltar a: navegación, buscar

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

  • Web de referencia
https://wiki.iternova.net/doku.php?id=development:servers:howto_server_sgwc
  • Instalo vagrant
    • Para ver versión de sistema operativo instalado
uname -a  o lsb_release -a
  • 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
  1. gearman => Un demonio para ejecutar tareas pesadas de la aplicación web en background
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.....)
php-apc
  • APC: Advanced PHP Cache
  • Instalacion
apt-get install php-apc
  • Si aparece una línea tal que
PHP Warning:  apc_sma_info(): No APC SMA info available.  Perhaps APC is disabled via apc.enabled?, 
  • 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):
apc.enable_cli=1
apc.enable=1
extension=apcu.so
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
  • Para instalarlo
sudo apt-get install php5-curl
bzip
  • Viene instalado por defecto
sudo apt-get install bzip2
  • Para verificar la versión (iternova pide versión 1.0.5 o superior)
bzip --version o bzip -V
  • Versión instalada 1.0.6 => OK!
json
  • Ya instalada por defecto
sudo apt-get install php5-json
mbstring
  • No consigo encontrar el paquete
  • Veo que forma parte del buit-in de libapache2-mod-php. instalo este paquete
sudo apt-get install libapache2-mod-php5
  • Y todo correcto
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
mongo
  • Para instalar mongo como voy a usar pear, y veo que lo necesitaré y también debug, voy a instalar estos dos paquetes
sudo apt-get install php5-dev php-pear
  • Después sigo los instrucciones del slack de iternov
https://wiki.iternova.net/doku.php?id=smartportal:howto:howto_model_and_database_mongodb
  • Ahora instalo mongodb
apt-get install mongodb;
  • Instalación de extensión para PHP
pecl install mongo;
  • Durante la instalación pregunta
Build with Cyrus SASL (MongoDB Enterprise Authentication) support? [no] : 
  • 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
You should add "extension=mongo.so" to php.ini
  • Lo hago según me indica
  • Referenica web
http://docs.mongodb.org/ecosystem/drivers/php/
simplexml
  • Instalado por defecto a partir de php 5.2
  • Lo compruebo con
sudo php -m | grep SimpleXML
zip
pecl install zip
  • Tras instalar me da un error que no encuentra pcr....
  • Busco en internet y veo que debo de instalar esta librería
sudo apt-get install libpcre3-dev
  • Tras hacerlo vuelvo a lanzar la instalación del zip
  • Todo va ok!
  • Después de instalar aparece el siguiente texto
Build process completed successfully
Installing '/usr/lib/php5/20131226/zip.so'
install ok: channel://pecl.php.net/zip-1.12.5
configuration option "php_ini" is not set to php.ini location
You should add "extension=zip.so" to php.ini
  • 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 ....
  • Web de referencia de HTMLPurifier
http://htmlpurifier.org
  • Instalo:
pear channel-discover htmlpurifier.org
pear install hp/HTMLPurifier

Instalar nagios

http://www.nagios.org/

  • Voy a la instalación con ubuntu
http://nagios.sourceforge.net/docs/3_0/quickstart-ubuntu.html
  • Empiezo creando un usuario nagios/nagios
[08:40 AM]-[vagrant@packer-virtualbox-iso-1422643551]-[~] 
$ sudo useradd -m -s /bin/bash nagios
 
[08:40 AM]-[vagrant@packer-virtualbox-iso-1422643551]-[~] 
$ passwd nagios
passwd: You may not view or modify password information for nagios.
 
[08:40 AM]-[vagrant@packer-virtualbox-iso-1422643551]-[~] 
$ sudo passwd nagios
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
  • Creo el grupo nagcmd y añado los usuarios nagios y www-data
  • Descargamos nagios y los plugins
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
  • Al hacer esto veo que el plugin no lo baja, lo descargo de otra página
wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz


  • Una vez descargados los fuentes procedemos a descomprimir, compilar e instalar
    • Descomprimir
 tar xzf nagios-3.2.3.tar.gz

Compilar

   cd nagios-3.2.3/
   ./configure --with-command-group=nagcmd
   make all

Instalar

  make install-init it
 
  make install-init
 
  make install-config
 
  make install-commandmode
  • Ahora procedemos a configurar
vim /usr/local/nagios/etc/objects/contacts.cfg
  • Básicamente te pide cambiar el usuario, el grupo y el correo para notificaciones
  • Yo de momento he modificado lo siguiente
 use nagios
 email manuelromeromiguel@gmail.com
 .....
 members nagcmd
  • instalamos y configuramos el interfaz web
  • Instalar un fichero nagios.conf en el /etc/apache2/conf.d
 make install-webconf
  • Ponemos una password para el usuario nagiosadmin
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Ahora instalamos el pluging de nagios
  • Extreemos el contenido del fichero descargado, lo compilamos e instalamos
tar xzf nagios-plugins-1.4.11.tar.gz
 
cd nagios-plugins-1.4.11
 
./configure --with-nagios-user=nagios --with-nagios-group=nagios
 
make
 
make install
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

  • Instalo nagios desde el repositorio

sudo apt-get install nagios3 nagios-plugins nagios-nrpe-plugin

  • En la instalación obtengo los siguientes pantallazos

NagiosInstalacion1.png NagiosInstalacion2.png NagiosInstalacion3.png NagiosInstalacion4.png NagiosInstalacion5.png NagiosInstalacion6.png NagiosInstalacion7.png NagiosInstalacion8.png


Centreon

Sigo la siguiente web para la instalacion

https://operativoslinux.wordpress.com/2015/01/03/nagios-centreon-guia-de-instalacion-y-configuracion/
  • Primero instalamos las dependencias
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
  • 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 Archivo:CenteronInstalacion1.png Archivo:CenteronInstalacion2.png Archivo:CenteronInstalacion3.png Archivo:CenteronInstalacion4.png Archivo:CenteronInstalacion5.png Archivo:CenteronInstalacion6.png Archivo:CenteronInstalacion7.png Archivo:CenteronInstalacion8.png Archivo:CenteronInstalacion9.png

  • Al final me da un error y aborta
  • Arranco el gestor de base de datos y vuelvo a ejecutar todos los paquetes
sudo service mysql restart (estaba apagado)
  • 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

Ên el fichero centreon.conf (/etc/apache2/conf-enable/centreon.conf

  • donde había
Order allow,deny
Allow from all
  • Lo comento y pongo otra línea
  1. Order allow,deny
  2. Allow from all
  Require all granted
  • 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


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


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

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] >

  • Tengo que actualizar todo esto
  • para dar permisos a root en remoto
GRANT ALL PRIVILEGES on *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION
FLUSH  PRIVILEGES;
  • 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

  • ME aparece un problema para conectarme a nagiso

LEo que tengo que dar un valor a request_terminate_timeout /etc/php5/fpm/pool.d/www.conf

  • En ese fichero modifico y escribo
  • Ponía:
;request_terminate_timeout=0
  • Pongo
request_terminate_timeout= ;request_terminate_timeout=0

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

  • Creo un enlace directo en mi DocumentRoot
ln -s /home/manolo/smartroads-core /var/www/html/smartroad
  • 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 
  • El fichero /etc/mongodb.conf
    • descomentamos la línea
auth=true


añadimos el usuario en mongo db.addUser("root","root"); db.auth("root","root");


En el directorio creo las carpetas

files
cache
  • 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
http://172.17.0.1/smartroad/admin/config/rockmongo/i
  • 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
  • Descargo el ficheor sql de smartroads y lo cargo
mysql -u root -pxxxx < smartroadsxxxxxxxx.sql

Empezando el proyecto

  • Creo un módulo nuevo llamado monitorizacion basado a partir del módulo smartapps

Copiamos todo cambiamos el nombre 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

Idioma no válido.

Necesita especificar un idioma como esto: <source lang="html4strict">...</source>

lenguajes soportados para sintaxis remarcada:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


vi /etc/mongodb.conf 
Y añadir (o descomentar) la línea:

auth = true
  • Creamos un usuario para la base de datos admin (usuario root)
 $ mongo
  use admin
  db.addUser("root", "password")
  • Ahora nos autentificamos para poder hacer cosas sobre la base de datos
 db.auth("root","root")