Diferencia entre revisiones de «Usuario:ManuelRomero/iternova»
(→Instalando las bases de datos de mongo y mysql) |
(→Empezando el proyecto) |
||
(5 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 37: | Línea 37: | ||
https://wiki.iternova.net/doku.php?id=development:servers:howto_memcache | https://wiki.iternova.net/doku.php?id=development:servers:howto_memcache | ||
sudo apt-get install memcached | sudo apt-get install memcached | ||
− | sudo pecl install | + | sudo pecl install memcache |
+ | |||
=====gd===== | =====gd===== | ||
Bibglioteca para crear y manipular imágenes y transferirlas desde el cliente al servidor | Bibglioteca para crear y manipular imágenes y transferirlas desde el cliente al servidor | ||
Línea 415: | Línea 416: | ||
====Trabajando con la nueva configuración de vagrant==== | ====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 | apt-get service php5-fpm restart | ||
Línea 468: | Línea 469: | ||
Error: 18 { code: 18, ok: 0.0, errmsg: "auth fails" } | Error: 18 { code: 18, ok: 0.0, errmsg: "auth fails" } | ||
0 | 0 | ||
− | > db.auth("smartroads_core"," | + | > db.auth("smartroads_core","xxxxxxxxxxx7xx2xxcxxcxx8xxexxaxx2xx4xx1xxxxxxx"); |
Error: 18 { code: 18, ok: 0.0, errmsg: "auth fails" } | Error: 18 { code: 18, ok: 0.0, errmsg: "auth fails" } | ||
--> | --> | ||
− | *Modificamos el fichero | + | *Modificamos el fichero web.ini |
HTTP_ADDRESS | HTTP_ADDRESS | ||
Línea 506: | Línea 507: | ||
mongorestore --username ....... --password .... --db smartroads_core dump/smartroads/ | 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=== | ===Empezando el proyecto=== | ||
*Creo un módulo nuevo llamado '''''monitorizacion''''' basado a partir del módulo smartapps | *Creo un módulo nuevo llamado '''''monitorizacion''''' basado a partir del módulo smartapps | ||
Copiamos todo cambiamos el nombre | Copiamos todo cambiamos el nombre | ||
− | smartapp => monitorizacion | + | ;smartapp => monitorizacion |
− | 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 | ||
+ | <source lang=bash> | ||
+ | vi /etc/mongodb.conf | ||
+ | Y añadir (o descomentar) la línea: | ||
+ | |||
+ | auth = true | ||
+ | </source> | ||
+ | *Creamos un usuario para la base de datos admin (usuario root) | ||
+ | <source lang=bash> | ||
+ | $ mongo | ||
+ | use admin | ||
+ | db.addUser("root", "password") | ||
+ | </source> | ||
+ | *Ahora nos autentificamos para poder hacer cosas sobre la base de datos | ||
+ | <source lang=bash> | ||
+ | db.auth("root","root") | ||
+ | </source> |
Última revisión de 09:08 23 abr 2017
Contenido
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
- 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
- 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
- conf => nagios.con /etc/apache2/conf.d/nagios.conf
- web => /usr/local/nagios/share/index.php
- usuario => /usr/local/nagios/etc/htpasswd.user
- 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
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
- Order allow,deny
- 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
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")