7 nov. 2016

PARTE III: Creación e Instalación del Agente para OCS Inventory

Luego de haber instalado nuestro OCS Inventory Server, es hora de explicar el método que recomiendo para crear los Agentes de OCS Inventory y su Instalación en nuestras PC.

Para evitar tener que escribir una entrada que resultaría larguísima, me resultó más fácil hacerles un vídeo donde muestro cómo empaquetar el Agente que luego distribuiremos en los Equipos que querramos agregar al Inventario de nuestro OCS Inventory.


¡Ahora ya puedes instalar tus Agentes en Windows!

Espero en las próximas semanas hacer otro vídeo mostrando las características de la Consola Web del OCS Inventory Server.

27 abr. 2016

PARTE II: Quitar mensaje Security Alert de OCS Inventory

Una vez que instalamos OCS Inventory Server, al ingresar por vez primera en la consola de Administración, nos encontraremos con un mensaje bastante molesto.

Para quitarlo, debemos realizar dos tareas muy sencillas.

1) Eliminar el archivo install.php

Para ello, en tu servidor, ejecuta...

sudo rm -f /usr/share/ocsinventory-reports/ocsreports/install.php

Despreocupate que no dañarás ningún componente o configuración de tu servidor.

2) Cambiar la contraseña por defecto del usuario ocs en la Base de Datos

Por defecto, OCS genera una Base de Datos llamada ocsweb con un usuario ocs, que lleva como contraseña su homónimo (ocs). Para cambiar la contraseña, debemos hacerlo por una personal y privada, ya que de lo contrario el mensaje seguirá apareciendo.

Nos conectaremos a nuestro Motor MySQL:

mysql -u root -p
(ingresamos la contraseña de nuestro usuario root de MySQL)

Y ejecutamos las siguientes líneas...

set password for 'ocs'@'localhost' = PASSWORD('UnTuxSuelto');
flush privileges;

quit

Luego, editaremos dos archivos donde deberemos ingresar la nueva contraseña para el usuario ocs.

Archivo dbconfig.inc.php


sudo vim /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php

Buscaremos la siguiente línea y reemplazaremos la contraseña por defecto por la nueva:

define("PSWD_BASE","UnTuxSuelto");

Guardamos y salimos.

Archivo z-ocsinventory-server.conf


sudo vim /etc/apache2/sites-enabled/z-ocsinventory-server.conf

Buscaremos la siguiente línea y reemplazaremos la contraseña por defecto por la nueva:

# Password for user
  PerlSetVar OCS_DB_PWD UnTuxSuelto


Guardamos y salimos del editor.

Al finalizar los cambios, debes reiniciar los servicios apache2 y mysql.

Regresa a la consola, y habrás quitado el mensaje de Security Alert!

IMPORTANTE: recuerda también cambiar la contraseña por defecto del usuario admin, para incrementar aún más la seguridad (recuerda que la contraseña por defecto es homónima -admin-).

18 abr. 2016

Disminuir los accesos a Disco en MySQL con ramdisk (tmpfs) con Linux

El uso de particiones montadas directamente en RAM trae consigo innumerables beneficios a la hora de disminuir el acceso a disco (no solo lo disminuye, ¡lo hace desaparecer!).

El uso de ramdisk (utilizando particiones del tipo tmpfs) en Linux es uno de esos tips que ningún Administrador de Sistemas debería desconocer.

Hoy les mostraré lo fácil que es crear una partición en RAM (tmpfs) y utilizarla en MySQL, haciendo desaparecer los accesos a nuestro Disco.

Crea un directorio donde se montará la partición tmpfs

Como primer paso, crearemos un directorio donde montaremos la partición tmpfs, la cual se utilizará como una partición tradicional, con el plus de escribir directamente en RAM, aumentando al máximo el rendimiento de lo que allí se escriba.

#mkdir /tmp/tmpmysql

Detener demonio mysql y declarar partición creada en la configuración de MySQL

Antes de continuar, debemos detener el demonio mysql. Luego, editaremos el archivo de configuración de MySQL y declararemos el directorio que se utilizará como temporal para nuestro motor de Base de Datos.

#vim /etc/mysql/my.cnf

En la línea...

tmpdir       = /tmp/tmpmysql

...agregaremos nuestro nuevo directorio tmpmysql (agregado en rojo).

Guardamos los cambios y salimos del my.cnf.

Conocer los id de nuestro usuario mysql

Para conocer el ID de nuestro usuario mysql, ejecutaremos el siempre indispensable comando id:

id mysql

Lo que nos devolverá:

uid=105(mysql) gid=112(mysql) groups=112(mysql)

Recordemos los datos uid y gid, pues los utilizaremos en el próximo paso.

Montar partición ramdisk como tmpfs sólo con privilegios para mysql

Editaremos el file /etc/fstab y declararemos la partición, tipo, punto de montaje y permisos específicos (entre tantas otras opciones que se podrían declarar -ver man mount-).

#vim /etc/fstab

Agregaremos la siguiente línea (siempre teniendo en cuenta que mis ID de usuario mysql pueden siempre diferir de los tuyos):

tmpfs /tmp/tmpmysql tmpfs rw,uid=105,gid=112,size=128m 0 0

De izquierda a derecha y en rojo: File System, ubicación del punto de montaje, tipo de File System, y las opciones (nótese los uid y gid) junto con el tamaño asignado a dicha partición. Guardaremos los cambios y saldremos.

Es importante tener en cuenta que el tamaño que le asignemos a dicha partición tmpfs será "decrementado" directamente de nuestra RAM.

Antes de terminar, montaremos las particiones declaradas en nuestro /etc/fstab mediante el comando mount -a.

Por último, iniciaremos nuevamente el demonio mysql y si todo marchó bien, MySQL utilizará para sus transacciones y otras acciones su nuevo temporal, ahora una partición en RAM que hará desaparecer los accesos a nuestro Disco Duro, simplemente "traficando" datos entre la RAM y la CPU.

Para corroborar que todo marche bien, puedes ejecutar df -h para observar la partición tmpfs montada en el directorio creado.

TIPS
  • Mediante el comando watch podremos ver de forma recursiva cómo se escriben datos en dicho directorio (watch -n 0.5 ls -lh /tmp/tmpmysql). 
  • Si usas servicios como munin, puedes hacer "un antes y un después" de utilizar ramdisk (tmpfs) para notar como descansarán las I/O a Disco.
ACTUALIZACIÓN: si utilizas Ubuntu 16.04 LTS, el archivo por defecto de configuración de MySQL donde puedes realizar el cambio de la carpeta temporal por defecto está ubicado en /etc/mysql/mysql.conf.d/mysqld.cnf.