Merge pull request #11762 from murrant/consolidate-install-doc

Update and Consolidate Install docs Ubuntu 20.04 and CentOS 8
This commit is contained in:
Tony Murray 2020-06-29 01:10:28 -05:00 committed by GitHub
commit db5524dc09
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 619 additions and 1120 deletions

View File

@ -0,0 +1,573 @@
source: Installation/Install-LibreNMS.md
path: blob/master/doc/
# Prepare Linux Server
You should have an installed Linux server running one of the supported OS.
Make sure you select the correct OS in the tabbed options below each time.
Choice of web server is your preference, NGINX is recommended.
Connect to the server command line and follow the instructions below.
> 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"
=== "NGINX"
```
apt install software-properties-common
add-apt-repository universe
apt update
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
```
=== "Apache"
```
apt install software-properties-common
add-apt-repository universe
apt update
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
```
=== "CentOS 8"
=== "NGINX"
```
dnf -y install epel-release
dnf install bash-completion cronie fping git ImageMagick mariadb-server mtr net-snmp net-snmp-utils nginx 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
```
=== "Apache"
```
dnf -y install epel-release
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
```
=== "Debian 10"
=== "NGINX"
```
apt install acl 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 python3-dotenv python3-pymysql python3-redis python3-setuptools rrdtool snmp snmpd whois
```
# Add librenms user
```
useradd librenms -d /opt/librenms -M -r -s /usr/bin/bash
```
# Download LibreNMS
```
cd /opt
git clone https://github.com/librenms/librenms.git
```
# Set permissions
```
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/
```
# Install PHP dependencies
```
su - librenms
./scripts/composer_wrapper.php install --no-dev
exit
```
# Set timezone
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
=== "Ubuntu 20.04 / Debian 10"
```
vi /etc/mysql/mariadb.conf.d/50-server.cnf
```
=== "CentOS 8"
```
vi /etc/my.cnf.d/mariadb-server.cnf
```
Within the `[mysqld]` section add:
```bash
innodb_file_per_table=1
lower_case_table_names=0
```
```
systemctl enable mariadb
systemctl restart mariadb
```
```
mysql -u root
```
> NOTE: Change the 'password' below to something secure.
```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
```
# Configure PHP-FPM
=== "Ubuntu 20.04"
```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"
```bash
cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/librenms.conf
vi /etc/php-fpm.d/librenms.conf
```
```
# 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
```
If there are no other PHP web applications on this server, you may remove www.conf to save some resources.
Feel free to tune the performance settings in librenms.conf to meet your needs.
# Configure Web Server
=== "Ubuntu 20.04"
=== "NGINX"
```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 ~ [^/]\.php(/|$) {
fastcgi_pass unix:/run/php-fpm-librenms.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi.conf;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
```
```bash
rm /etc/nginx/sites-enabled/default
systemctl restart nginx
systemctl restart php7.4-fpm
```
=== "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>
# 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>
```
```bash
a2dissite 000-default
a2enmod proxy_fcgi setenvif rewrite
a2ensite librenms.conf
systemctl restart apache2
systemctl restart php7.4-fpm
```
=== "Debian 10"
=== "NGINX"
```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 ~ [^/]\.php(/|$) {
fastcgi_pass unix:/run/php-fpm-librenms.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi.conf;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
```
```bash
rm /etc/nginx/sites-enabled/default
systemctl reload nginx
systemctl restart php7.3-fpm
```
=== "CentOS 8"
=== "NGINX"
```
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 ~ [^/]\.php(/|$) {
fastcgi_pass unix:/run/php-fpm-librenms.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi.conf;
}
location ~ /\.(?!well-known).* {
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`
```
systemctl enable --now nginx
systemctl enable --now php-fpm
```
=== "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>
# 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>
```
> 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
systemctl enable --now php-fpm
```
# SELinux
=== "Ubuntu 20.04 / Debian 10"
SELinux not enabled by default
=== "CentOS 8"
Install the policy tool for SELinux:
```
dnf install policycoreutils-python-utils
```
## Configure the contexts needed by LibreNMS:
```
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
setsebool -P httpd_can_sendmail=1
setsebool -P httpd_execmem 1
chcon -t httpd_sys_rw_content_t /opt/librenms/.env
```
# 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
```
Additional SELinux problems may be found by executing the following command
```
audit2why < /var/log/audit/audit.log
```
# Allow access through firewall
=== "Ubuntu 20.04 / Debian 10"
Firewall not enabled by default
=== "CentOS 8"
```
firewall-cmd --zone public --add-service http --add-service https
firewall-cmd --permanent --zone public --add-service http --add-service https
```
# Enable lnms command completion
This feature grants you the opportunity to use tab for completion on lnms commands as you would
for normal linux commands.
```
ln -s /opt/librenms/lnms /usr/local/bin/lnms
cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/
```
# 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>
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
```
# 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).

View File

@ -1,3 +0,0 @@
source: Installation/Installation-(Debian-Ubuntu).md
path: blob/master/doc/
<meta http-equiv="refresh" content="0; url=/Installation/Installation-Ubuntu-1604-Apache/" />

View File

@ -1,3 +0,0 @@
source: Installation/Installation-(RHEL-CentOS).md
path: blob/master/doc/
<meta http-equiv="refresh" content="0; url=/Installation/Installation-CentOS-7-Apache/" />

View File

@ -1,373 +0,0 @@
source: Installation/Installation-Ubuntu-1404-Apache.md
path: blob/master/doc/
> 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 5.6.4**
# On the DB Server
This host is where the MySQL database runs. It could be the same
machine as your network management server (this is the most common
initial deployment scenario).
> ** Whilst we are working on ensuring LibreNMS is compatible with
> MySQL strict mode, for now, please disable this after mysql is
> installed.
You are free to choose between using MySQL or MariaDB:
## MySQL
```bash
apt-get install mysql-server mysql-client
mysql -uroot -p
```
## MariaDB
```bash
apt-get install mariadb-server mariadb-client
mysql -uroot -p
```
## General
Input the MySQL root password to enter the MySQL command-line interface.
Create the database:
```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
```
Replace `<ip>` above with the IP or DNS name of the server running
LibreNMS. If your database is on the same server as LibreNMS, you can
use `localhost`.
If you are deploying a separate database server, you need to change
the `bind-address`. If your MySQL database resides on the same server
as LibreNMS, you should skip this step.
```bash
vim /etc/mysql/my.cnf
```
Within the [mysqld] section please add:
```mysql
innodb_file_per_table=1
```
Find the line: `bind-address = 127.0.0.1`
Change `127.0.0.1` to the IP address that your MySQL server should
listen on. Restart MySQL:
If you see a line that starts `sql-mode` then change this to `sql-mode=""`.
```bash
service mysql restart
```
# On the NMS
This host is where the web server and SNMP poller run. It could be
the same machine as your database server.
Install the required software:
```bash
apt-get install libapache2-mod-php5 php5-cli php5-mysql php5-gd php5-snmp php-pear php5-curl snmp graphviz php5-mcrypt php5-json apache2 fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd php-net-ipv4 php-net-ipv6 rrdtool git
```
The packages listed above are an all-inclusive list of packages that
were necessary on a clean install of Ubuntu 12.04/14.04.
You need to configure snmpd appropriately if you have not already done
so. An absolute minimal config for snmpd is:
```
rocommunity public 127.0.0.1
```
Adding the above line to `/etc/snmp/snmpd.conf` and running `service
snmpd restart` will activate this config.
In `/etc/php5/apache2/php.ini` and `/etc/php5/cli/php.ini`, ensure
date.timezone is set to your preferred time zone. See
<http://php.net/manual/en/timezones.php> for a list of
supported timezones. Valid examples are: "America/New York",
"Australia/Brisbane", "Etc/UTC".
Please also ensure that `allow_url_fopen` is enabled. Other functions
needed for LibreNMS include
`exec,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,popen`.
# Adding the librenms-user
```bash
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
```
# Cloning
LibreNMS is installed using git. If you're not familiar with git,
check out the [git book][2] or the tips at [git ready][3]. The
initial install from github.com is called a `git clone`; subsequent
updates are done through `git pull`.
You can clone the repository via HTTPS or SSH. In either case, you
need to ensure that the appropriate port (443 for HTTPS, 22 for SSH)
is open in the outbound direction for your server.
```bash
cd /opt
git clone https://github.com/librenms/librenms.git librenms
cd /opt/librenms
```
The recommended method of cloning a git repository is HTTPS. If you
would like to clone via SSH instead, use the command `git clone
git@github.com:librenms/librenms.git librenms` instead.
Sometimes the initial clone can take quite a while (nearly 3 minutes
on a 10 Mbps fibre connection in Australia is a recent example). If
it's a big problem to you, you can save about 50% of the bandwidth by
not pulling down the full git history. This comes with some
limitations (namely that you can't use it as the basis for further git
repos), but if you're not planning to develop for LibreNMS it's an
acceptable option. To perform the initial clone without full history,
run the following instead:
```bash
cd /opt
git clone --depth 1 https://github.com/librenms/librenms.git librenms
cd /opt/librenms
```
# Web Interface
To prepare the web interface (and adding devices shortly), you'll need
to create and chown a directory as well as create an Apache vhost.
First, create and chown the `rrd` directory and create the `logs` directory:
```bash
mkdir rrd logs
chown -R librenms:librenms /opt/librenms
chmod 775 rrd
```
> NOTE: If you're not running Ubuntu or Debian, you will need to
> change `www-data` to the user and group which run the Apache web
> server.
> If you're planing on running rrdcached, make sure that the path is
> also chmod'ed to 775 and chown'ed to librenms:librenms.
Next, add the following to `/etc/apache2/sites-available/librenms.conf`:
```apache
<VirtualHost *:80>
DocumentRoot /opt/librenms/html/
ServerName librenms.example.com
CustomLog /opt/librenms/logs/access_log combined
ErrorLog /opt/librenms/logs/error_log
AllowEncodedSlashes On
<Directory "/opt/librenms/html/">
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
</VirtualHost>
```
If you are running Apache 2.2.18 or higher then change
`AllowEncodedSlashes On` to `AllowEncodedSlashes NoDecode`
If you have Apache 2.3 or newer then please add the following line
before `AllowOverride All`:
```apache
Require all granted
```
On at least Ubuntu 14.04 (and possibly other distributions and
versions as well), mcrypt is not enabled on install. Run the
following to enable it:
```bash
php5enmod mcrypt
```
Change `librenms.example.com` to the appropriate hostname for your
domain, then enable the vhost and restart Apache:
```bash
a2ensite librenms.conf
a2enmod rewrite
service apache2 restart
```
If this is the only site you are hosting on this server (it should be
:)) then you will need to disable the default site setup in Ubuntu:
```bash
a2dissite 000-default
```
(To get to your LibreNMS install externally, you'll also need add it
to your DNS or hosts file.)
# Manual vs. web installer
At this stage you can either launch the web installer by going to
<http://librenms.example.com/install.php>, follow the onscreen
instructions then skip to the 'Add localhost' section. Alternatively
if you want to continue the setup manually then just keep following
these instructions.
```bash
cp config.php.default config.php
vim config.php
```
Change the values to the right of the equal sign for lines beginning
with `$config[db_]` to match your database information as setup above.
Change the value of `$config['snmp']['community']` from `public` to
whatever your read-only SNMP community is. If you have multiple
communities, set it to the most common.
** Be sure you have no characters (including whitespace like:
newlines, spaces, tabs, etc) outside of the `<?php?>` blocks. Your
graphs will break otherwise. **
# Initialise the database
Initiate the follow database with the following command:
```bash
php build-base.php
```
# Create admin user
Create the admin user - priv should be 10
```bash
php adduser.php <name> <pass> 10 <email>
```
Substitute your desired username, password and email address--and
leave the angled brackets off.
# Validate your install
Run validate.php as root in the librenms directory
```bash
php validate.php
```
This will check your install to verify it is set up correctly.
# Add localhost
```bash
php addhost.php localhost public v2c
```
This assumes you haven't made community changes--if you have, replace
`public` with your community. It also assumes SNMP v2c. If you're
using v3, there are additional steps (NOTE: instructions for SNMPv3 to
come).
Discover localhost::
```bash
php discovery.php -h all
```
# Create cronjob
LibreNMS uses Job Snijders' [poller-wrapper.py][1]. By default, the
cron job runs `poller-wrapper.py` with 16 threads. The current
recommendation is to use 4 threads per core as a rule of thumb. If
the thread count needs to be changed, you can do so by editing the
cron file (`/etc/cron.d/librenms`). Just add a number after
`poller-wrapper.py`, as in the example below:
```bash
/opt/librenms/poller-wrapper.py 12 >> /dev/null 2>&1
```
Create the cronjob
```bash
cp 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:
```bash
cp misc/librenms.logrotate /etc/logrotate.d/librenms
```
# Daily Updates
LibreNMS performs daily updates by default. At 00:15 system time
every day, a `git pull --no-edit --quiet` is performed. You can
override this default by editing your `config.php` file. Remove the
comment (the `#` mark) on the line:
```php
#$config['update'] = 0;
```
so that it looks like this:
```php
$config['update'] = 0;
```
Install complete
Please allow for 2-3 runs of the poller-wrapper for data to start
appearing in the WebUI. If you don't see data after this, please refer
to the [FAQ](http://docs.librenms.org/Support/FAQ/) for assistance.
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.
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.
[1]: https://github.com/Atrato/observium-poller-wrapper
[2]: http://git-scm.com/book
[3]: http://gitready.com/

View File

@ -1,329 +0,0 @@
source: Installation/Installation-Ubuntu-1404-Lighttpd.md
path: blob/master/doc/
> 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 5.6.4**
# On the DB Server
This host is where the MySQL database runs. It could be the same
machine as your network management server (this is the most common
initial deployment scenario).
> ** Whilst we are working on ensuring LibreNMS is compatible with
> MySQL strict mode, for now, please disable this after mysql is
> installed.
You are free to choose between using MySQL or MariaDB:
## MySQL
```bash
apt-get install mysql-server mysql-client
mysql -uroot -p
```
## MariaDN
```bash
apt-get install mariadb-server mariadb-client
mysql -uroot -p
```
## General
Enter the MySQL root password to enter the MySQL command-line interface.
Create database.
```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
```
Replace `<ip>` above with the IP of the server running LibreNMS. If
your database is on the same server as LibreNMS, you can just use
`localhost` as the IP address.
If you are deploying a separate database server, you need to change
the `bind-address`. If your MySQL database resides on the same server
as LibreNMS, you should skip this step.
```
vim /etc/mysql/my.cnf
```
Within the [mysqld] section please add:
```
innodb_file_per_table=1
```
Find the line: `bind-address = 127.0.0.1`
Change `127.0.0.1` to the IP address that your MySQL server should
listen on. Restart MySQL:
If you see a line that starts `sql-mode` then change this to `sql-mode=""`.
```
service mysql restart
```
# On the NMS
Install necessary software. The packages listed below are an
all-inclusive list of packages that were necessary on a clean install
of Debian 7.
```
apt-get install lighttpd php5-cli php5-mysql php5-gd php5-snmp php5-cgi php-pear php5-curl snmp graphviz rrdtool sendmail fping imagemagick whois mtr-tiny nmap ipmitool php5-mcrypt php5-json python-mysqldb snmpd php-net-ipv4 php-net-ipv6 rrdtool git
```
# Adding the librenms-user
```
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
```
# Cloning
You can clone the repository via HTTPS or SSH. In either case, you
need to ensure the appropriate port (443 for HTTPS, 22 for SSH) is
open in the outbound direction for your server.
```
cd /opt
git clone https://github.com/librenms/librenms.git librenms
cd /opt/librenms
```
At this stage you can either launch the web installer by going to
<http://IP/install.php>, follow the onscreen instructions then skip to
the 'Web Interface' section further down. Alternatively if you want to
continue the setup manually then just keep following these
instructions.
```
cp config.php.default config.php
vim config.php
```
> NOTE: The recommended method of cloning a git repository is HTTPS.
> If you would like to clone via SSH instead, use the command `git
> clone git@github.com:librenms/librenms.git librenms` instead.
Change the values to the right of the equal sign for lines beginning
with `$config[db_]` to match your database information as setup above.
Change the value of `$config['snmp']['community']` from `public` to
whatever your read-only SNMP community is. If you have multiple
communities, set it to the most common.
** Be sure you have no characters (including whitespace like:
newlines, spaces, tabs, etc) outside of the `<?php?>` blocks. Your
graphs will break otherwise. **
# Initialise the database
Initiate the follow database with the following command:
```
php build-base.php
```
# Create admin user
Create the admin user - priv should be 10
```
php adduser.php <name> <pass> 10 <email>
```
Substitute your desired username, password and email address--and
leave the angled brackets off.
# Web Interface
To prepare the web interface (and adding devices shortly), you'll need
to set up Lighttpd.
First, create and chown the `rrd` directory and create the `logs` directory
```
mkdir rrd logs
chown -R librenms:librenms /opt/librenms
chmod 775 rrd
```
> NOTE: If you're planing on running rrdcached, make sure that the
> path is also chmod'ed to 775 and chown'ed to librenms:librenms.
Next, add the following to `/etc/lighttpd/librenms.conf`
```
server.document-root = "/opt/librenms/html"
url.rewrite-once = (
"^/(.*)\.(gif|jpg|jpeg|tiff|svg|png|css|php)$" => "/$0",
"^/([a-z|0-9\-]+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/" => "/?page=$1&$2&$3&$4&$5&$6&$7&$8&$9&$10",
"^/([a-z|0-9\-]+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/" => "/?page=$1&$2&$3&$4&$5&$6&$7&$8&$9",
"^/([a-z|0-9\-]+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/" => "/?page=$1&$2&$3&$4&$5&$6&$7&$8",
"^/([a-z|0-9\-]+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/" => "/?page=$1&$2&$3&$4&$5&$6&$7",
"^/([a-z|0-9\-]+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/" => "/?page=$1&$2&$3&$4&$5&$6",
"^/([a-z|0-9\-]+)/(.+)/(.+)/(.+)/(.+)/" => "/?page=$1&$2&$3&$4&$5",
"^/([a-z|0-9\-]+)/(.+)/(.+)/(.+)/" => "/?page=$1&$2&$3&$4",
"^/([a-z|0-9\-]+)/(.+)/(.+)/" => "/?page=$1&$2&$3",
"^/([a-z|0-9\-]+)/(.+)/" => "/?page=$1&$2",
"^/([a-z|0-9\-]+)/$" => "/?page=$1"
)
```
Next, add the following to `/etc/lighttpd/lighttpd.conf`
```
$HTTP["host"] == "example.com" { include "librenms.conf" }
```
And enable mod_rewrite by uncommenting
```
# "mod_rewrite",
```
to
```
"mod_rewrite",
```
Don't forget to change 'example.com' to your domain
Enable fastcgi in Lighttpd by running the following commands,
```
lighty-enable-mod fastcgi
lighty-enable-mod fastcgi-php
```
And add the following to /etc/php5/cgi/php.ini
```
cgi.fix_pathinfo = 1
```
then restart Lighttpd:
```
service lighttpd restart
```
# Validate your install
Run validate.php as root in the librenms directory
```
php validate.php
```
This will check your install to verify it is set up correctly.
# Add localhost
```
php addhost.php localhost public v2c
```
This assumes you haven't made community changes--if you have, replace
`public` with your community. It also assumes SNMP v2c. If you're
using v3, there are additional steps (NOTE: instructions for SNMPv3 to
come).
Discover localhost:
```
php discovery.php -h all
```
# Create cronjob
The polling method used by LibreNMS is `poller-wrapper.py`, which was
placed in the public domain by its author. By default, the LibreNMS
cronjob runs `poller-wrapper.py` with 16 threads. The current
LibreNMS recommendation is to use 4 threads per core. The default if
no thread count is `16 threads`.
If the thread count needs to be changed, you can do so by editing the
cron file (`/etc/cron.d/librenms`). Just add a number after
`poller-wrapper.py`, as in the below example:
```
/opt/librenms/poller-wrapper.py 12 >> /dev/null 2>&1
```
Create the cronjob
```
cp 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 misc/librenms.logrotate /etc/logrotate.d/librenms
```
# Daily Updates
LibreNMS performs daily updates by default. At 00:15 system time
every day, a `git pull --no-edit --quiet` is performed. You can
override this default by editing your `config.php` file. Remove the
comment (the `#` mark) on the line:
```
#$config['update'] = 0;
```
so that it looks like this:
```
$config['update'] = 0;
```
# Install complete
Please allow for 2-3 runs of the poller-wrapper for data to start
appearing in the WebUI. If you don't see data after this, please refer
to the [FAQ](http://docs.librenms.org/Support/FAQ/) for assistance.
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.
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.

View File

@ -1,372 +0,0 @@
source: Installation/Installation-Ubuntu-1404-Nginx.md
path: blob/master/doc/
> 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 5.6.4**
# On the DB Server
This host is where the MySQL database runs. It could be the same
machine as your network management server (this is the most common
initial deployment scenario).
> ** Whilst we are working on ensuring LibreNMS is compatible with
> MySQL strict mode, for now, please disable this after mysql is
> installed.
You are free to choose between using MySQL or MariaDB:
## MySQL
```bash
apt-get install mysql-server mysql-client
mysql -uroot -p
```
## MariaDB
```bash
apt-get install mariadb-server mariadb-client
mysql -uroot -p
```
Input the MySQL root password to enter the MySQL command-line interface.
Create the database:
```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
```
Replace `<ip>` above with the IP or DNS name of the server running
LibreNMS. If your database is on the same server as LibreNMS, you can
use `localhost`.
If you are deploying a separate database server, you need to change
the `bind-address`. If your MySQL database resides on the same server
as LibreNMS, you should skip this step.
```bash
vim /etc/mysql/my.cnf
```
Within the [mysqld] section please add:
```mysql
innodb_file_per_table=1
```
Find the line: `bind-address = 127.0.0.1`
Change `127.0.0.1` to the IP address that your MySQL server should
listen on. Restart MySQL:
If you see a line that starts `sql-mode` then change this to `sql-mode=""`.
```bash
service mysql restart
```
# On the NMS
This host is where the web server and SNMP poller run. It could be
the same machine as your database server.
Install the required software:
```bash
apt-get install nginx-full php5-fpm php5-cli php5-mysql php5-gd php5-snmp php-pear php5-curl php5-mcrypt php5-json php-net-ipv4 php-net-ipv6 snmp snmpd graphviz fping imagemagick whois mtr-tiny nmap python-mysqldb rrdtool git
```
The packages listed above are an all-inclusive list of packages that
were necessary on a clean install of Ubuntu 12.04/14.04.
You need to configure snmpd appropriately if you have not already done
so. An absolute minimal config for snmpd is:
```snmp
rocommunity public 127.0.0.1
```
Adding the above line to `/etc/snmp/snmpd.conf` and running `service
snmpd restart` will activate this config.
In `/etc/php5/fpm/php.ini` and `/etc/php5/cli/php.ini`, ensure
date.timezone is set to your preferred time zone. See
<http://php.net/manual/en/timezones.php> for a list of supported
timezones. Valid examples are: "America/New York", "Australia/Brisbane", "Etc/UTC".
Please also ensure that `allow_url_fopen` is enabled. Other functions
needed for LibreNMS include
`exec,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,popen`.
# Adding the librenms-user
```bash
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
```
# Cloning
LibreNMS is installed using git. If you're not familiar with git,
check out the [git book][2] or the tips at [git ready][3]. The
initial install from github.com is called a `git clone`; subsequent
updates are done through `git pull`.
You can clone the repository via HTTPS or SSH. In either case, you
need to ensure that the appropriate port (443 for HTTPS, 22 for SSH)
is open in the outbound direction for your server.
```bash
cd /opt
git clone https://github.com/librenms/librenms.git librenms
cd /opt/librenms
```
The recommended method of cloning a git repository is HTTPS. If you
would like to clone via SSH instead, use the command `git clone
git@github.com:librenms/librenms.git librenms` instead.
Sometimes the initial clone can take quite a while (nearly 3 minutes
on a 10 Mbps fibre connection in Australia is a recent example). If
it's a big problem to you, you can save about 50% of the bandwidth by
not pulling down the full git history. This comes with some
limitations (namely that you can't use it as the basis for further git
repos), but if you're not planning to develop for LibreNMS it's an
acceptable option. To perform the initial clone without full history,
run the following instead:
```bash
cd /opt
git clone --depth 1 https://github.com/librenms/librenms.git librenms
cd /opt/librenms
```
# Web Interface
To prepare the web interface (and adding devices shortly), you'll need
to create and chown a directory as well as create a Nginx vhost.
First, create and chown the `rrd` directory and create the `logs` directory:
```bash
mkdir rrd logs
chown -R librenms:librenms /opt/librenms
chmod 775 rrd
```
> NOTE: If you're not running Ubuntu or Debian, you will need to
> change `www-data` to the user and group which run the Nginx web
> server. If you're planing on running rrdcached, make sure that the path is
> also chmod'ed to 775 and chown'ed to librenms:librenms.
Add configuration for `nginx` at `/etc/nginx/conf.d/librenms.conf`
with the following content:
```nginx
server {
listen 80;
server_name librenms.example.com;
root /opt/librenms/html;
index index.php;
access_log /opt/librenms/logs/access_log;
error_log /opt/librenms/logs/error_log;
gzip on;
gzip_types text/css application/x-javascript text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
location / {
try_files $uri $uri/ @librenms;
}
location ~ \.php {
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
location ~ /\.ht {
deny all;
}
location @librenms {
rewrite api/v0(.*)$ /api_v0.php/$1 last;
rewrite ^(.+)$ /index.php/$1 last;
}
}
```
On at least Ubuntu 14.04 (and possibly other distributions and
versions as well), mcrypt is not enabled on install. Run the
following to enable it:
```bash
php5enmod mcrypt
```
(To get to your LibreNMS install externally, you'll also need add it
to your DNS or hosts file.)
# Start the web-server
Restart nginx:
```bashg
service nginx restart
```
Restart php5-fpm:
```bash
service php5-fpm restart
```
# Manual vs. web installer
At this stage you can either launch the web installer by going to
<http://librenms.example.com/install.php>, follow the onscreen
instructions then skip to the 'Add localhost' section. Alternatively
if you want to continue the setup manually then just keep following
these instructions.
```bash
cp config.php.default config.php
vim config.php
```
Change the values to the right of the equal sign for lines beginning
with `$config[db_]` to match your database information as setup above.
Change the value of `$config['snmp']['community']` from `public` to
whatever your read-only SNMP community is. If you have multiple
communities, set it to the most common.
** Be sure you have no characters (including whitespace like:
newlines, spaces, tabs, etc) outside of the `<?php?>` blocks. Your
graphs will break otherwise. **
# Initialise the database
Initiate the follow database with the following command:
```bash
php build-base.php
```
# Create admin user
Create the admin user - priv should be 10
```bash
php adduser.php <name> <pass> 10 <email>
```
Substitute your desired username, password and email address--and
leave the angled brackets off.
# Validate your install
Run validate.php as root in the librenms directory
```bash
php validate.php
```
This will check your install to verify it is set up correctly.
# Add localhost
```bash
php addhost.php localhost public v2c
```
This assumes you haven't made community changes--if you have, replace
`public` with your community. It also assumes SNMP v2c. If you're
using v3, there are additional steps (NOTE: instructions for SNMPv3 to
come).
Discover localhost::
```bash
php discovery.php -h all
```
# Create cronjob
LibreNMS uses Job Snijders' [poller-wrapper.py][1]. By default, the
cron job runs `poller-wrapper.py` with 16 threads. The current
recommendation is to use 4 threads per core as a rule of thumb. If
the thread count needs to be changed, you can do so by editing the
cron file (`/etc/cron.d/librenms`). Just add a number after
`poller-wrapper.py`, as in the example below:
```bash
/opt/librenms/poller-wrapper.py 12 >> /dev/null 2>&1
```
Create the cronjob
```bash
cp 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:
```bash
cp misc/librenms.logrotate /etc/logrotate.d/librenms
```
# Daily Updates
LibreNMS performs daily updates by default. At 00:15 system time
every day, a `git pull --no-edit --quiet` is performed. You can
override this default by editing your `config.php` file. Remove the
comment (the `#` mark) on the line:
```php
#$config['update'] = 0;
```
so that it looks like this:
```php
$config['update'] = 0;
```
# Install complete
Please allow for 2-3 runs of the poller-wrapper for data to start
appearing in the WebUI. If you don't see data after this, please refer to the
[FAQ](http://docs.librenms.org/Support/FAQ/) for assistance.
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.
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.
[1]: https://github.com/Atrato/observium-poller-wrapper
[2]: http://git-scm.com/book
[3]: http://gitready.com/

View File

@ -5,33 +5,38 @@ path: blob/master/doc/
## Docker ## Docker
An official LibreNMS docker image based on Alpine Linux and Nginx is available on [DockerHub](https://hub.docker.com/r/librenms/librenms/). Documentation can be found on the [Github repository](https://github.com/librenms/docker). An official LibreNMS docker image based on Alpine Linux and Nginx is available
on [DockerHub](https://hub.docker.com/r/librenms/librenms/). Documentation can
## Images be found on the [Github repository](https://github.com/librenms/docker).
We have some pre-built VirtualBox images you can use to get started:
- [Virtual Machines](http://docs.librenms.org/Installation/Images/)
## Manually ## Manually
If you want to install manually then we have some documentation which should make it easy. If you want to install manually then we have some documentation which should make it easy.
**Please note the minimum supported PHP version is 7.2.5** This document includes instructions for:
- Ubuntu 20.04
- RHEL / CentOS 8
- Debian 10
** [Install LibreNMS](Install-LibreNMS.md) **
## Images
We have some pre-built VirtualBox images you can use to get started:
- [Virtual Machines](Images)
- [Ubuntu 18.04 Apache](http://docs.librenms.org/Installation/Installation-Ubuntu-1804-Apache/)
- [Ubuntu 18.04 Nginx](http://docs.librenms.org/Installation/Installation-Ubuntu-1804-Nginx/)
- [Debian 10 Nginx](http://docs.librenms.org/Installation/Installation-Debian-10-Nginx/)
- [RHEL / CentOS 7 Apache](http://docs.librenms.org/Installation/Installation-CentOS-7-Apache/)
- [RHEL / CentOS 7 Nginx](http://docs.librenms.org/Installation/Installation-CentOS-7-Nginx/)
### Old Install Docs ### Old Install Docs
These install docs are no longer updated and may result in an unsuccessful install. These install docs are no longer updated and may result in an unsuccessful install.
- [Ubuntu 16.04 Apache](http://docs.librenms.org/Installation/Installation-Ubuntu-1604-Apache/) - [Ubuntu 18.04 Apache](Installation-Ubuntu-1804-Apache/)
- [Ubuntu 16.04 Nginx](http://docs.librenms.org/Installation/Installation-Ubuntu-1604-Nginx/) - [Ubuntu 18.04 Nginx](Installation-Ubuntu-1804-Nginx/)
- [Debian/Ubuntu](http://docs.librenms.org/Installation/Installation-Ubuntu-1404-Apache/) - [Debian 10 Nginx](Installation-Debian-10-Nginx/)
- [RHEL/CentOS](http://docs.librenms.org/Installation/Installation-CentOS-6-Apache-Nginx/) - [RHEL / CentOS 7 Apache](Installation-CentOS-7-Apache/)
- [Debian/Ubuntu Lighttpd](http://docs.librenms.org/Installation/Installation-Ubuntu-1404-Lighttpd/) - [RHEL / CentOS 7 Nginx](Installation-CentOS-7-Nginx/)
- [Debian/Ubuntu Nginx](http://docs.librenms.org/Installation/Installation-Ubuntu-1404-Nginx/) - [Ubuntu 16.04 Apache](Installation-Ubuntu-1604-Apache/)
- [Ubuntu 16.04 Nginx](Installation-Ubuntu-1604-Nginx/)
- [RHEL / CentOS 6](Installation-CentOS-6-Apache-Nginx/)

View File

@ -7,9 +7,9 @@ path: blob/master/doc/
<span> Installing</span> <span> Installing</span>
</a> </a>
</div> </div>
<a href="/Installation/">Installing LibreNMS</a><br /> <a href="/Installation/">Ways to install</a><br />
<a href="/Installation/Installation-Ubuntu-1804-Nginx/">Ubuntu 18.04 + Nginx</a><br /> <a href="/Installation/Install-LibreNMS/">Install LibreNMS Now</a><br />
<a href="/Installation/Installation-CentOS-7-Nginx/">CentOS 7 + Nginx</a><br /> <a href="https://github.com/librenms/docker">Install Using Docker</a><br />
<a href="/Installation/Installing-LibreNMS/"><strong>More...</strong></a> <a href="/Installation/Installing-LibreNMS/"><strong>More...</strong></a>
</div> </div>
<div class="home-box"> <div class="home-box">

View File

@ -14,6 +14,8 @@ site_url: http://docs.librenms.org
markdown_extensions: markdown_extensions:
- pymdownx.tasklist - pymdownx.tasklist
- pymdownx.tilde - pymdownx.tilde
- pymdownx.superfences
- pymdownx.tabbed
extra_css: extra_css:
- https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css - https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css
- librenms.css - librenms.css
@ -35,13 +37,9 @@ nav:
- Features: Support/Features.md - Features: Support/Features.md
- Welcome to Observium users: General/Welcome-to-Observium-users.md - Welcome to Observium users: General/Welcome-to-Observium-users.md
- 2. Installing: - 2. Installing:
- Installing LibreNMS: Installation/index.md - How to install LibreNMS: Installation/index.md
- Install LibreNMS: Installation/Install-LibreNMS.md
- LibreNMS VMs: Installation/Images.md - LibreNMS VMs: Installation/Images.md
- Ubuntu 18.04 (Nginx): Installation/Installation-Ubuntu-1804-Nginx.md
- Ubuntu 18.04 (Apache): Installation/Installation-Ubuntu-1804-Apache.md
- Debian 10 (Nginx): Installation/Installation-Debian-10-Nginx.md
- CentOS 7 (Nginx): Installation/Installation-CentOS-7-Nginx.md
- CentOS 7 (Apache): Installation/Installation-CentOS-7-Apache.md
- Migrating from Observium: Installation/Migrating-from-Observium.md - Migrating from Observium: Installation/Migrating-from-Observium.md
- 3. Getting started: - 3. Getting started:
- Choosing a release: General/Releases.md - Choosing a release: General/Releases.md

View File

@ -9,21 +9,19 @@ fi
pip3 install --upgrade pip pip3 install --upgrade pip
pip3 install --user --requirement <(cat <<EOF pip3 install --user --requirement <(cat <<EOF
Click==7.0
future==0.18.2 future==0.18.2
Jinja2==2.11.1 Jinja2==2.11.2
livereload==2.6.1 livereload==2.6.1
lunr==0.5.6 lunr==0.5.8
Markdown==3.2.1 Markdown==3.2.2
mkdocs==1.1.2
mkdocs-material==5.2.2
nltk==3.5
pymdown-extensions==7.1
PyYAML==5.3.1
six==1.15.0
tornado==6.0.4
MarkupSafe==1.1.1 MarkupSafe==1.1.1
mkdocs==1.1
mkdocs-material==4.6.3
nltk==3.4.5
Pygments==2.5.2
pymdown-extensions==6.3
PyYAML==5.3
six==1.14.0
tornado==6.0.3
EOF EOF
) )

View File

@ -57,6 +57,11 @@ class DocsTest extends TestCase
'Installation/Installation-Ubuntu-1404-Nginx.md', 'Installation/Installation-Ubuntu-1404-Nginx.md',
'Installation/Installation-Ubuntu-1604-Apache.md', 'Installation/Installation-Ubuntu-1604-Apache.md',
'Installation/Installation-Ubuntu-1604-Nginx.md', 'Installation/Installation-Ubuntu-1604-Nginx.md',
'Installation/Installation-Ubuntu-1804-Nginx.md',
'Installation/Installation-Ubuntu-1804-Apache.md',
'Installation/Installation-Debian-10-Nginx.md',
'Installation/Installation-CentOS-7-Nginx.md',
'Installation/Installation-CentOS-7-Apache.md',
'Installation/Installing-LibreNMS.md', 'Installation/Installing-LibreNMS.md',
'Support/Support-New-OS.md', 'Support/Support-New-OS.md',
'Installation/Ubuntu-image.md', 'Installation/Ubuntu-image.md',