<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" 
  xmlns:content="http://purl.org/rss/1.0/modules/content/" 
  xmlns:dc="http://purl.org/dc/elements/1.1/" 
  xmlns:atom="http://www.w3.org/2005/Atom" 
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" 
  xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Ubuntu Server on gal.vin</title>
    <link>https://gal.vin/tags/ubuntu-server/</link>
    <description>Recent content in Ubuntu Server on gal.vin</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>&amp;copy;{year}, All Rights Reserved</copyright>
    <lastBuildDate>Sat, 08 Jul 2023 15:00:00 +0100</lastBuildDate>
    <sy:updatePeriod>daily</sy:updatePeriod>
    
        <atom:link href="https://gal.vin/tags/ubuntu-server/index.xml" rel="self" type="application/rss+xml" />
    

      
      <item>
        <title>Installing and Configuring LibreNMS (and SNMP on Windows Server)</title>
        <link>https://gal.vin/posts/2022/install-config-librenms/</link>
        <pubDate>Sat, 08 Jul 2023 15:00:00 +0100</pubDate>
        
        <atom:modified>Sat, 08 Jul 2023 15:00:00 +0100</atom:modified>
        <guid>https://gal.vin/posts/2022/install-config-librenms/</guid>
        <description>Original Post Date: 2022-10-18
Updated: 2023-07-08
Before you start This walkthrough is very similar to the excellent official LibreNMS documentation available here. The intention with this guide is to walk through the installation of LibreNMS on a fresh install of Ubuntu Server 22.04, running the NGINX web server stepping through the entire process and explaining some of the things that caught me out. Additionally, this will also cover how to install and set up SNMP on Windows servers so LibreNMS can monitor your Windows servers too.</description>
        <content:encoded>&lt;p&gt;Original Post Date: 2022-10-18&lt;/p&gt;
&lt;p&gt;Updated: 2023-07-08&lt;/p&gt;
&lt;h2 id=&#34;before-you-start&#34;&gt;Before you start&lt;/h2&gt;
&lt;p&gt;This walkthrough is very similar to the excellent official &lt;a href=&#34;https://docs.librenms.org/Installation/Install-LibreNMS&#34;&gt;LibreNMS documentation available here.&lt;/a&gt; The intention with this guide is to walk through the installation of LibreNMS on a fresh install of Ubuntu Server 22.04, running the NGINX web server stepping through the entire process and explaining some of the things that caught me out. Additionally, this will also cover how to install and set up SNMP on Windows servers so LibreNMS can monitor your Windows servers too.&lt;/p&gt;
&lt;p&gt;Please note that like the official docs I will not be covering HTTPS setup, so your LibreNMS install will not be secure. Don&amp;rsquo;t expose it to the Internet unless you have configured HTTPS and taken appropriate web server hardening steps.&lt;/p&gt;
&lt;h2 id=&#34;installing-ubuntu-server-2204&#34;&gt;Installing Ubuntu Server 22.04&lt;/h2&gt;
&lt;p&gt;Installing Ubuntu Server 22.04 is pretty straight forward, however setting a static IP is different from Windows in that setup expects the subnet to be in CIDR format, for example: &lt;code&gt;192.168.0.0/24&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;For the user profile setup in the tutorial we&amp;rsquo;ll use the following information.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;your name: LibreNMS
servers name: librenms-host
username: librenms
password: [your-password]
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;During the install you will be asked if you want to Install OpenSSH server. To allow much easier remote management you should enable this. It will make following this tutorial much easier as you will be able to copy and paste into the SSH window.&lt;/p&gt;
&lt;h3 id=&#34;vm-quirks&#34;&gt;VM Quirks&lt;/h3&gt;
&lt;p&gt;Once the install procedure has completed it may look like it&amp;rsquo;s frozen. Just press enter and it will continue. Once the VM boots it may look like it&amp;rsquo;s frozen again and might not display a login prompt. Again just press enter and you will see a login prompt appear.&lt;/p&gt;
&lt;h2 id=&#34;login-with-ssh&#34;&gt;Login with SSH&lt;/h2&gt;
&lt;p&gt;SSH is enabled, so from here on we&amp;rsquo;ll use that. In a cmd/PowerShell or Terminal prompt use the following commands to login:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;ssh librenms@ServerIPaddress
[your-password]
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;We must become the root user to install the required packages:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;sudo -i
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;install-packages&#34;&gt;Install Packages&lt;/h2&gt;
&lt;p&gt;Enter the following commands to install the pre-requisits LibreNMS requires:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;apt install acl curl fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php-cli php-curl php-fpm php-gd php-gmp php-json php-mbstring php-mysql php-snmp php-xml php-zip rrdtool snmp snmpd whois unzip python3-pymysql python3-dotenv python3-redis python3-setuptools python3-systemd python3-pip
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;add-the-librenms-user&#34;&gt;Add The LibreNMS User&lt;/h2&gt;
&lt;p&gt;This user should already exist if you&amp;rsquo;ve been following this walkthrough from the top.&lt;/p&gt;
&lt;p&gt;Enter the command:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;useradd librenms -d /opt/librenms -M -r -s &amp;#34;$(which bash)&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;download-librenms-from-github&#34;&gt;Download LibreNMS From GitHub&lt;/h2&gt;
&lt;p&gt;Run these commands to change directory to the /opt directory and then clone the librenms repository from GitHub:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;cd /opt
git clone https://github.com/librenms/librenms.git
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;setting-permissions&#34;&gt;Setting Permissions&lt;/h2&gt;
&lt;p&gt;Now we&amp;rsquo;ll change the owner and file permissions on the downloaded files:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;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/
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;install-php-dependencies&#34;&gt;Install PHP Dependencies&lt;/h2&gt;
&lt;p&gt;With the next command we&amp;rsquo;ll switch user to the librenms user from the root user we&amp;rsquo;ve been using up to this point:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;su - librenms
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;You will now be in the librenms user home directory, so we must change directory to the librenms directory in /opt that was cloned from GitHub:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;cd /opt/librenms
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now we need to run the following script:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;./scripts/composer_wrapper.php install --no-dev
exit
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The &lt;code&gt;exit&lt;/code&gt; will switch us back to the root user we were running as before. The reason for this switch to librenms and then back to root is that the script must run as the librenms user, but now we need the root priviledges again.&lt;/p&gt;
&lt;h2 id=&#34;set-the-time-zone&#34;&gt;Set The Time Zone&lt;/h2&gt;
&lt;p&gt;Now we need to set the time zone in the PHP config and to do that we must edit some config files, we&amp;rsquo;ll use the &amp;ldquo;nano&amp;rdquo; text editor. See &lt;a href=&#34;https://php.net/manual/en/timezones.php&#34;&gt;here&lt;/a&gt; for a list of supported time zones.&lt;br /&gt;
Some valid examples are: &amp;ldquo;America/New_York&amp;rdquo;, &amp;ldquo;Australia/Brisbane&amp;rdquo;, &amp;ldquo;Etc/UTC&amp;rdquo;, &amp;ldquo;Europe/London&amp;rdquo;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;nano /etc/php/8.1/fpm/php.ini
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Scroll down to this section:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Change: &lt;code&gt;;date.timezone =&lt;/code&gt; to &lt;code&gt;date.timezone = Europe/London&lt;/code&gt; using the time zone &amp;ldquo;Europe/London&amp;rdquo; as an example.&lt;/p&gt;
&lt;p&gt;Save the file with CTRL + O and press enter to overwrite the existing file.&lt;br /&gt;
Exit with CTRL + X&lt;/p&gt;
&lt;p&gt;Now run this command and edit the file the same way as above.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;nano /etc/php/8.1/cli/php.ini
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;We now need to set the system time zone using the command below with &amp;ldquo;Europe/London&amp;rdquo; as an example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;timedatectl set-timezone Europe/London
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;configure-mariadb&#34;&gt;Configure MariaDB&lt;/h2&gt;
&lt;p&gt;In this section you&amp;rsquo;ll see a lot of &amp;ldquo;mysql&amp;rdquo; commands even though we&amp;rsquo;re using MariaDB. In short MariaDB is a fork of MySQL - meaning it&amp;rsquo;s based off of MySQL. The commands are &amp;ldquo;mysql&amp;rdquo; probably for compatibility I would think.&lt;/p&gt;
&lt;p&gt;Once again we&amp;rsquo;re going to be editing a config file using nano:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;nano /etc/mysql/mariadb.conf.d/50-server.cnf
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Add the following inside the [mysqld] section:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;innodb_file_per_table=1
lower_case_table_names=0
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Save the file with CTRL + O and press enter to overwrite the existing file.&lt;br /&gt;
Exit with CTRL + X&lt;/p&gt;
&lt;p&gt;Run these commands to enable MariaDB and start the service:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;systemctl enable mariadb
systemctl restart mariadb
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now we&amp;rsquo;re going to login to MariaDB and create the database. The &lt;code&gt;&#39;your-password&#39;&lt;/code&gt; should be set to a secure password:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;mysql -u root

CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER &amp;#39;librenms&amp;#39;@&amp;#39;localhost&amp;#39; IDENTIFIED BY &amp;#39;your-password&amp;#39;;
GRANT ALL PRIVILEGES ON librenms.* TO &amp;#39;librenms&amp;#39;@&amp;#39;localhost&amp;#39;;
exit
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;configure-php-fpm&#34;&gt;Configure PHP-FPM&lt;/h2&gt;
&lt;p&gt;Next we&amp;rsquo;ll copy a template config file and edit it for librenms:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;cp /etc/php/8.1/fpm/pool.d/www.conf /etc/php/8.1/fpm/pool.d/librenms.conf
nano /etc/php/8.1/fpm/pool.d/librenms.conf
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Change &lt;code&gt;[www]&lt;/code&gt; to &lt;code&gt;[librenms]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Change &amp;ldquo;user and group&amp;rdquo; from:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;user = www-data
group = www-data
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;to:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;user = librenms
group = librenms
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Change &lt;code&gt;listen =&lt;/code&gt; to:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;listen = /run/php-fpm-librenms.sock
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Save the file with CTRL + O and press enter to overwrite the existing file.&lt;br /&gt;
Exit with CTRL + X&lt;/p&gt;
&lt;h2 id=&#34;configure-nginx-web-server&#34;&gt;Configure NGINX Web Server&lt;/h2&gt;
&lt;p&gt;Here we&amp;rsquo;re going to create a new config file:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;nano /etc/nginx/conf.d/librenms.conf
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Copy and paste the text below remembering to change &lt;code&gt;your-server-ipaddress&lt;/code&gt; to your servers IP address.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;server {
 listen      80;
 server_name your-server-ipaddress;
 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;
 }
}
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Save the file with CTRL + O and press enter to overwrite the existing file.&lt;br /&gt;
Exit with CTRL + X&lt;/p&gt;
&lt;p&gt;Next we&amp;rsquo;re going to delete the default site, and restart the web server and php services:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;rm /etc/nginx/sites-enabled/default
systemctl restart nginx
systemctl restart php8.1-fpm
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;enable-lnms-command-completion&#34;&gt;Enable lnms Command Completion&lt;/h2&gt;
&lt;p&gt;This feature grants you the opportunity to use tab for completion on lnms commands as you would for normal linux commands.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;ln -s /opt/librenms/lnms /usr/bin/lnms
cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;configure-snmpd&#34;&gt;Configure snmpd&lt;/h2&gt;
&lt;p&gt;Now we&amp;rsquo;re going to copy the example SNMP config file from the LibreNMS directory and edit it:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
nano /etc/snmp/snmpd.conf
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;You&amp;rsquo;ll need to change the following line to whatever you decide to use as your SNMP community string, by default most devices use &amp;ldquo;public&amp;rdquo;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;com2sec readonly  default         RANDOMSTRINGGOESHERE
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;It should look like this when you&amp;rsquo;re done:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;com2sec readonly  default         public
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Also it may be worth changing the following lines to the appropriate information:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;syslocation Rack, Room, Building, City, Country [Lat, Lon]
syscontact Your Name &amp;lt;your@e-mail.address&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;When you&amp;rsquo;re done it should look similar to this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;syslocation [The loction information you want to appear in LibreNMS]
syscontact [The name and e-mail address you want to appear in LibreNMS]
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Save the file with CTRL + O and press enter to overwrite the existing file.&lt;br /&gt;
Exit with CTRL + X&lt;/p&gt;
&lt;p&gt;Finally, we can run the commands below (optionally) to make the LibreNMS host server appear as the specific linux device it is and not a generic one.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;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
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;setting-up-the-cron-job&#34;&gt;Setting Up The Cron Job&lt;/h2&gt;
&lt;p&gt;Use this command to copy the cron job from the LibreNMS files to the system:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenms
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;enable-the-scheduler&#34;&gt;Enable The Scheduler&lt;/h2&gt;
&lt;p&gt;Run this command to copy the scheduler service from the LibreNMS files to the system, and then start the scheduler for librenms.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;cp /opt/librenms/dist/librenms-scheduler.service /opt/librenms/dist/librenms-scheduler.timer /etc/systemd/system/
systemctl enable librenms-scheduler.timer
systemctl start librenms-scheduler.timer
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;copy-logrotate-config&#34;&gt;Copy logrotate Config&lt;/h2&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;final-setup&#34;&gt;Final Setup&lt;/h2&gt;
&lt;p&gt;We need to do some final setup tasks. It&amp;rsquo;s time to go to a web browser: &lt;code&gt;http://you-server-ip-address&lt;/code&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click on the blue circles to move the setup process along.&lt;/li&gt;
&lt;li&gt;For &amp;ldquo;Configure Database&amp;rdquo;, fill in the password you set during the MariaDB setup section.&lt;/li&gt;
&lt;li&gt;Click &amp;ldquo;Check Credentials&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Then click &amp;ldquo;Build Database&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Wait for it to complete.&lt;/li&gt;
&lt;li&gt;When it&amp;rsquo;s done, the scrolling text will disappear and you should click on the next blue circle.&lt;/li&gt;
&lt;li&gt;Now we&amp;rsquo;ll create an admin user - the e-mail can be left blank.&lt;/li&gt;
&lt;li&gt;Click on the next blue circle.&lt;/li&gt;
&lt;li&gt;Finish Install - Click on &amp;ldquo;Validate your install&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You will likely see some warnings - luckily in this new version of LibreNMS there&amp;rsquo;s an &amp;ldquo;automatically fix&amp;rdquo; button for database issues.&lt;/p&gt;
&lt;p&gt;Once you&amp;rsquo;re run the fixes refresh the validate page &lt;code&gt;http://ip-address/validate&lt;/code&gt;, and the database warnings should be gone.&lt;/p&gt;
&lt;h2 id=&#34;adding-your-first-device&#34;&gt;Adding Your First Device&lt;/h2&gt;
&lt;p&gt;To add the first device:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click on the LibreNMS logo to go to the home page.&lt;/li&gt;
&lt;li&gt;Hover over Devices on the top bar, then click on Add device.&lt;/li&gt;
&lt;li&gt;On the Add Device page, enter the IP of the LibreNMS server and the community string and then click on &amp;ldquo;Add Device&amp;rdquo;. If all goes well it should be added successfully.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configure-a-dashboard&#34;&gt;Configure a Dashboard&lt;/h2&gt;
&lt;p&gt;The default dashboard is blank, here&amp;rsquo;s how to add some useful widgets to it.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click on the edit icon.&lt;/li&gt;
&lt;li&gt;In the drop down menu &amp;ldquo;Select Widget&amp;rdquo; select &amp;ldquo;Eventlog&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;The widgets can be resized as needed.&lt;/li&gt;
&lt;li&gt;To save the dashboard changes, click on &amp;ldquo;Update&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;To hide the &amp;ldquo;Edit Dashboard Bar&amp;rdquo; hover over &amp;ldquo;Overview&amp;rdquo; then &amp;ldquo;Dashboard&amp;rdquo; then click on &amp;ldquo;Hide Dashboard Editor&amp;rdquo;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configure-alerts&#34;&gt;Configure Alerts&lt;/h2&gt;
&lt;p&gt;There are many ways that LibreNMS can send alerts, but here I&amp;rsquo;m just going to focus on setting up e-mail alerts.&lt;/p&gt;
&lt;p&gt;First we must create the default alert rules.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Hover over &amp;ldquo;Alerts&amp;rdquo; on the top bar.&lt;/li&gt;
&lt;li&gt;Then click on &amp;ldquo;Alert Rules&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Then click on the big green button to set up the default alert rules.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now we must configure the alert transports.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Hover over &amp;ldquo;Alerts&amp;rdquo; on the top bar&lt;/li&gt;
&lt;li&gt;Then click on &amp;ldquo;Alert Transports&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Click on &amp;ldquo;Create alert transport&amp;rdquo; and name it &amp;ldquo;mail&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Set &amp;ldquo;Transport type&amp;rdquo; to mail.&lt;/li&gt;
&lt;li&gt;Set &amp;ldquo;Default alert&amp;rdquo; to ON.&lt;/li&gt;
&lt;li&gt;Enter the e-mail address that the alerts should be send to.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Next we must configure a transport group.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Still on the Alert Transports page, click on the &amp;ldquo;Create transport group&amp;rdquo; button.&lt;/li&gt;
&lt;li&gt;Enter the group name &amp;ldquo;mail group&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Click on &amp;ldquo;Group Members&amp;rdquo; and the &amp;ldquo;mail&amp;rdquo; transport we created above will show.&lt;/li&gt;
&lt;li&gt;Click on it again, then select &amp;ldquo;Save Transport Group&amp;rdquo;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Finally, we must configure how the e-mails are going to be sent.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Hover over the cog icon in the top right hand corner and click on &amp;ldquo;Global Settings&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Then click on the &amp;ldquo;Alerting&amp;rdquo; tab, and e-mail options.&lt;/li&gt;
&lt;li&gt;Here you can enter the details for the SMTP server to use to sent the e-mails from. It supports Office 365, G-Suite and on-premise Microsoft Exchange servers.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;installing-and-configuring-snmp-on-windows-servers&#34;&gt;Installing and Configuring SNMP on Windows Servers&lt;/h2&gt;
&lt;p&gt;Open an elevated PowerShell console and run the following command:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;nb&#34;&gt;Install-WindowsFeature&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SNMP-Service&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Once SNMP is installed, the community and permitted managers will need to be configured. There are a multitude of ways to do this but for a group of domian joined servers the best way is by using group policy.&lt;/p&gt;
&lt;h3 id=&#34;group-policy&#34;&gt;Group Policy&lt;/h3&gt;
&lt;p&gt;Either create or edit an existing Group Policy Object and navigate to&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Computer Configuration/Administrative Templates/Network/SNMP&lt;/code&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;To specify the community string, use the &amp;ldquo;Specify communities&amp;rdquo; policy.&lt;/li&gt;
&lt;li&gt;Set it to &amp;ldquo;Enabled&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Click the &amp;ldquo;Show&amp;rdquo; button in the options to set one or more community strings.&lt;/li&gt;
&lt;li&gt;Use the &amp;ldquo;Specify permitted managers&amp;rdquo; policy to set which servers should have access to SNMP.&lt;/li&gt;
&lt;li&gt;Set it to &amp;ldquo;Enabled&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Click the &amp;ldquo;Show&amp;rdquo; button in the options and enter the IP address of the LibreNMS server.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Attach the GPO to the OU containing the servers you want to have SNMP configured and once group policy refreshes you should be able to add your Windows Servers as devices to monitor in the same way you did for the LibreNMS server.&lt;/p&gt;
&lt;h3 id=&#34;registry-edits&#34;&gt;Registry Edits&lt;/h3&gt;
&lt;p&gt;Navigate to or create the following path in regedit:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Policies\SNMP\Parameters\ValidCommunities&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Create a new &amp;ldquo;String Value&amp;rdquo; and name it &amp;ldquo;1&amp;rdquo; and then enter the name of the community string.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Policies\SNMP\Parameters\PermittedManagers&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Create a new &amp;ldquo;String Value&amp;rdquo; and name it &amp;ldquo;1&amp;rdquo; and enter the IP address of the LibreNMS server.&lt;/p&gt;
&lt;h2 id=&#34;support-my-work&#34;&gt;Support My Work&lt;/h2&gt;
&lt;p&gt;If you would like to support me, please check out the link below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.paypal.me/digressive&#34;&gt;PayPal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have any questions or comments, please leave them below.&lt;/p&gt;
&lt;p&gt;-Mike&lt;/p&gt;
</content:encoded>
        
        <media:content url="https://gal.vin//media/2022/librenms.webp" medium="image"><media:title type="html">featured image</media:title></media:content>
        
        
        
          
            
              <category>Guide</category>
            
          
            
              <category>LibreNMS</category>
            
          
            
              <category>Ubuntu Server</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Setting a Static IP Address on Ubuntu Server 24.04/22.04 LTS</title>
        <link>https://gal.vin/posts/2023/ubuntu-static-ip/</link>
        <pubDate>Thu, 26 Jan 2023 17:00:00 +0000</pubDate>
        
        <atom:modified>Thu, 26 Jan 2023 17:00:00 +0000</atom:modified>
        <guid>https://gal.vin/posts/2023/ubuntu-static-ip/</guid>
        <description>Ubuntu Server 24.04/22.04 LTS uses a utility called &amp;lsquo;netplan&amp;rsquo; for networking. To set a static IP we need to edit the config file.
In the terminal, go to the netplan config file location:
1  cd /etc/netplan/   The file should be called 00-installer-config.yaml if it doesn&amp;rsquo;t exist then the following will create it. We need to run a text editor, in this case, nano as root so we can make changes to it.</description>
        <content:encoded>&lt;p&gt;Ubuntu Server 24.04/22.04 LTS uses a utility called &amp;lsquo;netplan&amp;rsquo; for networking. To set a static IP we need to edit the config file.&lt;/p&gt;
&lt;p&gt;In the terminal, go to the netplan config file location:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;cd /etc/netplan/
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The file should be called &lt;code&gt;00-installer-config.yaml&lt;/code&gt; if it doesn&amp;rsquo;t exist then the following will create it. We need to run a text editor, in this case, nano as root so we can make changes to it.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;sudo nano /etc/netplan/00-installer-config.yaml
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The static IP config should look similar to this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;network:
  renderer: networkd
  ethernets:
    eth0:
      addresses:
        - 192.168.10.5/24
      nameservers:
        addresses: [1.1.1.1,8.8.8.8]
      routes:
        - to: default
          via: 192.168.1.253
  version: 2
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;eth0:&lt;/code&gt; is the name of my network interface - yours may differ.&lt;/li&gt;
&lt;li&gt;Under &lt;code&gt;addresses:&lt;/code&gt; is the static IP to set, you&amp;rsquo;ll need to use CIDR notation, so &lt;code&gt;/24&lt;/code&gt; is &lt;code&gt;255.255.255.0&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;DNS servers are configured under &lt;code&gt;nameservers:&lt;/code&gt; multiple servers should be command separated.&lt;/li&gt;
&lt;li&gt;The default gateway is set under &lt;code&gt;routes:&lt;/code&gt; and &lt;code&gt;- to: default&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Save the file with CTRL + O and press enter to overwrite the existing file.&lt;br /&gt;
Exit with CTRL + X&lt;/p&gt;
&lt;p&gt;Run the following command to set the permissions for the config file:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;sudo chmod 0600 /etc/netplan/00-installer-config.yaml
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;To apply the changes run the following command:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;sudo netplan apply
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;To confirm the settings, run the following to see the current IP:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;ip addr show eth0
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Run the following to see the default gateway:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;ip route show
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Run the following command to see the DNS servers being used:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;resolvectl status
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;And now you know, and knowing is half the battle.&lt;/p&gt;
&lt;h2 id=&#34;support-my-work&#34;&gt;Support My Work&lt;/h2&gt;
&lt;p&gt;If you would like to support me, please check out the link below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.paypal.me/digressive&#34;&gt;PayPal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have any questions or comments, please leave them below.&lt;/p&gt;
&lt;p&gt;-Mike&lt;/p&gt;
</content:encoded>
        
        <media:content url="https://gal.vin//media/2023/ubuntu.webp" medium="image"><media:title type="html">featured image</media:title></media:content>
        
        
        
          
            
              <category>Ubuntu Server</category>
            
          
            
              <category>Guide</category>
            
          
        
        
        
      </item>
      

    
  </channel>
</rss>