Raspberry pi kodi webbrowser

Het is nog altijd wachten op een Raspberry PI KODI webbrowser. Ocelot van OSMC is nog niet beschikbaar en een andere oplossing is niet voorhanden.

De raspberry PI is inmiddels bijna een volwaardige computer ter grootte van een creditcard. Je kunt deze voor veel dingen gebruiken zoals voor cloudserver, domoticaserver, downloadserver, samba server, mediaserver, vpn server, beveiligingscamera, robot en nog veel meer. Hij wordt ook veel toegepast als HTPC.

De raspberry pi heeft als HTPC veel voordelen maar ook zijn er nog wel enkele beperkingen. Als je de Raspberry PI bijvoorbeeld gebruikt als HTPC dan installeer je hier vaak een KODI distributie op zoals OpenElec, OSMC (voorheen Raspbmc) of misschien wel Xbian. Een van de belangrijkste beperkingen van KODI in combinatie met de Raspberry PI is dan toch het gemis van een webbrowser.

Nu zijn er verschillende manieren bedacht om dit gebrek op te lossen. Er is bijvoorbeeld een plugin ‘Chrome launcer’. Perfect zou je denken, vanuit KODI chrome gebruiken als browser en dan alle online content benaderen! Helaas Google ondersteund armf (Raspberry PI platform) niet langer en dus werkt het niet op een Raspberry PI. Ook Chromium werkt dus niet meer. Nu is er wel een soort ‘hack’. Je kunt een oude aangepaste versie van chromium installeren via ingewikkelde opdrachten, maar een ‘echte’ oplossing is er nog niet.

Een andere oplossing is om Raspbian te installeren, in Raspbian KODI te installeren en zo KODI te gebruiken en steeds te ‘switchen’ van KODI naar Raspbian wanneer je een browser wilt gebruiken. Een echte mooie oplossing is dit echter niet. Het liefst wil je een geïntegreerde browser in KODI.

Een veelbelovende oplossing is de in 2015 beloofde webbrowser Ocelot van OSMC. Helaas is de ontwikkeling hiervan uitgesteld en is deze tot op heden nog niet uitgebracht. Het is dus nog altijd wachten op een Raspberry PI KODI webbrowser. Jammer, want een geintegreerde webbrowser is volgens mij echt een ‘killer feature’ voor een Raspberry PI KODI mediacentre.

 

ownCloud log in Logwatch deel 2

Wanneer je ownCloud gebruikt als eigen cloud zul je er ook snel achter komen dat je nog steeds moet inloggen om de ownCloud log te bekijken. Daarvoor is deze post. Het geeft antwoord op de vraag: “Hoe zorg ik dat het ownCloud log in Logwatch wordt opgenomen?”.

Het antwoord is uiteindelijk vrij simpel, maar ik heb het volledige antwoord nog nergens kunnen vinden. Daarom deze instructie. Omwille van de lengte is deze in twee delen opgesplitst. Het eerste deel gaat over het inrichten van ownCloud. Het tweede deel gaat over het inrichten van Logwatch zodanig dat deze het ownCloud log meeneemt. Dit is deel 2, deze gaat er vanuit dat je ownCloud log in Logwatch deel 1 reeds doorlopen hebt.

Deel 2: ownCloud log in Logwatch opnemen

Hier wordt ervan uitgegaan dat de ownCloud server draait op Raspbian, zijn deze instructies ook daar primair voor bedoeld. Waarom? De Raspberry kost maar 30 euro en draait op 5 Watt. Reken wel mee dat je een of meer SD kaarten, een voeding, een kastje en waarschijnlijk een harde schijf nodig hebt, dus kom je in totaal op meer uit. Maar hoe krijg je nu die ownCloud log in Logwatch?

Logwatch leest de scripts uit in /usr/share/logwatch/scripts/services/. Als je hierin een bestand plaatst met de naam owncloud en met een juist script erin, dan wordt deze opgenomen in de email. Simpel! Kopieer een bestaand script en pas deze aan zodat het ownCloud log wordt uitegelezen en in Logwatch wordt uitgespuugt.

2a. waar staat het script?

nano /etc/logwatch/conf/logfiles/owncloud.conf

# The LogFile path is relative to /var/log by default.
# You can change the default by setting LogDir.
LogFile = /var/log/owncloud/*.log

# This enables searching through zipped archives as well.
Archive = /var/log/owncloud/*.gz

# Expand the repeats (actually just removes them now).
*ExpandRepeats

2b. wat moet in de email?

nano /etc/logwatch/conf/services/owncloud.conf

# The title shown in the report.
Title = “ownCloud”

# The name of the log file group (file name).
LogFile = owncloud

2c. welke regels wil je zien?

Hier is een eenvoudig voorbeeld voor een script dat het volledige log van de voorgaande dag in de email opneemt:

#!/usr/bin/perl

#ownCloud standard environment variables
$DateRange = $ENV{‘LOGWATCH_DATE_RANGE’} || yesterday;

if ($DateRange =~ /yesterday/) {
$epoc = time();
$epoc = $epoc – 24 * 60 * 60; # one day before of current date.
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($epoc);
$DateString = sprintf(“%04d-%02d-%02d”, $year+1900, $mon+1, $mday);
$DateString = $DateString.”T”;
}

while (defined($ThisLine = <STDIN>)) {
$ThisLine =~ s/\\//g;
$ThisLine =~ s/%20/ /g;
$FullLog{$ThisLine}++;

#filter for datarange yesterday
if ( ($DataRange = yesterday) and ($ThisLine !~ /$DateString/) ) {
#don’t care about these
}
else {
# Report any unmatched entries…
chomp($ThisLine);
$Unmatched{$ThisLine}++;
}
}

if (keys %Unmatched) {
print “\n**Unmatched Entries**\n”;
foreach $ThisOne (keys %Unmatched) {
print ” $Unmatched{$ThisOne} Time(s): $ThisOne\n”;
}
}

exit(0);

Nu heb je het ownCloud log in Logwatch opgenomen. Maar het kan nog beter toch?

2d. maak het leesbaar

Het script in kale vorm plaatsen is een relatief simpel klusje. Als je simpelweg het gehele log wilt laten uitspugen, dan is dit gelukkig niet moeilijk. Het bovenstaande script laat het volledige log in de email meesturen en haalt een aantal ‘onleesbare’ tekens eruit (de \ en de%20) en vervangt deze.  Echter om de gegevens in een beter interpreteerbare vorm te krijgen zul je nog wat moeten tweaken. Dit is nog ‘work in progress’.

Hierbij kunnen de volgende linux instructies van pas komen:

Test het script:

cat /owncloud/owncloud.log | perl /usr/share/logwatch/scripts/services/owncloud

Test logwatch:

logwatch –detail high –mailto name@domain.com –service all –range yesterday

 

 

ownCloud log in Logwatch deel 1

Wanneer je ownCloud gebruikt als eigen cloud zul je er snel achter komen dat je nog steeds moet inloggen om het ownCloud log te bekijken. Daarvoor is deze post. Het geeft antwoord op de vraag:

“Hoe zorg ik dat het ownCloud log in Logwatch worden opgenomen?”.

Het antwoord is uiteindelijk vrij simpel, maar ik heb het volledige antwoord nog nergens kunnen vinden. Daarom deze instructie. Omwille van de lengte is deze in twee delen opgesplitst. Dit eerste deel gaat over het inrichten van ownCloud. Het tweede deel gaat over het inrichten van Logwatch zodanig dat deze het ownCloud log meeneemt. Lees het vervolg in ownCloud log in Logwatch deel 2!

Voorwaarde: een server met ownCloud en Logwatch

Over het bouwen van een ownCloud server en het installeren en configureren van Logwatch is veel informatie te vinden op het internet. Maar niet hoe je het ownCloud log in Logwatch opneemt. Daarom wordt hier niet ingegaan op bouwen van een server met ownCloud en Logwatch. Dit is de basis, als je dit kunt, dan is het configureren van Logwatch wat hierna wordt behandeld zeker binnen bereik.

Deel 1: ownCloud log directory

In ownCloud kun je op twee manieren de logs laten wegschrijven. Standaard worden deze in een afzonderlijke directory geplaatst (data directory). Maar het is ook mogelijk om deze in het systeemlog op te laten nemen. In dit geval wordt ervan uitgegaan dat het logbestand in een afzonderlijke directory worden geplaatst, /owncloud/owncloud.log

Stap 1a: zet de rechten goed

Zorg dat je webserver bij het owncloud log kan.

chown www-data:www-data /owncloud

chmod 770 /owncloud

chmod 660 /owncloud/owncloud.log

Stap 1a: owncloud.conf

Voeg de locatie van je log toe in het owncloud configuratie bestand.

nano /var/www/owncloud/config/owncloud.conf

‘logfile’ => ‘/owncloud/owncloud.log’,

Stap 1c: log rotatie

Omdat het roteren van logs door het programma logrotate specifieke rechten vereist, heb ik ervoor gekozen een cronjob aan te maken waarin het log dagelijks wordt geroteerd:

nano /etc/cron.daily/00logwatch

#!/bin/sh
DATE=`date +%Y%m%d`
logwatch –detail high –mailto name@domain.com –service all –range yesterday
mv /var/log/owncloud/owncloud.log /var/log/owncloud/owncloud$DATE.log
gzip /var/log/owncloud/owncloud$DATE.log