mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Redirect old install docs (#15505)
* Remove old install docs redirect them to the current docs * Add redirect for Debian 11 that apparently still exists? * Clean up old links
This commit is contained in:
@@ -322,7 +322,7 @@ service rrdcached start
|
|||||||
Check to see if the graphs are being drawn in LibreNMS. This might take a few minutes.
|
Check to see if the graphs are being drawn in LibreNMS. This might take a few minutes.
|
||||||
After at least one poll cycle (5 mins), check the LibreNMS disk I/O performance delta.
|
After at least one poll cycle (5 mins), check the LibreNMS disk I/O performance delta.
|
||||||
Disk I/O can be found under the menu Devices>All Devices>[localhost
|
Disk I/O can be found under the menu Devices>All Devices>[localhost
|
||||||
hostname](../Installation/Installation-CentOS-7-Apache.md)>Health>Disk I/O.
|
hostname]>Health>Disk I/O.
|
||||||
|
|
||||||
Depending on many factors, you should see the Ops/sec drop by ~30-40%.
|
Depending on many factors, you should see the Ops/sec drop by ~30-40%.
|
||||||
|
|
||||||
|
@@ -304,7 +304,7 @@ You should be able to load the Smokeping web interface at `http://yourlibrenms/s
|
|||||||
### Nginx Configuration - Ubuntu, Debian and alike
|
### Nginx Configuration - Ubuntu, Debian and alike
|
||||||
|
|
||||||
This section assumes you have configured LibreNMS with Nginx as
|
This section assumes you have configured LibreNMS with Nginx as
|
||||||
specified in [Configure Nginx](../Installation/Installation-Ubuntu-1804-Nginx.md).
|
specified in [Configure Nginx](../Installation/Install-LibreNMS.md#configure-web-server).
|
||||||
|
|
||||||
Note, you need to install fcgiwrap for CGI wrapper interact with Nginx
|
Note, you need to install fcgiwrap for CGI wrapper interact with Nginx
|
||||||
|
|
||||||
|
@@ -19,7 +19,7 @@ Simplified block diagram of an Apache HTTP server with Varnish 4.0 Reverse Proxy
|
|||||||
|
|
||||||
In this example we will assume your Apache 2.4.X HTTP server is working and
|
In this example we will assume your Apache 2.4.X HTTP server is working and
|
||||||
configured to process HTTP requests on port 80. If not, please see
|
configured to process HTTP requests on port 80. If not, please see
|
||||||
[Installing LibreNMS](../Installation/Installation-CentOS-7-Apache.md)
|
[Installing LibreNMS](../Installation/Install-LibreNMS.md)
|
||||||
|
|
||||||
## Install Varnish 4.0 RPM
|
## Install Varnish 4.0 RPM
|
||||||
|
|
||||||
|
@@ -1,477 +0,0 @@
|
|||||||
> 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`.
|
|
||||||
|
|
||||||
!!! warning
|
|
||||||
|
|
||||||
Please note the minimum supported PHP version is @= php.version_min =@.
|
|
||||||
The guide below might not have been updated to reflect it!
|
|
||||||
|
|
||||||
# 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
|
|
||||||
yum install net-snmp mysql-server mysql-client
|
|
||||||
chkconfig mysqld on
|
|
||||||
service mysqld start
|
|
||||||
```
|
|
||||||
|
|
||||||
## MariaDB
|
|
||||||
|
|
||||||
```bash
|
|
||||||
yum install net-snmp mariadb-server mariadb-client
|
|
||||||
chkconfig mariadb on
|
|
||||||
service mariadb start
|
|
||||||
```
|
|
||||||
|
|
||||||
## General
|
|
||||||
|
|
||||||
Now continue with the installation:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
chkconfig snmpd on
|
|
||||||
service snmpd start
|
|
||||||
mysql_secure_installation
|
|
||||||
mysql -uroot -p
|
|
||||||
```
|
|
||||||
|
|
||||||
Enter the MySQL/MariaDB root password to enter the command-line interface.
|
|
||||||
|
|
||||||
Create database.
|
|
||||||
|
|
||||||
```sql
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
Replace `<ip>` above with the IP of the server running LibreNMS. If
|
|
||||||
your database is on the same server as LibreNMS, use `localhost` as
|
|
||||||
the IP address.
|
|
||||||
|
|
||||||
Edit the mysql/mariadb configuration file:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
vim /etc/my.cnf
|
|
||||||
```
|
|
||||||
|
|
||||||
Add the following line:
|
|
||||||
|
|
||||||
```
|
|
||||||
innodb_file_per_table=1
|
|
||||||
```
|
|
||||||
|
|
||||||
If you are deploying a separate database server, you also need to
|
|
||||||
specify the `bind-address`. If your MySQL database resides on the
|
|
||||||
same server as LibreNMS, you should skip this step.
|
|
||||||
|
|
||||||
```
|
|
||||||
bind-address = <ip>
|
|
||||||
```
|
|
||||||
|
|
||||||
If you see a line that starts `sql-mode` then change this to
|
|
||||||
`sql-mode=""`.
|
|
||||||
|
|
||||||
Save, and restart MySQL/MariaDB to apply your changes:
|
|
||||||
|
|
||||||
```
|
|
||||||
service mysqld restart
|
|
||||||
```
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
```
|
|
||||||
service mariadb 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 CentOS 6.x. It also requires the EPEL repository. Net_IPv6 is
|
|
||||||
required even if your network environment does not support IPv6.
|
|
||||||
|
|
||||||
Note if not using HTTPd (Apache): RHEL requires `httpd` to be
|
|
||||||
installed regardless of of `nginx`'s (or any other web-server's)
|
|
||||||
presence.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
yum install epel-release
|
|
||||||
yum install php php-cli php-gd php-mysql php-snmp php-pear php-curl httpd net-snmp graphviz graphviz-php mysql ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils vixie-cron php-mcrypt fping git
|
|
||||||
pear install Net_IPv4-1.3.4
|
|
||||||
pear install Net_IPv6-1.2.2b2
|
|
||||||
```
|
|
||||||
|
|
||||||
# Configure SNMPD on localhost
|
|
||||||
|
|
||||||
Edit `/etc/snmp/snmpd.conf` to enable self-polling. An absolute
|
|
||||||
minimal config for snmpd is:
|
|
||||||
|
|
||||||
```
|
|
||||||
rocommunity public 127.0.0.1
|
|
||||||
```
|
|
||||||
|
|
||||||
You may either edit the default configuration file to your liking, or
|
|
||||||
backup the default config file and replace it entirely with your
|
|
||||||
own. To apply your changes, run `service snmpd restart` for Centos
|
|
||||||
6.x. If you have deployed a separate database server, you will likely
|
|
||||||
want to configure snmpd on that host as well.
|
|
||||||
|
|
||||||
# Adding the librenms-user for Apache
|
|
||||||
|
|
||||||
```bash
|
|
||||||
useradd librenms -d /opt/librenms -M -r
|
|
||||||
usermod -a -G librenms apache
|
|
||||||
```
|
|
||||||
|
|
||||||
# Adding the librenms-user for Nginx
|
|
||||||
|
|
||||||
```bash
|
|
||||||
useradd librenms -d /opt/librenms -M -r
|
|
||||||
usermod -a -G librenms nginx
|
|
||||||
```
|
|
||||||
|
|
||||||
# Using HTTPd (Apache2)
|
|
||||||
|
|
||||||
Set `httpd` to start on system boot.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
chkconfig --levels 235 httpd on
|
|
||||||
```
|
|
||||||
|
|
||||||
In `/etc/php.ini`, ensure `date.timezone` is set to your preferred
|
|
||||||
time zone. See <https://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`.
|
|
||||||
|
|
||||||
Next, add the following to `/etc/httpd/conf.d/librenms.conf`
|
|
||||||
|
|
||||||
If you are running Apache below version 2.2.18:
|
|
||||||
|
|
||||||
```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:
|
|
||||||
|
|
||||||
```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 NoDecode
|
|
||||||
<Directory "/opt/librenms/html/">
|
|
||||||
AllowOverride All
|
|
||||||
Options FollowSymLinks MultiViews
|
|
||||||
Require all granted
|
|
||||||
</Directory>
|
|
||||||
</VirtualHost>
|
|
||||||
```
|
|
||||||
|
|
||||||
If the file `/etc/httpd/conf.d/welcome.conf` exists, you will want to
|
|
||||||
remove that as well unless you're familiar with [Name-based Virtual
|
|
||||||
Hosts](https://httpd.apache.org/docs/2.2/vhosts/name-based.html).
|
|
||||||
|
|
||||||
```bash
|
|
||||||
rn /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.bak
|
|
||||||
```
|
|
||||||
|
|
||||||
# Using Nginx and PHP-FPM
|
|
||||||
|
|
||||||
If you choose to run Nginx, you will need to install necessary extra
|
|
||||||
software and let it start on system boot.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
yum install nginx php-fpm
|
|
||||||
chkconfig nginx on
|
|
||||||
chkconfig php-fpm on
|
|
||||||
```
|
|
||||||
|
|
||||||
Modify permissions and configuration for `php-fpm` to use nginx credentials.
|
|
||||||
|
|
||||||
```
|
|
||||||
mkdir /var/lib/php/session
|
|
||||||
chown root:nginx /var/lib/php -R
|
|
||||||
vim /etc/php-fpm.d/www.conf # At line #12: Change `listen` to `/var/run/php5-fpm.sock`
|
|
||||||
# At line #39-41: Change the `user` and `group` to `nginx`
|
|
||||||
```
|
|
||||||
|
|
||||||
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;
|
|
||||||
location / {
|
|
||||||
try_files $uri $uri/ @librenms;
|
|
||||||
}
|
|
||||||
location ~ \.php {
|
|
||||||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
|
||||||
include fastcgi.conf;
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
# 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.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd /opt
|
|
||||||
git clone https://github.com/librenms/librenms.git librenms
|
|
||||||
cd /opt/librenms
|
|
||||||
```
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
# Prepare the Web Interface
|
|
||||||
|
|
||||||
To prepare the web interface, 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
|
|
||||||
```
|
|
||||||
|
|
||||||
If you're planning on running rrdcached, make sure that the path is
|
|
||||||
also chmod'ed to 775 and chown'ed to librenms:librenms.
|
|
||||||
|
|
||||||
**SELinux**
|
|
||||||
> if you're using SELinux you need to allow web server user to write into logs directory.
|
|
||||||
> semanage tool is a part of policycoreutils-python, so if don't have
|
|
||||||
it, you can install it **Please note that running LibreNMS with
|
|
||||||
SELinux is still experimental and we cannot guarantee that everything
|
|
||||||
will be working fine for now.**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
yum install policycoreutils-python
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/logs(/.*)?'
|
|
||||||
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/logs(/.*)?'
|
|
||||||
restorecon -RFvv /opt/librenms/logs/
|
|
||||||
```
|
|
||||||
|
|
||||||
Set selinux to allow httpd to sendmail
|
|
||||||
|
|
||||||
```bash
|
|
||||||
setsebool -P httpd_can_sendmail=1
|
|
||||||
```
|
|
||||||
|
|
||||||
# Start the web-server
|
|
||||||
|
|
||||||
```
|
|
||||||
# For HTTPd (Apache):
|
|
||||||
service httpd restart
|
|
||||||
|
|
||||||
# For Nginx:
|
|
||||||
service nginx restart
|
|
||||||
```
|
|
||||||
|
|
||||||
# Web Installer
|
|
||||||
|
|
||||||
At this stage you can launch the web installer by going to
|
|
||||||
`http://IP/install.php` and follow the on-screen
|
|
||||||
instructions. Alternatively if you want to continue the setup manually
|
|
||||||
then perform the manual install steps. If you cannot reach the
|
|
||||||
installer, stop here and solve that problem before
|
|
||||||
proceeding. Afterwards, Add the following line to the end of
|
|
||||||
`config.php`:
|
|
||||||
|
|
||||||
```
|
|
||||||
$config['fping'] = "/usr/sbin/fping";
|
|
||||||
```
|
|
||||||
|
|
||||||
# Manual Install
|
|
||||||
|
|
||||||
You may skip this section if the web installer succeeded.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cp config.php.default config.php
|
|
||||||
vi config.php
|
|
||||||
```
|
|
||||||
|
|
||||||
Change the values to the right of the equal sign for lines beginning
|
|
||||||
with `$config[db_]` to match your database information as previously
|
|
||||||
configured.
|
|
||||||
|
|
||||||
Change the value of `$config['snmp']['community']` from `public` to
|
|
||||||
whatever your default read-only SNMP community is. If you have
|
|
||||||
multiple existing communities in your environment, set it to the most
|
|
||||||
common.
|
|
||||||
|
|
||||||
Add the following line to the end of `config.php`:
|
|
||||||
|
|
||||||
```
|
|
||||||
$config['fping'] = "/usr/sbin/fping";
|
|
||||||
```
|
|
||||||
|
|
||||||
Important: Be sure you have no characters (including whitespace like:
|
|
||||||
newlines, spaces, tabs, etc) outside of the `<?php?>` blocks. Your
|
|
||||||
graphs will break otherwise and there will be no error messages to
|
|
||||||
indicate otherwise!
|
|
||||||
|
|
||||||
# Initialize the database
|
|
||||||
|
|
||||||
Initiate the follow database with the following command:
|
|
||||||
|
|
||||||
```
|
|
||||||
./lnms migrate
|
|
||||||
```
|
|
||||||
|
|
||||||
# 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.
|
|
||||||
|
|
||||||
# Validate your install
|
|
||||||
|
|
||||||
After performing the manual install or web install, be sure to 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
|
|
||||||
```
|
|
||||||
|
|
||||||
Replace `public` to match what you set in `/etc/snmp/snmpd.conf`.
|
|
||||||
This command also assumes you are using 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 dist/librenms.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:
|
|
||||||
> <@= config.site_url =@/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:
|
|
||||||
|
|
||||||
!!! setting "system/updates"
|
|
||||||
```bash
|
|
||||||
lnms config:set update false
|
|
||||||
```
|
|
||||||
|
|
||||||
# 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](../Support/FAQ.md) 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](../General/Callback-Stats-and-Privacy.md) on
|
|
||||||
what it is and how to enable it.
|
|
||||||
|
|
@@ -1,362 +0,0 @@
|
|||||||
> 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`.
|
|
||||||
|
|
||||||
!!! warning
|
|
||||||
|
|
||||||
Please note the minimum supported PHP version is @= php.version_min =@.
|
|
||||||
The guide below might not have been updated to reflect it!
|
|
||||||
|
|
||||||
|
|
||||||
## Install Common Required Packages ##
|
|
||||||
|
|
||||||
```
|
|
||||||
yum install epel-release
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
yum install git cronie fping jwhois ImageMagick mtr MySQL-python net-snmp net-snmp-utils nmap python-memcached rrdtool policycoreutils-python httpd mariadb mariadb-server unzip python3 python3-pip
|
|
||||||
```
|
|
||||||
|
|
||||||
### Install PHP
|
|
||||||
|
|
||||||
CentOS 7 comes with php 5.4 which is not compatible with LibreNMS.
|
|
||||||
There are multiple ways to install php 7.x on CentOS 7, like Webtatic, Remi or SCL, the last two are maintained by Remi Collet of RedHat.
|
|
||||||
|
|
||||||
#### Running with Remi PHP
|
|
||||||
|
|
||||||
```
|
|
||||||
yum localinstall http://rpms.remirepo.net/enterprise/remi-release-7.rpm
|
|
||||||
```
|
|
||||||
Install the yum-config-manager to change to Remi PHP 7.3 Repo.
|
|
||||||
```
|
|
||||||
yum install yum-utils
|
|
||||||
yum-config-manager --enable remi-php73
|
|
||||||
```
|
|
||||||
Install the required packages
|
|
||||||
|
|
||||||
```
|
|
||||||
yum install mod_php php-cli php-common php-curl php-gd php-mbstring php-process php-snmp php-xml php-zip php-memcached php-mysqlnd
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Running with CentOS SCL php
|
|
||||||
|
|
||||||
```
|
|
||||||
yum install centos-release-scl
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
yum install rh-php72 rh-php72-php-cli rh-php72-php-common rh-php72-php-curl rh-php72-php-gd rh-php72-php-mbstring rh-php72-php-process rh-php72-php-snmp rh-php72-php-xml rh-php72-php-zip rh-php72-php-memcached rh-php72-php-mysqlnd
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
ln -s /opt/rh/rh-php72/root/usr/bin/php /usr/bin/php
|
|
||||||
ln -s /opt/rh/httpd24/root/etc/httpd/conf.d/rh-php72-php.conf /etc/httpd/conf.d/
|
|
||||||
ln -s /opt/rh/httpd24/root/etc/httpd/conf.modules.d/15-rh-php72-php.conf /etc/httpd/conf.modules.d/
|
|
||||||
ln -s /opt/rh/httpd24/root/etc/httpd/modules/librh-php72-php7.so /etc/httpd/modules/
|
|
||||||
```
|
|
||||||
|
|
||||||
# Add librenms user
|
|
||||||
|
|
||||||
```
|
|
||||||
useradd librenms -d /opt/librenms -M -r
|
|
||||||
usermod -a -G librenms apache
|
|
||||||
```
|
|
||||||
|
|
||||||
# Download LibreNMS
|
|
||||||
|
|
||||||
```
|
|
||||||
cd /opt
|
|
||||||
git clone https://github.com/librenms/librenms.git
|
|
||||||
```
|
|
||||||
|
|
||||||
# Set permissions
|
|
||||||
|
|
||||||
```
|
|
||||||
chown -R librenms:librenms /opt/librenms
|
|
||||||
chmod 770 /opt/librenms
|
|
||||||
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/ /opt/librenms/cache
|
|
||||||
setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/ /opt/librenms/cache
|
|
||||||
```
|
|
||||||
|
|
||||||
# Install PHP dependencies
|
|
||||||
|
|
||||||
```
|
|
||||||
su - librenms
|
|
||||||
./scripts/composer_wrapper.php install --no-dev
|
|
||||||
exit
|
|
||||||
```
|
|
||||||
|
|
||||||
# DB Server
|
|
||||||
|
|
||||||
## Configure MySQL
|
|
||||||
|
|
||||||
```
|
|
||||||
systemctl enable --now mariadb
|
|
||||||
mysql -u root
|
|
||||||
```
|
|
||||||
|
|
||||||
> NOTE: Please change the 'password' below to something secure.
|
|
||||||
|
|
||||||
```sql
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
vi /etc/my.cnf
|
|
||||||
```
|
|
||||||
|
|
||||||
Within the `[mysqld]` section please add:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
innodb_file_per_table=1
|
|
||||||
lower_case_table_names=0
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
systemctl restart mariadb
|
|
||||||
```
|
|
||||||
|
|
||||||
# Web Server
|
|
||||||
|
|
||||||
## Configure PHP
|
|
||||||
|
|
||||||
Ensure date.timezone is set in php.ini to your preferred time zone.
|
|
||||||
See <https://php.net/manual/en/timezones.php> for a list of supported
|
|
||||||
timezones. Valid examples are: "America/New_York",
|
|
||||||
"Australia/Brisbane", "Etc/UTC".
|
|
||||||
|
|
||||||
When PHP is configured with open_basedir, be sure to allow the following paths for LibreNMS to work:
|
|
||||||
|
|
||||||
```
|
|
||||||
php_admin_value[open_basedir] = "/opt/librenms:/usr/lib64/nagios/plugins:/dev/urandom:/usr/sbin/fping:/usr/sbin/fping6:/usr/bin/snmpgetnext:/usr/bin/rrdtool:/usr/bin/snmpwalk:/usr/bin/snmpget:/usr/bin/snmpbulkwalk:/usr/bin/snmptranslate:/usr/bin/traceroute:/usr/bin/whois:/bin/ping:/usr/sbin/mtr:/usr/bin/nmap:/usr/sbin/ipmitool:/usr/bin/virsh:/usr/bin/nfdump"
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
vi /etc/php.ini
|
|
||||||
```
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
```
|
|
||||||
vi /etc/opt/rh/rh-php72/php.ini
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Configure 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>
|
|
||||||
</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
|
|
||||||
```
|
|
||||||
|
|
||||||
# SELinux
|
|
||||||
|
|
||||||
Install the policy tool for SELinux:
|
|
||||||
|
|
||||||
```
|
|
||||||
yum install policycoreutils-python
|
|
||||||
```
|
|
||||||
|
|
||||||
## Configure the contexts needed by LibreNMS
|
|
||||||
|
|
||||||
```
|
|
||||||
semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/logs(/.*)?'
|
|
||||||
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/logs(/.*)?'
|
|
||||||
restorecon -RFvv /opt/librenms/logs/
|
|
||||||
semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/rrd(/.*)?'
|
|
||||||
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/rrd(/.*)?'
|
|
||||||
restorecon -RFvv /opt/librenms/rrd/
|
|
||||||
semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/storage(/.*)?'
|
|
||||||
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/storage(/.*)?'
|
|
||||||
restorecon -RFvv /opt/librenms/storage/
|
|
||||||
semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/bootstrap/cache(/.*)?'
|
|
||||||
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/bootstrap/cache(/.*)?'
|
|
||||||
restorecon -RFvv /opt/librenms/bootstrap/cache/
|
|
||||||
semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/cache(/.*)?'
|
|
||||||
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/cache(/.*)?'
|
|
||||||
restorecon -RFvv /var/www/opt/librenms/cache/
|
|
||||||
setsebool -P httpd_can_sendmail=1
|
|
||||||
```
|
|
||||||
|
|
||||||
Additional SELinux problems may be found by executing the following command
|
|
||||||
|
|
||||||
```
|
|
||||||
audit2why < /var/log/audit/audit.log
|
|
||||||
```
|
|
||||||
|
|
||||||
# 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
|
|
||||||
```
|
|
||||||
|
|
||||||
# Allow access through firewall
|
|
||||||
|
|
||||||
```
|
|
||||||
firewall-cmd --zone public --add-service http
|
|
||||||
firewall-cmd --permanent --zone public --add-service http
|
|
||||||
firewall-cmd --zone public --add-service https
|
|
||||||
firewall-cmd --permanent --zone public --add-service https
|
|
||||||
```
|
|
||||||
|
|
||||||
# Configure snmpd
|
|
||||||
|
|
||||||
Copy the example snmpd.conf from the LibreNMS install.
|
|
||||||
|
|
||||||
```
|
|
||||||
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/dist/librenms.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:
|
|
||||||
> <@= config.site_url =@/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
|
|
||||||
```
|
|
||||||
|
|
||||||
# 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 as root in
|
|
||||||
the librenms directory:
|
|
||||||
|
|
||||||
```
|
|
||||||
cd /opt/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](../Support/Performance.md)
|
|
||||||
- [Alerting](../Alerting/index.md)
|
|
||||||
- [Device Groups](../Extensions/Device-Groups.md)
|
|
||||||
- [Auto discovery](../Extensions/Auto-Discovery.md)
|
|
||||||
|
|
||||||
# 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](../General/Callback-Stats-and-Privacy.md) on
|
|
||||||
what it is and how to enable it.
|
|
||||||
|
|
||||||
If you would like to help make LibreNMS better there are [many ways to
|
|
||||||
help](../Support/FAQ.md#a-namefaq9-what-can-i-do-to-helpa). You
|
|
||||||
can also [back LibreNMS on Open Collective](https://t.libren.ms/donations).
|
|
@@ -1,348 +0,0 @@
|
|||||||
> 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`.
|
|
||||||
|
|
||||||
!!! warning
|
|
||||||
|
|
||||||
Please note the minimum supported PHP version is @= php.version_min =@.
|
|
||||||
The guide below might not have been updated to reflect it!
|
|
||||||
|
|
||||||
# Install Required Packages
|
|
||||||
|
|
||||||
```
|
|
||||||
yum install epel-release yum-utils
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
yum localinstall http://rpms.remirepo.net/enterprise/remi-release-7.rpm
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
yum-config-manager --enable remi-php73
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
yum install composer cronie fping git ImageMagick jwhois mariadb mariadb-server mtr MySQL-python net-snmp net-snmp-utils nginx nmap php-fpm php-cli php-common php-curl php-gd php-mbstring php-process php-snmp php-xml php-zip php-memcached php-mysqlnd python-memcached rrdtool python3 python3-pip
|
|
||||||
```
|
|
||||||
|
|
||||||
# Add librenms user
|
|
||||||
|
|
||||||
```
|
|
||||||
useradd librenms -d /opt/librenms -M -r
|
|
||||||
usermod -a -G librenms nginx
|
|
||||||
```
|
|
||||||
|
|
||||||
# Download LibreNMS
|
|
||||||
|
|
||||||
```
|
|
||||||
cd /opt
|
|
||||||
git clone https://github.com/librenms/librenms.git
|
|
||||||
```
|
|
||||||
|
|
||||||
# Set permissions
|
|
||||||
|
|
||||||
```
|
|
||||||
chown -R librenms:librenms /opt/librenms
|
|
||||||
chmod 770 /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/
|
|
||||||
chgrp apache /var/lib/php/session/
|
|
||||||
```
|
|
||||||
|
|
||||||
# Install PHP dependencies
|
|
||||||
|
|
||||||
```
|
|
||||||
su - librenms
|
|
||||||
./scripts/composer_wrapper.php install --no-dev
|
|
||||||
exit
|
|
||||||
```
|
|
||||||
|
|
||||||
# DB Server
|
|
||||||
|
|
||||||
## Configure MySQL
|
|
||||||
|
|
||||||
```
|
|
||||||
systemctl start mariadb
|
|
||||||
mysql -u root
|
|
||||||
```
|
|
||||||
|
|
||||||
> NOTE: Please change the 'password' below to something secure.
|
|
||||||
|
|
||||||
```sql
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
vi /etc/my.cnf
|
|
||||||
```
|
|
||||||
|
|
||||||
Within the `[mysqld]` section please add:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
innodb_file_per_table=1
|
|
||||||
lower_case_table_names=0
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
systemctl enable mariadb
|
|
||||||
systemctl restart mariadb
|
|
||||||
```
|
|
||||||
|
|
||||||
# Web Server
|
|
||||||
|
|
||||||
## Configure and Start PHP-FPM
|
|
||||||
|
|
||||||
Ensure date.timezone is set in php.ini to your preferred time zone.
|
|
||||||
See <https://php.net/manual/en/timezones.php> for a list of supported
|
|
||||||
timezones. Valid examples are: "America/New_York",
|
|
||||||
"Australia/Brisbane", "Etc/UTC".
|
|
||||||
|
|
||||||
```
|
|
||||||
vi /etc/php.ini
|
|
||||||
```
|
|
||||||
|
|
||||||
In `/etc/php-fpm.d/www.conf` make these changes:
|
|
||||||
|
|
||||||
```
|
|
||||||
vi /etc/php-fpm.d/www.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
```nginx
|
|
||||||
;user = apache
|
|
||||||
user = nginx
|
|
||||||
|
|
||||||
group = apache ; keep group as apache
|
|
||||||
|
|
||||||
;listen = 127.0.0.1:9000
|
|
||||||
listen = /run/php-fpm/php-fpm.sock
|
|
||||||
|
|
||||||
listen.owner = nginx
|
|
||||||
listen.group = nginx
|
|
||||||
listen.mode = 0660
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
systemctl enable php-fpm
|
|
||||||
systemctl restart php-fpm
|
|
||||||
```
|
|
||||||
|
|
||||||
## Configure 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 /api/v0 {
|
|
||||||
try_files $uri $uri/ /api_v0.php?$query_string;
|
|
||||||
}
|
|
||||||
location ~ \.php {
|
|
||||||
include fastcgi.conf;
|
|
||||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
|
||||||
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
|
|
||||||
}
|
|
||||||
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`
|
|
||||||
|
|
||||||
```
|
|
||||||
systemctl enable nginx
|
|
||||||
systemctl restart nginx
|
|
||||||
```
|
|
||||||
|
|
||||||
# SELinux
|
|
||||||
|
|
||||||
Install the policy tool for SELinux:
|
|
||||||
|
|
||||||
```
|
|
||||||
yum install policycoreutils-python
|
|
||||||
```
|
|
||||||
|
|
||||||
## Configure the contexts needed by LibreNMS:
|
|
||||||
|
|
||||||
```
|
|
||||||
semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/logs(/.*)?'
|
|
||||||
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/logs(/.*)?'
|
|
||||||
restorecon -RFvv /opt/librenms/logs/
|
|
||||||
semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/rrd(/.*)?'
|
|
||||||
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/rrd(/.*)?'
|
|
||||||
restorecon -RFvv /opt/librenms/rrd/
|
|
||||||
semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/storage(/.*)?'
|
|
||||||
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/storage(/.*)?'
|
|
||||||
restorecon -RFvv /opt/librenms/storage/
|
|
||||||
semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/bootstrap/cache(/.*)?'
|
|
||||||
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/bootstrap/cache(/.*)?'
|
|
||||||
restorecon -RFvv /opt/librenms/bootstrap/cache/
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
# Allow access through firewall
|
|
||||||
|
|
||||||
```
|
|
||||||
firewall-cmd --zone public --add-service http
|
|
||||||
firewall-cmd --permanent --zone public --add-service http
|
|
||||||
firewall-cmd --zone public --add-service https
|
|
||||||
firewall-cmd --permanent --zone public --add-service https
|
|
||||||
```
|
|
||||||
|
|
||||||
# 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/dist/librenms.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:
|
|
||||||
> <@= config.site_url =@/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
|
|
||||||
```
|
|
||||||
|
|
||||||
# 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 as root in
|
|
||||||
the librenms directory:
|
|
||||||
|
|
||||||
```
|
|
||||||
cd /opt/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](../Support/Performance.md)
|
|
||||||
- [Alerting](../Alerting/index.md)
|
|
||||||
- [Device Groups](../Extensions/Device-Groups.md)
|
|
||||||
- [Auto discovery](../Extensions/Auto-Discovery.md)
|
|
||||||
|
|
||||||
# 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](../General/Callback-Stats-and-Privacy.md) on
|
|
||||||
what it is and how to enable it.
|
|
||||||
|
|
||||||
If you would like to help make LibreNMS better there are [many ways to
|
|
||||||
help](../Support/FAQ.md#a-namefaq9-what-can-i-do-to-helpa). You
|
|
||||||
can also [back LibreNMS on Open Collective](https://t.libren.ms/donations).
|
|
@@ -1,227 +0,0 @@
|
|||||||
> 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`.
|
|
||||||
|
|
||||||
!!! warning
|
|
||||||
|
|
||||||
Please note the minimum supported PHP version is @= php.version_min =@.
|
|
||||||
The guide below might not have been updated to reflect it!
|
|
||||||
|
|
||||||
# Install Required Packages
|
|
||||||
|
|
||||||
```bash
|
|
||||||
apt install acl apache2 composer fping git graphviz imagemagick libapache2-mod-php7.0 mariadb-client mariadb-server mtr-tiny nmap php7.0-cli php7.0-curl php7.0-gd php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-snmp php7.0-xml php7.0-zip python-memcache python-mysqldb rrdtool snmp snmpd whois
|
|
||||||
```
|
|
||||||
|
|
||||||
# Add librenms user
|
|
||||||
|
|
||||||
```bash
|
|
||||||
useradd librenms -d /opt/librenms -M -r
|
|
||||||
usermod -a -G librenms www-data
|
|
||||||
```
|
|
||||||
|
|
||||||
# Install LibreNMS
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd /opt
|
|
||||||
composer create-project --no-dev --keep-vcs librenms/librenms librenms dev-master
|
|
||||||
```
|
|
||||||
|
|
||||||
# DB Server
|
|
||||||
|
|
||||||
## Configure MySQL
|
|
||||||
|
|
||||||
```bash
|
|
||||||
systemctl restart mysql
|
|
||||||
mysql -uroot -p
|
|
||||||
```
|
|
||||||
|
|
||||||
> NOTE: Please change the 'password' below to something secure.
|
|
||||||
|
|
||||||
```sql
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
vi /etc/mysql/mariadb.conf.d/50-server.cnf
|
|
||||||
```
|
|
||||||
|
|
||||||
Within the `[mysqld]` section please add:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
innodb_file_per_table=1
|
|
||||||
lower_case_table_names=0
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
systemctl restart mysql
|
|
||||||
```
|
|
||||||
|
|
||||||
# Web Server
|
|
||||||
|
|
||||||
## Configure PHP
|
|
||||||
|
|
||||||
Ensure date.timezone is set in php.ini to your preferred time zone.
|
|
||||||
See <https://php.net/manual/en/timezones.php> for a list of supported
|
|
||||||
timezones. Valid examples are: "America/New_York",
|
|
||||||
"Australia/Brisbane", "Etc/UTC".
|
|
||||||
|
|
||||||
```bash
|
|
||||||
vi /etc/php/7.0/apache2/php.ini
|
|
||||||
vi /etc/php/7.0/cli/php.ini
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
a2enmod php7.0
|
|
||||||
a2dismod mpm_event
|
|
||||||
a2enmod mpm_prefork
|
|
||||||
phpenmod mcrypt
|
|
||||||
```
|
|
||||||
|
|
||||||
## Configure 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>
|
|
||||||
</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. `a2dissite 000-default`
|
|
||||||
|
|
||||||
```bash
|
|
||||||
a2ensite librenms.conf
|
|
||||||
a2enmod rewrite
|
|
||||||
systemctl restart apache2
|
|
||||||
```
|
|
||||||
|
|
||||||
# Configure snmpd
|
|
||||||
|
|
||||||
```bash
|
|
||||||
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.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
|
|
||||||
chmod +x /usr/bin/distro
|
|
||||||
systemctl restart snmpd
|
|
||||||
```
|
|
||||||
|
|
||||||
## Cron job
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cp /opt/librenms/dist/librenms.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:
|
|
||||||
> <@= config.site_url =@/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 /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
|
|
||||||
```
|
|
||||||
|
|
||||||
# Set permissions
|
|
||||||
|
|
||||||
```bash
|
|
||||||
chown -R librenms:librenms /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/
|
|
||||||
```
|
|
||||||
|
|
||||||
# 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:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
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 as root in
|
|
||||||
the librenms directory:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd /opt/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](../Support/Performance.md)
|
|
||||||
- [Alerting](../Alerting/index.md)
|
|
||||||
- [Device Groups](../Extensions/Device-Groups.md)
|
|
||||||
- [Auto discovery](../Extensions/Auto-Discovery.md)
|
|
||||||
|
|
||||||
# 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](../General/Callback-Stats-and-Privacy.md) on
|
|
||||||
what it is and how to enable it.
|
|
||||||
|
|
||||||
If you would like to help make LibreNMS better there are [many ways to
|
|
||||||
help](../Support/FAQ.md#a-namefaq9-what-can-i-do-to-helpa). You
|
|
||||||
can also [back LibreNMS on Open
|
|
||||||
Collective](https://t.libren.ms/donations).
|
|
@@ -1,239 +0,0 @@
|
|||||||
> 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`.
|
|
||||||
|
|
||||||
!!! warning
|
|
||||||
|
|
||||||
Please note the minimum supported PHP version is @= php.version_min =@.
|
|
||||||
The guide below might not have been updated to reflect it!
|
|
||||||
|
|
||||||
# Install Required Packages
|
|
||||||
|
|
||||||
```bash
|
|
||||||
apt install acl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php7.0-cli php7.0-curl php7.0-fpm php7.0-gd php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-snmp php7.0-xml php7.0-zip python-memcache python-mysqldb rrdtool snmp snmpd whois
|
|
||||||
```
|
|
||||||
|
|
||||||
# Add librenms user
|
|
||||||
|
|
||||||
```bash
|
|
||||||
useradd librenms -d /opt/librenms -M -r
|
|
||||||
usermod -a -G librenms www-data
|
|
||||||
```
|
|
||||||
|
|
||||||
# Install LibreNMS
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd /opt
|
|
||||||
composer create-project --no-dev --keep-vcs librenms/librenms librenms dev-master
|
|
||||||
```
|
|
||||||
|
|
||||||
# DB Server
|
|
||||||
|
|
||||||
## Configure MySQL
|
|
||||||
|
|
||||||
```bash
|
|
||||||
systemctl restart mysql
|
|
||||||
mysql -uroot -p
|
|
||||||
```
|
|
||||||
|
|
||||||
> NOTE: Please change the 'password' below to something secure.
|
|
||||||
|
|
||||||
```sql
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
vim /etc/mysql/mariadb.conf.d/50-server.cnf
|
|
||||||
```
|
|
||||||
|
|
||||||
Within the `[mysqld]` section please add:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
innodb_file_per_table=1
|
|
||||||
lower_case_table_names=0
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
systemctl restart mysql
|
|
||||||
```
|
|
||||||
|
|
||||||
# Web Server
|
|
||||||
|
|
||||||
## Configure and Start PHP-FPM
|
|
||||||
|
|
||||||
Ensure date.timezone is set in php.ini to your preferred time zone.
|
|
||||||
See <https://php.net/manual/en/timezones.php> for a list of supported
|
|
||||||
timezones. Valid examples are: "America/New_York",
|
|
||||||
"Australia/Brisbane", "Etc/UTC".
|
|
||||||
|
|
||||||
```bash
|
|
||||||
vim /etc/php/7.0/fpm/php.ini
|
|
||||||
vim /etc/php/7.0/cli/php.ini
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
phpenmod mcrypt
|
|
||||||
systemctl restart php7.0-fpm
|
|
||||||
```
|
|
||||||
|
|
||||||
## Configure NGINX
|
|
||||||
|
|
||||||
```bash
|
|
||||||
vim /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;
|
|
||||||
|
|
||||||
proxy_read_timeout 300;
|
|
||||||
proxy_connect_timeout 300;
|
|
||||||
proxy_send_timeout 300;
|
|
||||||
|
|
||||||
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)(/.+)$;
|
|
||||||
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
|
|
||||||
}
|
|
||||||
location ~ /\.ht {
|
|
||||||
deny all;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
rm /etc/nginx/sites-enabled/default
|
|
||||||
systemctl restart nginx
|
|
||||||
```
|
|
||||||
|
|
||||||
# Configure snmpd
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
|
|
||||||
vim /etc/snmp/snmpd.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
Edit the text which says `RANDOMSTRINGGOESHERE` and set your own community string.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
|
|
||||||
chmod +x /usr/bin/distro
|
|
||||||
systemctl restart snmpd
|
|
||||||
```
|
|
||||||
|
|
||||||
# Cron job
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cp /opt/librenms/dist/librenms.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:
|
|
||||||
> <@= config.site_url =@/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 /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
|
|
||||||
```
|
|
||||||
|
|
||||||
# Set permissions
|
|
||||||
|
|
||||||
```bash
|
|
||||||
chown -R librenms:librenms /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/
|
|
||||||
```
|
|
||||||
|
|
||||||
# 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:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
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 as root in
|
|
||||||
the librenms directory:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd /opt/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](../Support/Performance.md)
|
|
||||||
- [Alerting](../Alerting/index.md)
|
|
||||||
- [Device Groups](../Extensions/Device-Groups.md)
|
|
||||||
- [Auto discovery](../Extensions/Auto-Discovery.md)
|
|
||||||
|
|
||||||
# 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](../General/Callback-Stats-and-Privacy.md) on
|
|
||||||
what it is and how to enable it.
|
|
||||||
|
|
||||||
If you would like to help make LibreNMS better there are [many ways to
|
|
||||||
help](../Support/FAQ.md#a-namefaq9-what-can-i-do-to-helpa). You
|
|
||||||
can also [back LibreNMS on Open Collective](https://t.libren.ms/donations).
|
|
@@ -1,237 +0,0 @@
|
|||||||
> 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`.
|
|
||||||
|
|
||||||
!!! warning
|
|
||||||
|
|
||||||
Please note the minimum supported PHP version is @= php.version_min =@.
|
|
||||||
The guide below might not have been updated to reflect it!
|
|
||||||
|
|
||||||
# Install Required Packages
|
|
||||||
|
|
||||||
```bash
|
|
||||||
apt install software-properties-common
|
|
||||||
add-apt-repository universe
|
|
||||||
apt update
|
|
||||||
apt install curl apache2 composer fping git graphviz imagemagick libapache2-mod-php7.2 mariadb-client mariadb-server mtr-tiny nmap php7.2-cli php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-mysql php7.2-snmp php7.2-xml php7.2-zip python-memcache python-mysqldb rrdtool snmp snmpd whois python3-pip
|
|
||||||
```
|
|
||||||
|
|
||||||
# Add librenms user
|
|
||||||
|
|
||||||
```bash
|
|
||||||
useradd librenms -d /opt/librenms -M -r
|
|
||||||
usermod -a -G librenms www-data
|
|
||||||
```
|
|
||||||
|
|
||||||
# Download LibreNMS
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd /opt
|
|
||||||
git clone https://github.com/librenms/librenms.git
|
|
||||||
```
|
|
||||||
|
|
||||||
# Set permissions
|
|
||||||
|
|
||||||
```bash
|
|
||||||
chown -R librenms:librenms /opt/librenms
|
|
||||||
chmod 770 /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
|
|
||||||
|
|
||||||
```bash
|
|
||||||
su - librenms
|
|
||||||
./scripts/composer_wrapper.php install --no-dev
|
|
||||||
exit
|
|
||||||
```
|
|
||||||
|
|
||||||
# DB Server
|
|
||||||
|
|
||||||
## Configure MySQL
|
|
||||||
|
|
||||||
```bash
|
|
||||||
systemctl restart mysql
|
|
||||||
mysql -uroot -p
|
|
||||||
```
|
|
||||||
|
|
||||||
> NOTE: Please change the 'password' below to something secure.
|
|
||||||
|
|
||||||
```sql
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
vi /etc/mysql/mariadb.conf.d/50-server.cnf
|
|
||||||
```
|
|
||||||
|
|
||||||
Within the `[mysqld]` section please add:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
innodb_file_per_table=1
|
|
||||||
lower_case_table_names=0
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
systemctl restart mysql
|
|
||||||
```
|
|
||||||
|
|
||||||
# Web Server
|
|
||||||
|
|
||||||
## Configure PHP
|
|
||||||
|
|
||||||
Ensure date.timezone is set in php.ini to your preferred time zone.
|
|
||||||
See <https://php.net/manual/en/timezones.php> for a list of supported
|
|
||||||
timezones. Valid examples are: "America/New_York",
|
|
||||||
"Australia/Brisbane", "Etc/UTC".
|
|
||||||
|
|
||||||
```bash
|
|
||||||
vi /etc/php/7.2/apache2/php.ini
|
|
||||||
vi /etc/php/7.2/cli/php.ini
|
|
||||||
|
|
||||||
a2enmod php7.2
|
|
||||||
a2dismod mpm_event
|
|
||||||
a2enmod mpm_prefork
|
|
||||||
```
|
|
||||||
|
|
||||||
## Configure 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>
|
|
||||||
</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. `a2dissite 000-default`
|
|
||||||
|
|
||||||
```bash
|
|
||||||
a2ensite librenms.conf
|
|
||||||
a2enmod rewrite
|
|
||||||
systemctl restart apache2
|
|
||||||
```
|
|
||||||
|
|
||||||
# Configure snmpd
|
|
||||||
|
|
||||||
```bash
|
|
||||||
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.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
|
|
||||||
chmod +x /usr/bin/distro
|
|
||||||
systemctl restart snmpd
|
|
||||||
```
|
|
||||||
|
|
||||||
# Cron job
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cp /opt/librenms/dist/librenms.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:
|
|
||||||
> <@= config.site_url =@/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 /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:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
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 as root in
|
|
||||||
the librenms directory:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd /opt/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](../Support/Performance.md)
|
|
||||||
- [Alerting](../Alerting/index.md)
|
|
||||||
- [Device Groups](../Extensions/Device-Groups.md)
|
|
||||||
- [Auto discovery](../Extensions/Auto-Discovery.md)
|
|
||||||
|
|
||||||
# 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](../General/Callback-Stats-and-Privacy.md) on
|
|
||||||
what it is and how to enable it.
|
|
||||||
|
|
||||||
If you would like to help make LibreNMS better there are [many ways to
|
|
||||||
help](../Support/FAQ.md#a-namefaq9-what-can-i-do-to-helpa). You
|
|
||||||
can also [back LibreNMS on Open Collective](https://t.libren.ms/donations).
|
|
@@ -1,263 +0,0 @@
|
|||||||
> 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`.
|
|
||||||
|
|
||||||
!!! warning
|
|
||||||
|
|
||||||
Please note the minimum supported PHP version is @= php.version_min =@.
|
|
||||||
The guide below might not have been updated to reflect it!
|
|
||||||
|
|
||||||
# Install Required Packages
|
|
||||||
|
|
||||||
```bash
|
|
||||||
apt install software-properties-common
|
|
||||||
add-apt-repository universe
|
|
||||||
apt update
|
|
||||||
apt install curl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php7.2-cli php7.2-curl php7.2-fpm php7.2-gd php7.2-json php7.2-mbstring php7.2-mysql php7.2-snmp php7.2-xml php7.2-zip python-memcache python-mysqldb rrdtool snmp snmpd whois unzip python3-pip
|
|
||||||
```
|
|
||||||
|
|
||||||
# Add librenms user
|
|
||||||
|
|
||||||
```bash
|
|
||||||
useradd librenms -d /opt/librenms -M -r
|
|
||||||
usermod -a -G librenms www-data
|
|
||||||
```
|
|
||||||
|
|
||||||
# Download LibreNMS
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd /opt
|
|
||||||
git clone https://github.com/librenms/librenms.git
|
|
||||||
```
|
|
||||||
|
|
||||||
# Set permissions
|
|
||||||
|
|
||||||
```bash
|
|
||||||
chown -R librenms:librenms /opt/librenms
|
|
||||||
chmod 770 /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
|
|
||||||
|
|
||||||
```bash
|
|
||||||
su - librenms
|
|
||||||
cd /opt/librenms
|
|
||||||
./scripts/composer_wrapper.php install --no-dev
|
|
||||||
exit
|
|
||||||
```
|
|
||||||
|
|
||||||
# DB Server
|
|
||||||
|
|
||||||
## Configure MySQL
|
|
||||||
|
|
||||||
```bash
|
|
||||||
systemctl restart mysql
|
|
||||||
mysql -uroot -p
|
|
||||||
```
|
|
||||||
|
|
||||||
> NOTE: Please change the 'password' below to something secure.
|
|
||||||
|
|
||||||
```sql
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
vi /etc/mysql/mariadb.conf.d/50-server.cnf
|
|
||||||
```
|
|
||||||
|
|
||||||
Within the `[mysqld]` section please add:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
innodb_file_per_table=1
|
|
||||||
lower_case_table_names=0
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
systemctl restart mysql
|
|
||||||
```
|
|
||||||
|
|
||||||
# Web Server
|
|
||||||
|
|
||||||
## Configure and Start PHP-FPM
|
|
||||||
|
|
||||||
Ensure date.timezone is set in php.ini to your preferred time zone.
|
|
||||||
See <https://php.net/manual/en/timezones.php> for a list of supported
|
|
||||||
timezones. Valid examples are: "America/New_York",
|
|
||||||
"Australia/Brisbane", "Etc/UTC".
|
|
||||||
Please remember to set the system timezone as well.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
vi /etc/php/7.2/fpm/php.ini
|
|
||||||
vi /etc/php/7.2/cli/php.ini
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
systemctl restart php7.2-fpm
|
|
||||||
´´´
|
|
||||||
|
|
||||||
```
|
|
||||||
timedatectl set-timezone Etc/UTC
|
|
||||||
´´´
|
|
||||||
|
|
||||||
## Configure 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;
|
|
||||||
|
|
||||||
proxy_read_timeout 300;
|
|
||||||
proxy_connect_timeout 300;
|
|
||||||
proxy_send_timeout 300;
|
|
||||||
|
|
||||||
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)(/.+)$;
|
|
||||||
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
|
|
||||||
}
|
|
||||||
location ~ /\.ht {
|
|
||||||
deny all;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
rm /etc/nginx/sites-enabled/default
|
|
||||||
systemctl restart nginx
|
|
||||||
```
|
|
||||||
|
|
||||||
# Configure snmpd
|
|
||||||
|
|
||||||
```bash
|
|
||||||
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.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
|
|
||||||
chmod +x /usr/bin/distro
|
|
||||||
systemctl restart snmpd
|
|
||||||
```
|
|
||||||
|
|
||||||
# Cron job
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cp /opt/librenms/dist/librenms.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:
|
|
||||||
> <@= config.site_url =@/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 /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
|
|
||||||
```
|
|
||||||
|
|
||||||
# Set permissions
|
|
||||||
|
|
||||||
```bash
|
|
||||||
chown -R librenms:librenms /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/
|
|
||||||
```
|
|
||||||
|
|
||||||
# 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:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
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 as root in
|
|
||||||
the librenms directory:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd /opt/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](../Support/Performance.md)
|
|
||||||
- [Alerting](../Alerting/index.md)
|
|
||||||
- [Device Groups](../Extensions/Device-Groups.md)
|
|
||||||
- [Auto discovery](../Extensions/Auto-Discovery.md)
|
|
||||||
|
|
||||||
# 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](../General/Callback-Stats-and-Privacy.md) on
|
|
||||||
what it is and how to enable it.
|
|
||||||
|
|
||||||
If you would like to help make LibreNMS better there are [many ways to
|
|
||||||
help](../Support/FAQ.md#a-namefaq9-what-can-i-do-to-helpa). You
|
|
||||||
can also [back LibreNMS on Open Collective](https://t.libren.ms/donations).
|
|
16
mkdocs.yml
16
mkdocs.yml
@@ -71,6 +71,14 @@ plugins:
|
|||||||
'General/Contributing.md': 'Developing/Getting-Started.md'
|
'General/Contributing.md': 'Developing/Getting-Started.md'
|
||||||
'Installation/CentOS-image.md': 'Installation/Install-LibreNMS.md'
|
'Installation/CentOS-image.md': 'Installation/Install-LibreNMS.md'
|
||||||
'Installation/index.md': 'Installation/Install-LibreNMS.md'
|
'Installation/index.md': 'Installation/Install-LibreNMS.md'
|
||||||
|
'Installation/Installation-CentOS-6-Apache-Nginx.md': 'Installation/Install-LibreNMS.md'
|
||||||
|
'Installation/Installation-CentOS-7-Apache.md': 'Installation/Install-LibreNMS.md'
|
||||||
|
'Installation/Installation-CentOS-7-Nginx.md': 'Installation/Install-LibreNMS.md'
|
||||||
|
'Installation/Installation-Debian-11-Nginx.md': 'Installation/Install-LibreNMS.md'
|
||||||
|
'Installation/Installation-Ubuntu-1604-Apache.md': 'Installation/Install-LibreNMS.md'
|
||||||
|
'Installation/Installation-Ubuntu-1604-Nginx.md': 'Installation/Install-LibreNMS.md'
|
||||||
|
'Installation/Installation-Ubuntu-1804-Apache.md': 'Installation/Install-LibreNMS.md'
|
||||||
|
'Installation/Installation-Ubuntu-1804-Nginx.md': 'Installation/Install-LibreNMS.md'
|
||||||
'Installation/Installing-LibreNMS.md': 'Installation/Install-LibreNMS.md'
|
'Installation/Installing-LibreNMS.md': 'Installation/Install-LibreNMS.md'
|
||||||
'Installation/Ubuntu-image.md': 'Installation/Images.md'
|
'Installation/Ubuntu-image.md': 'Installation/Images.md'
|
||||||
'Support/Support-New-OS.md': 'Developing/Support-New-OS.md'
|
'Support/Support-New-OS.md': 'Developing/Support-New-OS.md'
|
||||||
@@ -139,14 +147,6 @@ nav:
|
|||||||
- Other Methods:
|
- Other Methods:
|
||||||
- Docker: Installation/Docker.md
|
- Docker: Installation/Docker.md
|
||||||
- Virtual machines: Installation/Images.md
|
- Virtual machines: Installation/Images.md
|
||||||
- Older guides:
|
|
||||||
- RHEL / CentOS 6: Installation/Installation-CentOS-6-Apache-Nginx.md
|
|
||||||
- RHEL / CentOS 7 - Apache: Installation/Installation-CentOS-7-Apache.md
|
|
||||||
- RHEL / CentOS 7 - Nginx: Installation/Installation-CentOS-7-Nginx.md
|
|
||||||
- Ubuntu 16.04 - Apache: Installation/Installation-Ubuntu-1604-Apache.md
|
|
||||||
- Ubuntu 16.04 - Nginx: Installation/Installation-Ubuntu-1604-Nginx.md
|
|
||||||
- Ubuntu 18.04 - Apache: Installation/Installation-Ubuntu-1804-Apache.md
|
|
||||||
- Ubuntu 18.04 - Nginx: Installation/Installation-Ubuntu-1804-Nginx.md
|
|
||||||
- Choosing a release: General/Releases.md
|
- Choosing a release: General/Releases.md
|
||||||
- Updating: General/Updating.md
|
- Updating: General/Updating.md
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user