systemadmin.es > Monitorización > Instalación de Nagios con MediaWiki y RRDtool (II)

Instalación de Nagios con MediaWiki y RRDtool (II)

En esta parte vamos a instalar el MediaWiki y integrar la autenticación HTTP-Auth con él para evitar tener que hacer dos veces login al sistema.

Crearemos la estructura dentro de /mediawiki descomprimiendo el tar de la web de MediaWiki:

mkdir -p /var/www/nagios/htdocs/mediawiki
cd /usr/local/src
wget http://download.wikimedia.org/mediawiki/1.16/mediawiki-1.16.0.tar.gz
tar xzf mediawiki-1.16.0.tar.gz --strip-components 1 -C /var/www/nagios/htdocs/mediawiki/

A continuación nos dirigiremos al navegador para proceder a la instalación del MediaWiki:

Inicio de la instalación de MediaWiki

Inicio de la instalación de MediaWiki

Nos pedirá que permitamos la escritura dentro del directorio /config:

Configuración del acceso temporal al disco desde PHP

Configuración del acceso temporal al disco desde PHP

Podemos permitir sólo durante la instalación la escritura allí cambiando el propietario al usuario apache:

chown apache. /var/www/nagios/htdocs/mediawiki/config  

A continuación comprobará la configuración del sistema:

Comprobación del entorno

Comprobación del entorno

Seguiremos configurando algunos parámetros del MediaWiki como el nombre, un email de contacto y el usuario y contraseña del administrador del wiki:

Opciones del Site config

Opciones del Site config

Más abajo veremos que nos pide configurar el envío de alertas por email, podemos dejarlas deshabilitadas:

Configuración de las opciones relativas al envío de emails

Configuración de las opciones relativas al envío de emails

A continuación deberemos crear la base de datos y el usuario en el MySQL:

echo "create database wiki_db_documentacion_nagios;" | mysql
echo "grant all on wiki_db_documentacion_nagios.* to mediawikinagios@localhost identified by '$(pwgen 20)';" | tee /var/www/nagios/.mediawiki.grant | mysql

Podremos ver el grant que se ha generado con la contraseña aleatoria en el fichero /var/www/nagios/.mediawiki.grant.

Deberemos introducir los datos en el formulario. En las opciones específicas de MySQL deberemos introducir un prefijo cualquiera para las tablas, en este caso doc_nagios_, pero puede ser cualquiera:

Configuración de la base de datos

Configuración de la base de datos

A continuación al apretar el botón “Install MediaWiki” se nos configurará y obtendremos el siguiente mensaje:

Instalación correcta de MediaWiki

Instalación correcta de MediaWiki

Al final de la página vemos que nos indica que sigamos el enlace, el cual nos llevará a la siguiente página que nos pide que movamos el fichero LocalSettings.php a la raíz del MediaWiki:

Mover la configuración a la raíz

Mover la configuración a la raíz

Cambiamos de sitio el fichero:

mv /var/www/nagios/htdocs/mediawiki/config/LocalSettings.php /var/www/nagios/htdocs/mediawiki/

Al actualizar la página veremos el MediaWiki recién instalado:

Página principal

Página principal

A continuación deberemos instalar la extensión HTTP-Auth para ligar la autenticación del Nagios con la del MediaWiki:

cd /usr/local/src
wget http://github.com/oremj/mediawiki-http-auth/tarball/v0.1
tar xzf oremj-mediawiki-http-auth-v0.1-0-g7efe899.tar.gz --strip-components 1 -C /var/www/nagios/htdocs/mediawiki/extensions/

Añadiremos el fichero LocalSettings.php lo siguiente mediante un here document:

cd /var/www/nagios/htdocs/mediawiki
cat <<"EOF" >> LocalSettings.php 
 
session_start();
if ((!empty($_SERVER['PHP_AUTH_USER']) && !empty($_SERVER['REMOTE_USER'])) || $_COOKIE[$wgDBserver . 'UserID']) {
         require_once("$IP/extensions/HttpAuthPlugin.php");
         $wgAuth = new HttpAuthPlugin();
         $wgHooks['UserLoadFromSession'][] = array($wgAuth,'autoAuthenticate');
}
 
EOF

Al volver a refrescar la página veremos como nos aparece el usuario con el que nos hemos autenticado como usuario de MediaWiki:

Autenticado en MediaWiki mediante HTTP-Auth

Autenticado en MediaWiki mediante HTTP-Auth

Finalmente intentaremos dejar el sistema un mínimo de seguro, aunque se trate de un sistema interno:

  • Deshabilitaremos PHP en el directorio de imágenes
  • Denegaremos que se pueda llegar a servir el fichero LocalSettings.php
  • Cambiaremos el propietario de los ficheros para que el usuario con el que se ejecuta el servidor web no tenga permisos de escritura en los ficheros PHP ni en los directorios

Las instrucciones son:

chown -R nagios. /var/www/nagios/htdocs/mediawiki/
chown -R apache. /var/www/nagios/htdocs/mediawiki/images/
mv /var/www/nagios/htdocs/mediawiki/config/ /var/www/nagios/mediawiki.config
sed 's#</VirtualHost>#\t<Filesmatch ^LocalSettings.php\$>\n\t\tDeny from all\n\t</Filesmatch>\n\n\t<Directory "/var/www/nagios/htdocs/mediawiki/images">\n\t\tphp_admin_flag engine off\n\t</Directory>\n\n</VirtualHost>#g' -i /usr/local/apache22/conf/extra/vhosts/nagios.conf
/usr/local/apache22/bin/apachectl graceful  

El resto de partes de esta instalación de Nagios con MediaWiki y RRDtool son las siguientes:

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>