2020-05-31 21:45:39 -05:00
|
|
|
source: Installation/Install-LibreNMS.md
|
|
|
|
path: blob/master/doc/
|
|
|
|
|
|
|
|
This documentation has support for multiple OS/web server options. Make sure
|
|
|
|
you select the same option when they are presented.
|
|
|
|
|
|
|
|
> NOTE: These instructions assume you are the **root** user. If you
|
|
|
|
> are not, prepend `sudo` to the shell commands (the ones that aren't
|
|
|
|
> at `mysql>` prompts) or temporarily become a user with root
|
|
|
|
> privileges with `sudo -s` or `sudo -i`.
|
|
|
|
|
|
|
|
**Please note the minimum supported PHP version is 7.2.5**
|
|
|
|
|
|
|
|
# Install Required Packages
|
|
|
|
|
|
|
|
=== "Ubuntu 20.04"
|
2020-06-01 01:29:35 -05:00
|
|
|
=== "NGINX"
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
|
|
|
apt install software-properties-common
|
|
|
|
add-apt-repository universe
|
|
|
|
apt update
|
2020-06-14 16:14:15 -05:00
|
|
|
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-json php7.4-mbstring php7.4-mysql php7.4-snmp php7.4-xml php7.4-zip rrdtool snmp snmpd whois unzip python3-pymysql python3-dotenv python3-redis python3-setuptools
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
=== "Apache"
|
|
|
|
```
|
|
|
|
apt install software-properties-common
|
|
|
|
add-apt-repository universe
|
|
|
|
apt update
|
2020-06-14 16:14:15 -05:00
|
|
|
apt install acl curl apache2 composer fping git graphviz imagemagick libapache2-mod-fcgid mariadb-client mariadb-server mtr-tiny nmap php7.4-cli php7.4-curl php7.4-fpm php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-snmp php7.4-xml php7.4-zip rrdtool snmp snmpd whois python3-pymysql python3-dotenv python3-redis python3-setuptools
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
=== "CentOS 8"
|
2020-06-01 01:29:35 -05:00
|
|
|
=== "NGINX"
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
2020-06-03 02:21:36 -05:00
|
|
|
dnf install epel-release
|
2020-06-08 16:22:35 +02:00
|
|
|
dnf install bash-completion cronie fping git nginx ImageMagick mariadb-server mtr net-snmp net-snmp-utils nmap php-fpm php-cli php-common php-curl php-gd php-json php-mbstring php-process php-snmp php-xml php-zip php-mysqlnd python3 python3-PyMySQL python3-redis python3-memcached python3-pip rrdtool
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
=== "Apache"
|
|
|
|
```
|
2020-06-03 02:21:36 -05:00
|
|
|
dnf install epel-release
|
2020-06-08 16:22:35 +02:00
|
|
|
dnf install bash-completion cronie fping git httpd ImageMagick mariadb-server mtr net-snmp net-snmp-utils nmap php-fpm php-cli php-common php-curl php-gd php-json php-mbstring php-process php-snmp php-xml php-zip php-mysqlnd python3 python3-PyMySQL python3-redis python3-memcached python3-pip rrdtool unzip
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
=== "Debian 10"
|
2020-06-01 01:29:35 -05:00
|
|
|
=== "NGINX"
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
|
|
|
apt install curl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php7.3-cli php7.3-curl php7.3-fpm php7.3-gd php7.3-json php7.3-mbstring php7.3-mysql php7.3-snmp php7.3-xml php7.3-zip python-memcache python-mysqldb rrdtool snmp snmpd whois python3-pymysql python3-dotenv python3-redis python3-setuptools
|
|
|
|
```
|
2020-06-01 00:57:10 -05:00
|
|
|
|
|
|
|
# Add librenms user
|
2020-05-31 21:45:39 -05:00
|
|
|
|
2020-06-01 00:57:10 -05:00
|
|
|
```
|
|
|
|
useradd librenms -d /opt/librenms -M -r -s /usr/bin/bash
|
2020-06-03 02:21:36 -05:00
|
|
|
usermod -a -G apache librenms # FIXME needed for CentOS, remove session
|
2020-06-01 00:57:10 -05:00
|
|
|
```
|
2020-05-31 21:45:39 -05:00
|
|
|
|
|
|
|
# Download LibreNMS
|
|
|
|
|
|
|
|
```
|
|
|
|
cd /opt
|
|
|
|
git clone https://github.com/librenms/librenms.git
|
|
|
|
```
|
|
|
|
|
|
|
|
# Set permissions
|
|
|
|
|
|
|
|
```
|
|
|
|
chown -R librenms:librenms /opt/librenms
|
2020-06-01 00:57:10 -05:00
|
|
|
chmod 771 /opt/librenms
|
2020-05-31 21:45:39 -05:00
|
|
|
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/
|
|
|
|
```
|
|
|
|
|
|
|
|
# Install PHP dependencies
|
|
|
|
|
|
|
|
```
|
|
|
|
su - librenms
|
2020-06-01 02:36:21 -05:00
|
|
|
./scripts/composer_wrapper.php install --no-dev
|
2020-05-31 21:45:39 -05:00
|
|
|
exit
|
|
|
|
```
|
|
|
|
|
2020-06-03 02:21:36 -05:00
|
|
|
# Set timezone
|
2020-05-31 21:45:39 -05:00
|
|
|
|
2020-06-03 02:21:36 -05:00
|
|
|
See <http://php.net/manual/en/timezones.php> for a list of supported
|
|
|
|
timezones. Valid examples are: "America/New_York", "Australia/Brisbane", "Etc/UTC".
|
|
|
|
Ensure date.timezone is set in php.ini to your preferred time zone.
|
|
|
|
|
|
|
|
=== "Ubuntu 20.04"
|
|
|
|
```bash
|
|
|
|
vi /etc/php/7.4/fpm/php.ini
|
|
|
|
vi /etc/php/7.4/cli/php.ini
|
|
|
|
```
|
|
|
|
|
|
|
|
=== "Debian 10"
|
|
|
|
```bash
|
|
|
|
vi /etc/php/7.3/fpm/php.ini
|
|
|
|
vi /etc/php/7.3/cli/php.ini
|
|
|
|
```
|
|
|
|
|
|
|
|
=== "CentOS 8"
|
|
|
|
```
|
|
|
|
vi /etc/php.ini
|
|
|
|
```
|
|
|
|
|
|
|
|
Remember to set the system timezone as well.
|
|
|
|
|
|
|
|
```
|
|
|
|
timedatectl set-timezone Etc/UTC
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
# Configure MariaDB
|
2020-05-31 21:45:39 -05:00
|
|
|
|
|
|
|
=== "Ubuntu 20.04 / Debian 10"
|
|
|
|
```
|
|
|
|
vi /etc/mysql/mariadb.conf.d/50-server.cnf
|
|
|
|
```
|
|
|
|
|
|
|
|
=== "CentOS 8"
|
|
|
|
```
|
2020-06-01 02:36:21 -05:00
|
|
|
vi /etc/my.cnf.d/mariadb-server.cnf
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
|
|
|
|
2020-06-01 00:57:10 -05:00
|
|
|
Within the `[mysqld]` section add:
|
2020-05-31 21:45:39 -05:00
|
|
|
|
|
|
|
```bash
|
|
|
|
innodb_file_per_table=1
|
|
|
|
lower_case_table_names=0
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
systemctl enable mariadb
|
|
|
|
systemctl restart mariadb
|
|
|
|
```
|
|
|
|
|
2020-06-01 00:57:10 -05:00
|
|
|
```
|
|
|
|
mysql -u root
|
|
|
|
```
|
2020-05-31 21:45:39 -05:00
|
|
|
|
2020-06-01 00:57:10 -05:00
|
|
|
> NOTE: Change the 'password' below to something secure.
|
2020-05-31 21:45:39 -05:00
|
|
|
|
2020-06-01 00:57:10 -05:00
|
|
|
```sql
|
|
|
|
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
|
|
|
|
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';
|
|
|
|
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
|
|
|
|
FLUSH PRIVILEGES;
|
|
|
|
exit
|
|
|
|
```
|
|
|
|
|
2020-06-03 02:21:36 -05:00
|
|
|
# Configure PHP-FPM
|
2020-06-01 00:57:10 -05:00
|
|
|
|
2020-05-31 21:45:39 -05:00
|
|
|
=== "Ubuntu 20.04"
|
2020-06-01 00:57:10 -05:00
|
|
|
```bash
|
|
|
|
cp /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
|
|
|
|
```
|
|
|
|
|
|
|
|
=== "Debian 10"
|
|
|
|
```bash
|
|
|
|
cp /etc/php/7.3/fpm/pool.d/www.conf /etc/php/7.3/fpm/pool.d/librenms.conf
|
|
|
|
vi /etc/php/7.3/fpm/pool.d/librenms.conf
|
|
|
|
```
|
|
|
|
|
|
|
|
=== "CentOS 8"
|
2020-06-01 02:36:21 -05:00
|
|
|
```bash
|
|
|
|
cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/librenms.conf
|
|
|
|
vi /etc/php-fpm.d/librenms.conf
|
|
|
|
```
|
2020-06-01 00:57:10 -05:00
|
|
|
|
|
|
|
```
|
|
|
|
# Change "www" to "librenms"
|
|
|
|
[librenms]
|
|
|
|
|
|
|
|
# Change user and group to "librenms"
|
|
|
|
user = librenms
|
|
|
|
group = librenms
|
|
|
|
|
|
|
|
# Change listen to a unique name
|
|
|
|
listen = /run/php-fpm-librenms.sock;
|
|
|
|
```
|
|
|
|
|
2020-06-03 02:21:36 -05:00
|
|
|
# Configure Web Server
|
2020-06-01 00:57:10 -05:00
|
|
|
|
|
|
|
=== "Ubuntu 20.04"
|
2020-06-01 01:29:35 -05:00
|
|
|
=== "NGINX"
|
2020-05-31 21:45:39 -05:00
|
|
|
```bash
|
|
|
|
vi /etc/nginx/conf.d/librenms.conf
|
|
|
|
```
|
|
|
|
|
|
|
|
Add the following config, edit `server_name` as required:
|
|
|
|
|
|
|
|
```nginx
|
|
|
|
server {
|
|
|
|
listen 80;
|
|
|
|
server_name librenms.example.com;
|
|
|
|
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 /api/v0 {
|
|
|
|
try_files $uri $uri/ /api_v0.php?$query_string;
|
|
|
|
}
|
|
|
|
location ~ \.php {
|
|
|
|
include fastcgi.conf;
|
|
|
|
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
2020-06-01 00:57:10 -05:00
|
|
|
fastcgi_pass unix:/run/php-fpm-librenms.sock;
|
2020-05-31 21:45:39 -05:00
|
|
|
}
|
|
|
|
location ~ /\.ht {
|
|
|
|
deny all;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
2020-06-01 00:57:10 -05:00
|
|
|
|
2020-05-31 21:45:39 -05:00
|
|
|
```bash
|
|
|
|
rm /etc/nginx/sites-enabled/default
|
|
|
|
systemctl restart nginx
|
2020-06-01 00:57:10 -05:00
|
|
|
systemctl restart php7.4-fpm
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
2020-06-01 00:57:10 -05:00
|
|
|
|
2020-05-31 21:45:39 -05:00
|
|
|
=== "Apache"
|
|
|
|
```bash
|
|
|
|
vi /etc/apache2/sites-available/librenms.conf
|
|
|
|
```
|
|
|
|
|
|
|
|
Add the following config, edit `ServerName` as required:
|
|
|
|
|
|
|
|
```apache
|
|
|
|
<VirtualHost *:80>
|
|
|
|
DocumentRoot /opt/librenms/html/
|
|
|
|
ServerName librenms.example.com
|
|
|
|
|
|
|
|
AllowEncodedSlashes NoDecode
|
|
|
|
<Directory "/opt/librenms/html/">
|
|
|
|
Require all granted
|
|
|
|
AllowOverride All
|
|
|
|
Options FollowSymLinks MultiViews
|
|
|
|
</Directory>
|
2020-06-01 00:57:10 -05:00
|
|
|
|
|
|
|
# Enable http authorization headers
|
|
|
|
<IfModule setenvif_module>
|
|
|
|
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
|
|
|
|
</IfModule>
|
|
|
|
|
|
|
|
<FilesMatch ".+\.php$">
|
|
|
|
SetHandler "proxy:unix:/run/php-fpm-librenms.sock|fcgi://localhost"
|
|
|
|
</FilesMatch>
|
|
|
|
</VirtualHost>
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
2020-06-01 00:57:10 -05:00
|
|
|
|
2020-05-31 21:45:39 -05:00
|
|
|
```bash
|
2020-06-01 00:57:10 -05:00
|
|
|
a2dissite 000-default
|
|
|
|
a2enmod proxy_fcgi setenvif rewrite
|
2020-05-31 21:45:39 -05:00
|
|
|
a2ensite librenms.conf
|
|
|
|
systemctl restart apache2
|
2020-06-01 00:57:10 -05:00
|
|
|
systemctl restart php7.4-fpm
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
=== "Debian 10"
|
2020-06-01 01:29:35 -05:00
|
|
|
=== "NGINX"
|
2020-05-31 21:45:39 -05:00
|
|
|
```bash
|
|
|
|
vi /etc/nginx/sites-enabled/librenms.vhost
|
|
|
|
```
|
|
|
|
|
|
|
|
Add the following config, edit `server_name` as required:
|
|
|
|
|
|
|
|
```nginx
|
|
|
|
server {
|
|
|
|
listen 80;
|
|
|
|
server_name librenms.example.com;
|
|
|
|
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 /api/v0 {
|
|
|
|
try_files $uri $uri/ /api_v0.php?$query_string;
|
|
|
|
}
|
|
|
|
location ~ \.php {
|
|
|
|
include fastcgi.conf;
|
|
|
|
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
2020-06-01 00:57:10 -05:00
|
|
|
fastcgi_pass unix:/run/php-fpm-librenms.sock;
|
2020-05-31 21:45:39 -05:00
|
|
|
}
|
|
|
|
location ~ /\.ht {
|
|
|
|
deny all;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
```bash
|
2020-06-01 00:57:10 -05:00
|
|
|
rm /etc/nginx/sites-enabled/default
|
2020-05-31 21:45:39 -05:00
|
|
|
systemctl reload nginx
|
2020-06-01 00:57:10 -05:00
|
|
|
systemctl restart php7.3-fpm
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
=== "CentOS 8"
|
2020-06-01 01:29:35 -05:00
|
|
|
=== "NGINX"
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
|
|
|
vi /etc/nginx/conf.d/librenms.conf
|
|
|
|
```
|
|
|
|
|
|
|
|
Add the following config, edit `server_name` as required:
|
|
|
|
|
|
|
|
```nginx
|
|
|
|
server {
|
|
|
|
listen 80;
|
|
|
|
server_name librenms.example.com;
|
|
|
|
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 /api/v0 {
|
|
|
|
try_files $uri $uri/ /api_v0.php?$query_string;
|
|
|
|
}
|
|
|
|
location ~ \.php {
|
|
|
|
include fastcgi.conf;
|
|
|
|
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
2020-06-01 02:36:21 -05:00
|
|
|
fastcgi_pass unix:/run/php-fpm-librenms.sock;
|
2020-05-31 21:45:39 -05:00
|
|
|
}
|
|
|
|
location ~ /\.ht {
|
|
|
|
deny all;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
> NOTE: If this is the only site you are hosting on this server (it
|
|
|
|
> should be :)) then you will need to disable the default site.
|
|
|
|
|
|
|
|
Delete the `server` section from `/etc/nginx/nginx.conf`
|
|
|
|
|
|
|
|
```
|
2020-06-01 00:57:10 -05:00
|
|
|
systemctl enable --now nginx
|
|
|
|
systemctl enable --now php-fpm
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
=== "Apache"
|
|
|
|
Create the librenms.conf:
|
|
|
|
|
|
|
|
```
|
|
|
|
vi /etc/httpd/conf.d/librenms.conf
|
|
|
|
```
|
|
|
|
|
|
|
|
Add the following config, edit `ServerName` as required:
|
|
|
|
|
|
|
|
```apache
|
|
|
|
<VirtualHost *:80>
|
|
|
|
DocumentRoot /opt/librenms/html/
|
|
|
|
ServerName librenms.example.com
|
|
|
|
|
|
|
|
AllowEncodedSlashes NoDecode
|
|
|
|
<Directory "/opt/librenms/html/">
|
|
|
|
Require all granted
|
|
|
|
AllowOverride All
|
|
|
|
Options FollowSymLinks MultiViews
|
|
|
|
</Directory>
|
2020-06-03 02:21:36 -05:00
|
|
|
|
|
|
|
# Enable http authorization headers
|
|
|
|
<IfModule setenvif_module>
|
|
|
|
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
|
|
|
|
</IfModule>
|
|
|
|
|
|
|
|
<FilesMatch ".+\.php$">
|
|
|
|
SetHandler "proxy:unix:/run/php-fpm-librenms.sock|fcgi://localhost"
|
|
|
|
</FilesMatch>
|
|
|
|
</VirtualHost>
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
> NOTE: If this is the only site you are hosting on this server (it
|
|
|
|
> should be :)) then you will need to disable the default site. `rm -f /etc/httpd/conf.d/welcome.conf`
|
|
|
|
|
|
|
|
```
|
|
|
|
systemctl enable --now httpd
|
2020-06-03 02:21:36 -05:00
|
|
|
systemctl enable --now php-fpm
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
# SELinux
|
|
|
|
|
|
|
|
=== "Ubuntu 20.04 / Debian 10"
|
|
|
|
SELinux not enabled by default
|
|
|
|
|
|
|
|
=== "CentOS 8"
|
|
|
|
|
|
|
|
## Configure the contexts needed by LibreNMS:
|
|
|
|
|
|
|
|
```
|
2020-06-01 13:52:32 -05:00
|
|
|
semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/html(/.*)?'
|
|
|
|
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/(logs|rrd|storage)(/.*)?'
|
|
|
|
restorecon -RFvv /opt/librenms
|
2020-05-31 21:45:39 -05:00
|
|
|
setsebool -P httpd_can_sendmail=1
|
|
|
|
setsebool -P httpd_execmem 1
|
|
|
|
```
|
|
|
|
|
|
|
|
# Allow fping
|
|
|
|
|
|
|
|
Create the file http_fping.tt with the following contents. You can
|
|
|
|
create this file anywhere, as it is a throw-away file. The last step
|
|
|
|
in this install procedure will install the module in the proper
|
|
|
|
location.
|
|
|
|
|
|
|
|
```
|
|
|
|
module http_fping 1.0;
|
|
|
|
|
|
|
|
require {
|
|
|
|
type httpd_t;
|
|
|
|
class capability net_raw;
|
|
|
|
class rawip_socket { getopt create setopt write read };
|
|
|
|
}
|
|
|
|
|
|
|
|
#============= httpd_t ==============
|
|
|
|
allow httpd_t self:capability net_raw;
|
|
|
|
allow httpd_t self:rawip_socket { getopt create setopt write read };
|
|
|
|
```
|
|
|
|
|
|
|
|
Then run these commands
|
|
|
|
|
|
|
|
```
|
|
|
|
checkmodule -M -m -o http_fping.mod http_fping.tt
|
|
|
|
semodule_package -o http_fping.pp -m http_fping.mod
|
|
|
|
semodule -i http_fping.pp
|
|
|
|
```
|
2020-06-01 13:52:32 -05:00
|
|
|
|
|
|
|
Additional SELinux problems may be found by executing the following command
|
|
|
|
|
|
|
|
```
|
|
|
|
audit2why < /var/log/audit/audit.log
|
|
|
|
```
|
2020-05-31 21:45:39 -05:00
|
|
|
|
|
|
|
# Allow access through firewall
|
|
|
|
|
|
|
|
=== "Ubuntu 20.04 / Debian 10"
|
|
|
|
Firewall not enabled by default
|
|
|
|
|
|
|
|
=== "CentOS 8"
|
2020-06-03 02:21:36 -05:00
|
|
|
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
2020-06-01 13:52:32 -05:00
|
|
|
firewall-cmd --zone public --add-service http --add-service https
|
|
|
|
firewall-cmd --permanent --zone public --add-service http --add-service https
|
2020-05-31 21:45:39 -05:00
|
|
|
```
|
|
|
|
|
2020-06-08 16:22:35 +02:00
|
|
|
# Enable lnms command auto-completion
|
|
|
|
|
|
|
|
This feature grants you the opportunity to use tab for completion on lnms commands as you would
|
|
|
|
for normal linux commands.
|
2020-06-03 02:21:36 -05:00
|
|
|
|
|
|
|
```
|
|
|
|
ln -s /opt/librenms/lnms /usr/local/bin/lnms
|
|
|
|
cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/
|
|
|
|
```
|
|
|
|
|
2020-05-31 21:45:39 -05:00
|
|
|
# Configure snmpd
|
|
|
|
|
|
|
|
```
|
|
|
|
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
vi /etc/snmp/snmpd.conf
|
|
|
|
```
|
|
|
|
|
|
|
|
Edit the text which says `RANDOMSTRINGGOESHERE` and set your own community string.
|
|
|
|
|
|
|
|
```
|
|
|
|
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
|
|
|
|
chmod +x /usr/bin/distro
|
|
|
|
systemctl enable snmpd
|
|
|
|
systemctl restart snmpd
|
|
|
|
```
|
|
|
|
|
|
|
|
# Cron job
|
|
|
|
|
|
|
|
```
|
|
|
|
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
|
|
|
|
```
|
|
|
|
|
|
|
|
> NOTE: Keep in mind that cron, by default, only uses a very limited
|
|
|
|
> set of environment variables. You may need to configure proxy
|
|
|
|
> variables for the cron invocation. Alternatively adding the proxy
|
|
|
|
> settings in config.php is possible too. The config.php file will be
|
|
|
|
> created in the upcoming steps. Review the following URL after you
|
|
|
|
> finished librenms install steps:
|
|
|
|
> <https://docs.librenms.org/Support/Configuration/#proxy-support>
|
|
|
|
|
|
|
|
# Copy logrotate config
|
|
|
|
|
|
|
|
LibreNMS keeps logs in `/opt/librenms/logs`. Over time these can
|
|
|
|
become large and be rotated out. To rotate out the old logs you can
|
|
|
|
use the provided logrotate config file:
|
|
|
|
|
|
|
|
```
|
|
|
|
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
|
|
|
|
```
|
|
|
|
|
|
|
|
# Web installer
|
|
|
|
|
|
|
|
Now head to the web installer and follow the on-screen instructions.
|
|
|
|
|
|
|
|
<http://librenms.example.com/install.php>
|
|
|
|
|
|
|
|
The web installer might prompt you to create a `config.php` file in
|
|
|
|
your librenms install location manually, copying the content displayed
|
|
|
|
on-screen to the file. If you have to do this, please remember to set
|
|
|
|
the permissions on config.php after you copied the on-screen contents
|
|
|
|
to the file. Run:
|
|
|
|
|
|
|
|
```
|
|
|
|
chown librenms:librenms /opt/librenms/config.php
|
|
|
|
```
|
|
|
|
|
2020-06-08 16:22:35 +02:00
|
|
|
# Set location to fping6
|
|
|
|
|
|
|
|
On the validate screen, <http://librenms.example.com/validate>
|
|
|
|
you might get a message like this:
|
|
|
|
|
|
|
|
```
|
|
|
|
fping6 location is incorrect or bin not installed.
|
|
|
|
```
|
|
|
|
|
|
|
|
=== "Ubuntu 20.04 / Debian 10"
|
|
|
|
This is not a known problem in this distro.
|
|
|
|
=== "CentOS 8"
|
|
|
|
To fix this: copy the following line to `config.php`:
|
|
|
|
|
|
|
|
```
|
|
|
|
$config['fping6'] = '/usr/sbin/fping';
|
|
|
|
```
|
|
|
|
|
2020-05-31 21:45:39 -05:00
|
|
|
# Final steps
|
|
|
|
|
|
|
|
That's it! You now should be able to log in to
|
|
|
|
<http://librenms.example.com/>. Please note that we have not covered
|
|
|
|
HTTPS setup in this example, so your LibreNMS install is not secure
|
|
|
|
by default. Please do not expose it to the public Internet unless
|
|
|
|
you have configured HTTPS and taken appropriate web server hardening
|
|
|
|
steps.
|
|
|
|
|
|
|
|
# Add the first device
|
|
|
|
|
|
|
|
We now suggest that you add localhost as your first device from within the WebUI.
|
|
|
|
|
|
|
|
# Troubleshooting
|
|
|
|
|
|
|
|
If you ever have issues with your install, run validate.php:
|
|
|
|
|
|
|
|
```
|
|
|
|
sudo su - librenms
|
|
|
|
./validate.php
|
|
|
|
```
|
|
|
|
|
|
|
|
There are various options for getting help listed on the LibreNMS web
|
|
|
|
site: <https://www.librenms.org/#support>
|
|
|
|
|
|
|
|
# What next?
|
|
|
|
|
|
|
|
Now that you've installed LibreNMS, we'd suggest that you have a read
|
|
|
|
of a few other docs to get you going:
|
|
|
|
|
|
|
|
- [Performance tuning](http://docs.librenms.org/Support/Performance)
|
|
|
|
- [Alerting](http://docs.librenms.org/Extensions/Alerting/)
|
|
|
|
- [Device Groups](http://docs.librenms.org/Extensions/Device-Groups/)
|
|
|
|
- [Auto discovery](http://docs.librenms.org/Extensions/Auto-Discovery/)
|
|
|
|
|
|
|
|
# Closing
|
|
|
|
|
|
|
|
We hope you enjoy using LibreNMS. If you do, it would be great if you
|
|
|
|
would consider opting into the stats system we have, please see [this
|
|
|
|
page](http://docs.librenms.org/General/Callback-Stats-and-Privacy/) on
|
|
|
|
what it is and how to enable it.
|
|
|
|
|
|
|
|
If you would like to help make LibreNMS better there are [many ways to
|
|
|
|
help](http://docs.librenms.org/Support/FAQ/#what-can-i-do-to-help). You
|
|
|
|
can also [back LibreNMS on Open
|
|
|
|
Collective](https://t.libren.ms/donations).
|