Installation von Owncloud auf einem Raspberry Pi 4
von Alex Witt
Installation eines performanten Systems unter der Verwendung von lighttpd und MariaDB
Basiskonfiguration Servers
- Änderung des Hostnamens via vim
/etc/hostname - Anpassung der Datei
/etc/hosts. Ändern der Einträge des vorherigen Hostnamens - Anpassung der IP Adresse durch Bearbeitung der Datei
/etc/network/interfaces.d/eth0und Hinzufügen der folgenden Zeilen:auto eth0 iface eth0 inet static address 192.168.0.2 netmask 255.255.255.0 gateway 192.168.0.1 dns-nameservers 192.168.0.1 1.1.1.1
Grundsätzlich ist es empfehlenswert das Gerät ausschließlich via Netzwerkkabel zu verbinden. Eine Verbindung via WLAN kann instabil sein oder zu einer geringen Übertragungsrate führen.
Um WLAN und Bluetooth (Falls nicht anderweitig benötigt) zu deaktivieren müssen folgende Zeilen an die Datei /boot/config.txt angehängt werden:
dtoverlay=disable-wifi
dtoverlay=disable-bt
Anpassung der Routerkonfiguration:
- Einrichtung der Weiterleitung auf die Interne Server IP Adresse (Die Ports 80 (HTTP) und 443 (HTTPS) auf die Server IP Adresse weiterleiten)
- Einrichtung einer Address-Reservierung für die Server IP Adresse
Installation der erforderlichen Pakete
apt install lighttpd php php-cgi php-mysql php-intl php-gd php-zip php-xml php-mbstring php-curl certbot mariadb-server ddclient
Die Installation des Paktes mariadb-server muss separat nach der Installation des Paketes lighttpd durchgeführt werden, da sonst als Webserver zusätzlich das Paket apache2 installiert wird.
Einrichtung von DDNS
- Eine DDNS Domain bei einem entsprechendem Anbieter registrieren
- Die Datei
/etc/ddclient.confbearbeiten und folgenden Inhalt einfügen:
protocol=dyndns2
use=web, web=check.service.tld
server=update.service.tld
ssl=yes
login=username
password='password'
sub.domain.tld
Zertifikat via Certbot erstellen
- Falls der Port 80 durch einen Dienst genutzt wird muss dieser beendet werden (Bsp:
systemctl stop lighttpd) - Den Befehl
certbot certonly --email webmaster@domain.tld -d domain.tld - Die Option
standaloneauswählen und alle weiteren Schritte gemäß Programm ausführen - Falls in Schritt 1 ein Dienst beendet werden musste, muss dieser wieder gestartet werden (Bsp:
systemctl start lighttpd)
Einrichtung lighttpd
server.port = 80
server.username = "http"
server.groupname = "http"
server.errorlog = "/var/log/http/error.log"
accesslog.filename = "/var/log/http/access.log"
#debug.log-condition-handling = "enable"
#dir-listing.activate = "enable"
index-file.names = ( "index.php", "index.html" )
# default document root
server.document-root = "/path/to/doc/root/"
# Set HSTS for six months including all subdomains
setenv.add-response-header = ( "Strict-Transport-Security" => "max-age=15768000; includeSubdomains" )
mimetype.assign = (
".html" => "text/html",
".txt" => "text/plain",
".css" => "text/css",
".js" => "application/x-javascript",
".jpg" => "image/jpeg",
".jpeg" => "image/jpeg",
".gif" => "image/gif",
".png" => "image/png",
".svg" => "image/svg+xml",
".pdf" => "application/pdf",
"" => "application/octet-stream"
)
server.modules = (
"mod_access",
"mod_fastcgi",
"mod_cgi",
"mod_accesslog",
"mod_openssl",
"mod_redirect",
"mod_setenv"
)
fastcgi.server =( ".php" => ((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/tmp/php.socket"
)))
$SERVER["socket"] == "0.0.0.0:80" {
$HTTP["host"] == "sub.domain.tld" {
url.redirect = ("^/(.*)" => "https://sub.domain.tld$0")
}
}
$SERVER["socket"] == "0.0.0.0:443" {
ssl.engine = "enable"
ssl.openssl.ssl-conf-cmd = ("Protocol" => "-ALL, TLSv1.2, TLSv1.3")
ssl.privkey= "/etc/letsencrypt/live/sub.domain.tld/privkey.pem"
ssl.pemfile= "/etc/letsencrypt/live/sub.domain.tld/cert.pem"
$HTTP["host"] == "sub.domain.tld" {
server.document-root = "/path/to/doc/root/"
ssl.privkey= "/etc/letsencrypt/live/sub.domain.tld/privkey.pem"
ssl.pemfile= "/etc/letsencrypt/live/sub.domain.tld/cert.pem"
ssl.ca-file= "/etc/letsencrypt/live/sub.domain.tld/chain.pem"
}
}
Aktivieren des Memory Caching
apt install php-apcu php-redis redis-server
Dem Array in der config.php folgende Zeilen hinzufügen:
'memcache.local' => '\OC\Memcache\APCu', 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => [ 'host' => 'localhost', 'port' => 6379, ]
Einrichtung des cronjobs für OwnCloud
Bei der ersten Einrichtung von OwnCloud wird dem einrichtenden Nutzer empfohlen cronjobs des Systems zu nutzen. Diese können wie folgt eingerichtet werden:
vim /etc/cron.d/owncloud
Einfügen der folgenden Zeile in die Datei:
*/15 * * * * www-data php /path/to/owncloud/htdcos/occ system:cron >/dev/null 2>&1
Damit wird alle 15 Minuten system:cron von OwnCloud ausgeführt. Anschließend den Befehl systemctl restart cron.service ausführen.
Kommentare
Einen Kommentar schreiben
Sie müssen sich anmelden, um Kommentare hinzuzufügen.