SmartOS: The illumos Way of Thinking About Servers
https://it-notes.dragas.net/2026/09/28/smartos-the-illumos-way-of-thinking-about-servers/
#ITNotes #NoteHUB #hosting #illumos #ownyourdata #server #smartos #tutorial #zones
Remote
IT Notes - https://it-notes.dragas.net
@itnotes@snac.it-notes.dragas.net
snac 2.95
"Scattered IT Notes"
The official Fediverse account of the https://it-notes.dragas.net blog, by Stefano Marinelli (@stefano@mastodon.bsd.cafe)
This account posts all new articles from the IT Notes blog.
Posting old articles if they haven't already been posted here.
This is a low-traffic account. If you don't want it to get lost in your timeline, feel free to hit the notification bell.
I promise it won't make much noise.
#ITNotes #RunBSD #FreeBSD #OpenBSD #NetBSD #Linux #IT #SysAdmin #OwnYourData
This instance using Snac - https://codeberg.org/grunfink/snac2
The official Fediverse account of the https://it-notes.dragas.net blog, by Stefano Marinelli (@stefano@mastodon.bsd.cafe)
This account posts all new articles from the IT Notes blog.
Posting old articles if they haven't already been posted here.
This is a low-traffic account. If you don't want it to get lost in your timeline, feel free to hit the notification bell.
I promise it won't make much noise.
#ITNotes #RunBSD #FreeBSD #OpenBSD #NetBSD #Linux #IT #SysAdmin #OwnYourData
This instance using Snac - https://codeberg.org/grunfink/snac2
252 Followers
2 Following
6 Posts
Joined October 31, 2024
Open post
Time Machine inside a FreeBSD jail
https://it-notes.dragas.net/2026/01/28/time-machine-freebsd-jail/
#ITNotes #NoteHUB #apple #backup #data #freebsd #ownyourdata #server #timemachine #tutorial #zfs
https://it-notes.dragas.net/2026/01/28/time-machine-freebsd-jail/
#ITNotes #NoteHUB #apple #backup #data #freebsd #ownyourdata #server #timemachine #tutorial #zfs
0
0
0
0
Open post
Monitor your devices with LibreNMS on FreeBSD
LibreNMS (https://www.librenms.org) has been a faithful companion for years now. It quietly handles the monitoring of my servers, devices, and services without demanding much in return - exactly what you want from a tool whose job is to watch over everything else. It's a solid alternative to heavier solutions like Zabbix, and it gives you alerts, data, and graphs on virtually anything reachable over SNMP.
I usually install it on a host that is not reachable from the outside, then let it poll all the devices through a VPN: a single observation point, clean perimeter. The ability to create multiple dashboards - and to filter them by user - has also let me give clients a transparent window onto their own servers. Transparency, in my experience, is always the better long-term bet.
Together with Uptime-Kuma (https://it-notes.dragas.net/2024/07/22/install-uptime-kuma-freebsd-jail/) (and the good old Nagios/Munin pair), LibreNMS lives in a FreeBSD jail on my monitoring servers and just does its job.
This post walks through a plain installation of LibreNMS on FreeBSD: package-based, no reverse proxy, no HTTPS, no fancy hardening. The goal is to get to a working setup you can build on top of.
Assumptions
Installation
Create the directory for RRD graphs and set ownership:
Polling serviceLibreNMS needs something to actually run the polls. On FreeBSD, the package ships an rc service that runs the LibreNMS dispatcher, so there's no need to manage cron entries by hand the way most Linux guides assume.
Next stepsAt this point you can log into the web interface and start adding devices, configuring SNMP, and building dashboards. For that, the official LibreNMS documentation (https://docs.librenms.org/) is excellent, and there's no point in me paraphrasing it here.
https://it-notes.dragas.net/2026/05/07/monitor-your-services-with-librenms-on-freebsd/
#ITNotes #NoteHUB #freebsd #hosting #jail #monitoring #networking #ownyourdata #security #server #tutorial
LibreNMS (https://www.librenms.org) has been a faithful companion for years now. It quietly handles the monitoring of my servers, devices, and services without demanding much in return - exactly what you want from a tool whose job is to watch over everything else. It's a solid alternative to heavier solutions like Zabbix, and it gives you alerts, data, and graphs on virtually anything reachable over SNMP.
I usually install it on a host that is not reachable from the outside, then let it poll all the devices through a VPN: a single observation point, clean perimeter. The ability to create multiple dashboards - and to filter them by user - has also let me give clients a transparent window onto their own servers. Transparency, in my experience, is always the better long-term bet.
Together with Uptime-Kuma (https://it-notes.dragas.net/2024/07/22/install-uptime-kuma-freebsd-jail/) (and the good old Nagios/Munin pair), LibreNMS lives in a FreeBSD jail on my monitoring servers and just does its job.
This post walks through a plain installation of LibreNMS on FreeBSD: package-based, no reverse proxy, no HTTPS, no fancy hardening. The goal is to get to a working setup you can build on top of.
Assumptions
- FreeBSD 15.0-RELEASE, in a jail or on a dedicated VM/host
- nginx + php-fpm + MySQL 8.4
- LibreNMS installed from the official package — not via
git clone
Installation
pkg install librenms mysql84-server python3 nginxLibreNMS currently depends on PHP 8.4. If you want to speed PHP up, install OPcache too:
pkg install php84-opcacheMySQLTwo settings need to be in place before MySQL starts for the first time. After the first start they cannot be changed without reinitializing the data directory, so it's worth getting them right now.
cd /usr/local/etc/mysqlIn the
cp my.cnf.sample my.cnf
[mysqld] section, add:innodb_file_per_table=1Now start MySQL:
lower_case_table_names=0
service mysql-server enableOn a fresh FreeBSD install, the local
service mysql-server start
root user can connect to MySQL without a password from the command line. Connect and create the database and user. I'm using password here as a placeholder - don't.mysql
CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;php-fpmEdit
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
exit
/usr/local/etc/php-fpm.d/www.conf and adjust the listen directives:listen = /var/run/php-fpm-librenms.sockThen create
listen.owner = www
listen.group = www
listen.mode = 0660
php.ini from the production sample:cd /usr/local/etcAnd set the timezone in
cp php.ini-production php.ini
php.ini:date.timezone = Europe/RomenginxSince this jail (or host) is dedicated to LibreNMS, we can rewrite the
server block in /usr/local/etc/nginx/nginx.conf directly:server {
listen 80;
#server_name yourServerName
root /usr/local/www/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$ {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
set $path_info $fastcgi_path_info;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SERVER_SOFTWARE "";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php-fpm-librenms.sock;
fastcgi_buffers 256 4k;
fastcgi_intercept_errors on;
fastcgi_read_timeout 14400;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
Now start nginx and php-fpm:service nginx enableLibreNMS configurationCopy the default config:
service nginx start
service php_fpm enable
service php_fpm start
cp /usr/local/www/librenms/config.php.default /usr/local/www/librenms/config.phpBecause we installed from the package, this file already has the right commands and paths for FreeBSD - no need to hunt down
mtr, fping, snmpwalk and friends one by one.Create the directory for RRD graphs and set ownership:
mkdir -p /var/db/librenms/rrdThen the
chown -R www:www /var/db/librenms
chmod 775 /var/db/librenms/rrd
.env file:cd /usr/local/www/librenmsEdit
cp .env.example .env
chown www .env
.env and set at least:DB_DATABASE-librenmsDB_USERNAME-librenmsDB_PASSWORD- the one you actually used (notpassword, please)
INSTALL=trueA note on permissions. The official LibreNMS documentation suggests
chown -R www:www over the entire application tree, but on FreeBSD the package already lays down sane ownership, with storage/ and bootstrap/cache/ writable by www. There's no reason to widen the rest of the codebase. If validate.php complains later about something write-related, the first place to check is:ls -la /usr/local/www/librenms/storage /usr/local/www/librenms/bootstrap/cacheNow generate the app key as
www, since the file is owned by www:su -m www -c "php artisan key:generate"And tighten
.env:chmod 600 .envRefresh the configuration cache:
su -m www -c "lnms config:clear"Web installerOpen
su -m www -c "lnms config:cache"
http://host/install and follow the steps. The validation process may fail. Refreshing the cache picks up the values written to config.php during the install:su -m www -c "lnms config:clear"When the web installer is done, edit .env again and remove the INSTALL=true line if it's still there. Leaving it in place re-exposes the installer to anyone who can reach the URL.
su -m www -c "lnms config:cache"
Polling serviceLibreNMS needs something to actually run the polls. On FreeBSD, the package ships an rc service that runs the LibreNMS dispatcher, so there's no need to manage cron entries by hand the way most Linux guides assume.
service librenms enableValidate
service librenms start
cd /usr/local/www/librenmsYou may see a couple of complaints right after starting the service - usually scheduler-related and self-resolving within a few minutes. Re-run
su -m www -c './validate.php'
validate.php once the dispatcher has had time to settle. Anything still red after that is worth investigating.Next stepsAt this point you can log into the web interface and start adding devices, configuring SNMP, and building dashboards. For that, the official LibreNMS documentation (https://docs.librenms.org/) is excellent, and there's no point in me paraphrasing it here.
https://it-notes.dragas.net/2026/05/07/monitor-your-services-with-librenms-on-freebsd/
#ITNotes #NoteHUB #freebsd #hosting #jail #monitoring #networking #ownyourdata #security #server #tutorial
0
0
0
0