This is an old revision of the document!
Table of Contents
Instalación Raspberry
Descargamos la imagen de raspberry:
https://www.raspberrypi.com/software/operating-systems/
He descargado la lite.
La planchamos en una micro SD que no esté montada:
dd if=2021-10-30-raspios-bullseye-armhf-lite.img of=/dev/mmcblk0 bs=4M
Tarda en mi portátil unos 50 segundos:
466+0 records in 466+0 records out 1954545664 bytes (2.0 GB, 1.8 GiB) copied, 50.1178 s, 39.0 MB/s real 0m50.120s user 0m0.001s sys 0m1.786s
Para poder conectarnos sin necesidad de teclado ni pantalla, le damos IP y configuramos SSH:
Nos ha creado dos particiones:
- boot
- rootfs
IP Fija
Pondremos una IP del rango admin del EKO, que es 192.168.0.x
Por ejemplo 192.168.0.10
Editamos el fichero:
rootfs/etc/dhcpcd.conf
interface eth0 static ip_address=192.168.0.10/24 static routers=192.168.0.1 static domain_name_servers=8.8.8.8
Habilitar SSH
Creamos un fichero que se llame ssh en la partición boot. Da igual que esté vacio. Podemos hacer:
touch boot/ssh
Metemos la tarjeta en la Raspberry y la arrancamos. Tarda un poco al ser la primera vez porque hace resize de tarjeta, inicia servicios….
Conectamos por ssh y cambiamos timezone:
timedatectl set-timezone Europe/Madrid
Instalación de LibreMS
Fuente: https://docs.librenms.org/Installation/Install-LibreNMS/ (para debian 11)
Como root:
apt install acl curl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php7.4-cli php7.4-curl php7.4-fpm php7.4-gd php7.4-gmp php7.4-json php7.4-mbstring php7.4-mysql php7.4-snmp php7.4-xml php7.4-zip python3-dotenv python3-pip python3-pymysql python3-redis python3-setuptools python3-systemd rrdtool snmp snmpd whois useradd librenms -d /opt/librenms -M -r -s "$(which bash)"
cd /opt git clone https://github.com/librenms/librenms.git
chown -R librenms:librenms /opt/librenms chmod 771 /opt/librenms setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/ setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
Cambiamos a usuario librenms
su - librenms
Ejecutamos script:
./scripts/composer_wrapper.php install --no-dev
Volvemos a root
exit
Cambiamos timezone en php:
vi /etc/php/7.4/fpm/php.ini vi /etc/php/7.4/cli/php.ini
En la sección [Date] cambiamos
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone ;date.timezone =
Por:
date.timezone = Europe/Madrid
Configuración BBDD:
vi /etc/mysql/mariadb.conf.d/50-server.cnf
En la sección [mysqld] añadir:
innodb_file_per_table=1 lower_case_table_names=0
Habilitamos mariadb para que arranque al reiniciar y reiniciamos mariadb
systemctl enable mariadb systemctl restart mariadb
Creamos la BBDD de librenms
mysql -u root
CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost'; FLUSH PRIVILEGES; exit
Configuración php
mv /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf vi /etc/php/7.4/fpm/pool.d/librenms.conf
Cambiar [www] a [librenms]:
Cambiar
user = www-data group = www-data
Por
user = librenms group = librenms
Cambiar
listen = /run/php/php7.4-fpm.sock
por
listen = /run/php-fpm-librenms.sock
Configuración nginx:
vi /etc/nginx/sites-enabled/librenms.vhost
Cambiad server_name por el que toque:
server {
listen 80;
server_name librenmseko.lobo99.info;
root /opt/librenms/html;
index index.php;
charset utf-8;
gzip on;
gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ [^/]\.php(/|$) {
fastcgi_pass unix:/run/php-fpm-librenms.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi.conf;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
rm /etc/nginx/sites-enabled/default systemctl reload nginx systemctl restart php7.4-fpm
Activra autocompletado lnms
ln -s /opt/librenms/lnms /usr/bin/lnms cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/
Configurar snmpd
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Cambiamos RANDOMSTRINGGOESHERE por public
vi /etc/snmp/snmpd.conf
com2sec readonly default RANDOMSTRINGGOESHERE
por
com2sec readonly default public
Cronjob
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
logrotate:
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
