Der Betrieb eines lokalen FreshRSS Servers ist eigentlich recht einfach und ist dieser Teil abgeschlossen, kann auf einen kompletten FreshRSS Server im lokalen Netzwerk zugegriffen werden. Im Grunde ist es eine klassische Webserver, PHP Anwendung.
NEU: Für ganz ungeduldige habe ich einen "Konsole only" Abschnitt. Da gibt es nur Befehle, keine Erklärungen.
Letzte Aktualisierung:
Generell sollten solche Dienst in einer eigenen Umgebung eingerichtet werden. Das macht nicht nur die Sicherheit, sondern auch die Wartung wesentlich einfacher. Jails können relativ einfach gesichert werden und es sind nur die Pakete installiert, die absolut notwendig sind.
Damit sieht das Setup inkl. aller optionalen Möglichkeiten so aus:
┌────────────────────────┐
│ FreeBSD │
│ ┌────────────────────┐ │
│ │ bastille/jails/web │ │
│ │ freshrss (php) │ │
│ │ ▲ │ │
LAN: 0.0.0.0:443 ──┼─┼─► nginx │ │
│ └────────────────────┘ │
└────────────────────────┘
Es wird ein eigenes Jail benötigt. Hier nehmen wir rss als Jailnamen.
Entweder mit bastile console web eine Konsole in das erstellte Jail starten, oder es erfolgt ein Login per SSH (wenn aktiviert) mit ssh USERNAME@IP oder ssh USERNAME@HOSTNAME, um dann mit su root Rechte zu erlangen.
Paketquellen sollten angepasst werden, siehe separater Artikel!
Nginx und PHP müssen bereits installiert sein, siehe separater Artikel!
Die Nginx Konfiguration wird zur besseren Verwaltung in eine eigene Datei erstellt:
/usr/local/etc/nginx/conf.d/freshrss.conf = FreshRSS Konfiguration für Nginxcat > /usr/local/etc/nginx/conf.d/freshrss.conf <<'EOF'
server {
listen 443 ssl;
http2 on;
root /usr/local/www/FreshRSS;
index index.php index.html;
location ~ \.php$ {
include fastcgi_params;
set $path_info $fastcgi_path_info;
fastcgi_split_path_info ^(/.+\.php)(/.*)?$;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param PATH_INFO $path_info;
fastcgi_pass php-handler;
}
}
EOF
Nun die Paketquelle mit pkg update aktualisieren und weitere von FreshRSS benötigten PHP Module installieren:
pkg install -y git php84-curl php84-fileinfo php84-zip php84-intl php84-mbstring
cd /usr/local/www/FreshRSS
git init && git remote add origin https://github.com/FreshRSS/FreshRSS.git && git pull origin edge
chown -R www:www /usr/local/www/FreshRSS/
Damit sind wir nun am Ende der Vorbereitungen angelangt
und alle Dienste können nun mit service php_fpm restart && service nginx restart gestartet werden.
Nun kann die "FreshRSS" Webseite geöffnet werden.
Beim ersten mal wird der Installationsassistent durchlaufen. Der ist weitestgehend selbsterklärend, wichtig ist hierbei nur SQLITE als Datenbank zu wählen.
Voilá