Conociendo Centos 7

Configuración de red

Desaparece system-config-network y aparece nmtui como forma de configurar la red.

Los interfaces pasan de llamarse eth0, eth1… a tener unos nombres horrorosos como eno230032.

Para que coja la ruta, debe estar sin marcar la casilla ”Never use this network for deault route”

Después de cambios en interfaces:

systemctl network restart

Si no tenemos ips por dhcp, hay que verificar que en el fichero /etc/sysconfig/network-scripts/ifcfg-eno230032 esté bootproto a none y no a dhcp:

BOOTPROTO=none

Si seguimos teniendo problemas de red, hay que verificar la conexión

ifconfig; route

 

Configuración del proxy para yum:

En el fichero  /etc/yum.conf se añade la línea:

proxy=http://proxy.organizacion.com:80

Instalación de emacs

Por que sí, yo uso emacs:

yum install -y emacs

Permitir acceso a root por ssh:

[root@template ~]# grep -i root /etc/ssh/sshd_config
PermitRootLogin yes

Instalar repositorio EPEL para paquetes extras:

rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm

 

Instalar vmware tools desde repositorio:

Mucho más cómodo que montando una ISO desde la plataforma de virtualización:

yum install open-vm-tools

Monitorización

yum install facter snmp-net

Añadir rpm remi

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7*.rpm 

Instalar fusion inventory agent

Necesitamos añadir el repositorio de guillomovitch para poder instalar estos paquetes

wget http://download.opensuse.org/repositories/home:/guillomovitch/CentOS_7/home:guillomovitch.repo

yum -y install fusioninventory-agent

 

 

The power of puppet. Curso introductorio de puppet labs

puppetlabts

Hemos comenzado con el curso que dan desde Puppet Labs para comprender mejor y sacarle todo el partido posible a puppet.

El curso es gratuito, y la máquina virtual tiene una función de quests que va midiendo tu aprendizaje. Así es mucho más motivador y más fácil de seguir.

Problema con la máquina virtual para vmware

Al desplegar la máquina virtual sobre vmware, hemos encontrado un primer problema, ya que nos decía que no había host capaz de ejecutar el sistema operativo.

Sustituir en el fichero learn_puppet_centos-6.5-pe-3.3.2-disk1.vmx

guestOS = "redhat"

por

guestOS = "centos-64"

Otra particularidad que hemos visto en la máquina es que hacer un snapshot la rompe. Por ello, hemos tenido que dejarla en una carpeta de la que no se hace backup nunca.

Antes de empezar

Teclas en castellano:

loadkeys es
echo "loadkeys es >> .bashrc"

Configuración de red

system-config-network
services network restart

Configuración ssh

grep /etc/ssh/sshd_config
PermitRootLogin yes
services sshd restart

Configuración de proxy en bash, puppet y wget

  grep proxy ~/.bashrc
export http_proxy =http://192.128.2.2:80

grep proxy /etc/wgetrc
https_proxy = http://192.128.2.2:80
http_proxy =http://192.128.2.2:80
ftp_proxy =http://192.128.2.2:80

 grep proxy   /etc/puppetlabs/puppet/puppet.confgrep proxy /etc/puppetlabs/puppet/puppet.conf
 http_proxy_host = 192.128.2.2
 http_proxy_port = 80



Forzar la configuración de puppet en un momento dado

puppet agent –test

Validar un archivo de puppet

puppet parser validate FILENAME.pp

Encontrar la ruta para los módulos de puppet

puppet agent --configprint modulepath

Simular un manifiesto en local, sin aplicarlo

puppet apply --noop byte.pp

 Aplicar verdaderamente un manifierto en máquina local:

puppet apply byte.pp

Emacs: Configuración para colorear puppet

cat ~/.emacs
(add-to-list 'load-path "/root/.emacs.d")
(autoload 'puppet-mode "puppet-mode.el" "Major mode for editing puppet manifests")
(add-to-list 'auto-mode-alist '("\\.pp$" . puppet-mode))

;; Enable font lock mode globally, because we love our users.
(require 'font-lock)
(global-font-lock-mode 1)

Instalar, actualizar y desinstalar módulos desde puppet forge

puppet module install puppetlabs-mysql --version 2.2.2 --ignore-requirements
puppet module upgrade puppetlabs-mysql
puppet module uninstall puppetlabs-mysql

 

Ver los módulos ya instalados

puppet module list --tree
Configurar el proxy
root@puppet:/etc/puppet/manifests# grep proxy  /etc/puppet/puppet.conf
http_proxy_host=proxy.myorg.org
http_proxy_port = 80

Configurando un servidor propio de owncloud

Interfaz web owncloud
Interfaz web oncloud

Instalación del servidor

CentOS: CentOS release 6.5 (Final)

Paquetes instalados:

owncloud-3rdparty.noarch                  6.0.4-8.1                     @isv_ownCloud_community
 owncloud-httpd.noarch                     4.5.13-3.el6                  epel
 owncloud-mysql.noarch                     4.5.13-3.el6                  epel
 owncloud-nginx.noarch                     4.5.13-3.el6                  epel
 owncloud.noarch                           6.0.4-8.1                     @isv_ownCloud_community
 owncloud-postgresql.noarch                4.5.13-3.el6                  epel
 owncloud-sqlite.noarch                       4.5.13-3.el6                  epel

Repositorios de paquetes:

yum repolist
repo id                repo name                                          status
base                   CentOS-6 - Base                                     6.367
epel                   Extra Packages for Enterprise Linux 6 - x86_64     10.947
extras                 CentOS-6 - Extras                                      14
isv_ownCloud_community Latest stable community release of ownCloud (CentO      3
puppetlabs-deps        Puppet Labs Dependencies El 6 - x86_64                 63
puppetlabs-products    Puppet Labs Products El 6 - x86_64                    403
updates                CentOS-6 - Updates

En este punto, ya deberíamos poder acceder a nuestro servidor de owncloud mediante el interfaz web:

https://my-server/owncloud/index.php/apps/files

Interfaz web owncloud

Archivos: Conexión desde clientes linux

Comenzamos las pruebas conectando un cliente linux y una carpeta. Igual que haríamos con un servicio como dropbox.

El pc cliente es un debian 7.5.

Si fuera debian 7.0, podríamos seguir las indicaciones de owncloud añadimos a las fuentes el repositorio de owncloud para debian:

newkey=977C43A8BA684223
   gpg --keyserver pgpkeys.mit.edu --recv-key $newkey
   gpg -a --export $newkey| sudo apt-key add -
   echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Debian_7.0/ /' >> /etc/apt/sources.list.d/owncloud-client.list 
   apt-get update
   apt-get install owncloud-client

Al tratarse de debian 7.5, hemos usado el repositorio  wheezy-backports:

echo 'deb http://http.debian.net/debian wheezy-backports main' >> /etc/apt/sources.list
apt-get update
 apt-get install owncloud-client

Podemos abrir ya el cliente y configurarlo en el interfaz gráfico:

owncloud
owncloud

En el propio cliente, podemos verificar los datos de la cuenta y pausar el tráfico en un momento dado:

Owncloud02

 

También podemos poner rutas para que no se baje todo nuestro repositorio en el PC, o que ignore rutas en concreto:

Owncloud03
Owncloud03

Instalación del cliente en MAC

Accedemos a la página de owncloud, y descargamos el cliente de MAC

 

GPG Keys en distintas distribuciones:

Ubuntu

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6E80C6B7

Debian

En el ejemplo, se ha usado la clave gpg de security.debian.org. Sería necesario cambiar new key con el identificador de clave que hay que introducir para usar con apt.


newkey=8B48AD6246925553

gpg --keyserver pgpkeys.mit.edu --recv-key $newkey

gpg -a --export $newkey| sudo apt-key add -

CentOS
rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

CentOS: Uso común de yum

Configurar proxy en yum

En el fichero  /etc/yum.conf se añade la línea:

proxy=http://proxy.organizacion.com:80
Ver repositorios de yum que tenemos configurados

En consola de bash
yum repolist

Añadir un repositorio a yum

El ejemplo lo vamos a hacer con repoforge. Es posible que haya versiones más modernas que rpmforge:

wget http://tree.repoforge.org/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

Borrar un repositorio de yum y cambiarlo por otro más moderno

rpm -e rpmforge-release-0.5.2-2.el5.rf.x86_64
wget http://tree.repoforge.org/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm

Actualizar todos los comandos a la vez por línea de comandos en yum:

Actualizar todos los paquetes de CentOS. Recomendamos seriamente que se haga un backup previo a hacer este paso:

yum update
yum upgrade -y
yum clean all
yum --obsoletes update


Ver paquetes instalados

yum list installed

Instalar check_mssql_health como plugin de nagios en CentOS 6

El objetivo de check_mssql_health es monitorizar las bases de datos internas a un sql server desde nagios, centreon o similar.

La conexión, se hace desde el monitor (nagios) hacia la base de datos, directamente por el puerto de base de datos. Por defecto, en las instalaciones MS SQL SERVER es 1433. En caso de no funcionar, habrá que revisar que no haya un cortafuegos (tanto de windows como físico) que corte el puerto 1433 entre el monitor y el SQL Server.

Instalación del check en CentOS 6

Descargar el paquete

Descomprimir, configurar e instalar:

   tar -xvzf check_mssql_health-1.5.19.1.tar.gz

cd check_mssql_health-1.5.19.1

./configure

./make

./make install

El directorio donde deja el script, no coincide con el directorio donde están los plugins en nagios sobre CENTOS. Por lo tanto, es importante moverlo:

mv /usr/local/nagios/libexec/check_mssql_health /usr/lib64/nagios/plugins/

Problema DB:Sybase

Al ejecutar mssql_health faltan  paquetes de perl:

> ./check_mssql_health –hostname host  –username nagios –password dkfjlskf –mode  database-online
CRITICAL – cannot connect to host . install_driver(Sybase) failed: Can’t locate DBD/Sybase.pm in @INC (@INC contains: . /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at (eval 17) line 3.
Perhaps the DBD::Sybase perl module hasn’t been fully installed,
or perhaps the capitalisation of ‘Sybase’ isn’t right.
Available drivers: DBM, ExampleP, File, Gofer, Proxy, SQLite, Sponge, mysql.
at ./check_mssql_health line 3045.

Instalamos perl-DBD-Sybase con yum:

 yum install perl-DBD-Sybase.x86_64 -y

Comando de nagios /etc/nagios/checkcommands.cfg

 

define command{
command_name                    check_mssql_health
command_line                    $USER1$/check_mssql_health –hostname $HOSTADDRESS$  –username $ARG1$ –password $ARG2$ –mode  database-online
;command_example                        !nagios!password
;$ARG1$                         Service
}

 

 

 

Configuracion proxy en Perl

Configuración de proxy para CPAN (perl) en CentOS

Para instalar el proxy de CPAN:

cpan[3]> o conf http_proxy http://proxy.mydomain.com
Please use ‘o conf commit’ to make the config permanent!
cpan[4]> o conf ftp_proxy http://proxy.mydomain.com
Please use ‘o conf commit’ to make the config permanent!
cpan[5]> o conf commit
commit: wrote ‘/usr/share/perl5/CPAN/Config.pm’

 

Configuración de proxy para CPAN (perl) en Debian

perl -MCPAN -e shell
cpan[4]> o conf init /proxy/
cpan[5]> o conf commit
commit: wrote '/root/.cpan/CPAN/MyConfig.pm'

YAML Error

Warning (usually harmless): 'YAML' not installed, will not store
>> persistent state

Requiere instalación de perl y de yaml-perl

apt-get install make libconfig-yaml-perl

CentOS Perl INC error

Con las instalaciones nuevas de CentOS, suele haber problemas de Perl al iniciar:

Could not load the Perl module ‘Config::IniFiles’ Can’t locate Config/IniFiles.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at (eval 13) line 1.

Para instalar el módulo que falta:

cpan install Config::IniFiles