PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [RPi] Nextcloud Installation schlägt fehl/Apache 2 startet nicht


taddy
2019-02-08, 16:29:39
Hey Forumse,

erstmal bin ich was Linux angeht nicht gerade fit, durch endlose Versuche habe ich zwar ein paar Einblicke in die Programmierung des Zwerges, aber leider nicht allumfassend.

Also, mein Projekt:
Pihole und Nextcloud auf einem Pi laufen lassen.

Ich habe bereits Docker ausprobiert, da habe ich Nextcloud sogar zum laufen bekommen, aber nach einem Restart war die Datenbank weg (Ich vermute, dass die Datenbank im Container war und beim Restart wieder eine komplett neue Datenbank erzeugt wurde.)

Dann bin ich diesem Tut gefolgt:
https://linuxhint.com/install_nextcloud_raspberry_pi/

Soweit so gut, aber nun bin ich fast fertig und im vorletzen Befehl erzeugt der Start des Apache2 einen Fehler.

apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2019-02-08 15:07:16 GMT; 3min 7s ago
Main PID: 18204 (code=exited, status=0/SUCCESS)

Feb 08 15:07:15 raspberrypi systemd[1]: Starting The Apache HTTP Server...
Feb 08 15:07:16 raspberrypi apachectl[18986]: apache2: Syntax error on line 225 of /etc/apache2/a
Feb 08 15:07:16 raspberrypi apachectl[18986]: Action 'start' failed.
Feb 08 15:07:16 raspberrypi apachectl[18986]: The Apache error log may have more information.
Feb 08 15:07:16 raspberrypi systemd[1]: apache2.service: Control process exited, code=exited stat
Feb 08 15:07:16 raspberrypi systemd[1]: Failed to start The Apache HTTP Server.
Feb 08 15:07:16 raspberrypi systemd[1]: apache2.service: Unit entered failed state.
Feb 08 15:07:16 raspberrypi systemd[1]: apache2.service: Failed with result 'exit-code'.

Könnt ihr mir helfen, bzw mir einen Tip geben, wie ich es anstelle?
Ist das eigentlich eine sinnvolle Lösung? Auf der Nextcloud soll eigentlich nur mein Passworttresor liegen.

qiller
2019-02-08, 18:42:06
Steht doch da. Du hast nen Syntaxfehler in deiner Apache-Konfig (/etc/apache2/a <-? Log nur abgeschnitten?), in Zeile 225 :>.

PS: Wenn du Nextcloud ins Internet stellen willst, denke noch an die Verschlüsselung (z.B. mit letsencrypt und einem acme-Client deiner Wahl). Es gibt für nextcloud auch noch ne Sicherheitshinweis-Anleitung (finde den Link grad nicht :x) und im Adminbereich gibts auch eine automatische Sicherheitsanalyse, die ebenfalls die gröbsten Sicherheitsprobleme anzeigt. Die solltest du auf jeden Fall beherzigen.

PPS: Achso zur Sinnhaftigkeit kommt es halt drauf an. Vernünftig eingerichtet, auch mit DNS-Einträgen etc. ist Nextcloud auf jeden Fall ne gute Alternative für alle Datenschutz Bewussteren. Für ne PW-Datenbank reicht auch die Performance eines PI vollkommen aus. Man kann auch seine Lesezeichen (noch etwas buggy mit dem Flocus-Addon im FF), Kontakte/Kalender/Aufgaben (mit Thunderbird/Cardbook/Lightning bzw. unter Android mal den FDroid-Store installieren, wo man einige OpenSource-Sync-Tools findet) synchronisieren. Das wichtigste ist die Unabhängigkeit von großen Anbietern und den damit verbundenen Datenschutz. Ich muss aber auch sagen, Nextcloud ist keine Fire-and-Forget Geschichte. Auch hier muss man am Ball bleiben um aufkommende Sicherheitslücken durch Updates zu fixen. Für einfache Synchronisationsgeschichten reicht auch der PI aus. Wenn du allerdings häufig die Nextcloud-Webseite benutzen musst, wär ein vernünftiger Rechner wohl besser. Das gilt umso mehr, je mehr Benutzer Zugriff auf die Nextcloud bekommen sollen.

taddy
2019-02-09, 12:23:01
Hier ist mal der Ausschnitt der Datei apache2.conf

Der komplette Fehlermeldung war
"apache2: Syntax error on line 225 of /etc/apache2/apache2.conf: Syntax error on line 6 of /etc/apache2/sites-enabled/nextcloud.conf:"



#
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>


#
# The following directives define some format nicknames for use with
# a CustomLog directive.
#
# These deviate from the Common Log Format definitions in that they use %O
# (the actual bytes sent including headers) instead of %b (the size of the
# requested file), because the latter makes it impossible to detect partial
# requests.
#
# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
# Use mod_remoteip instead.
#
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# Include of directories ignores editors' and dpkg's backup files,
# see README.Debian for details.

# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

apache2.conf:
In Zeile 225 steht also dann IncludeOptional sites-enabled/*.conf

nextcloud.conf:
<IfModule mod_dav.c> Dav off </IfModule>

Was mich wundert ist, dass ich dort garnicht rumgefuscht habe und im Tutorial auch nichts steht, dass man in dieser Datei etwas eintragen soll.

Zum Thema Sicherheit usw.: Geplant ist, diesen Server in meinem LAN zu betreiben und ich nur über VPN auf diesen zugreifen möchte.

Da ich nicht 100% IMMER sicherstellen kann, alles auf den allerneusten Stand zu halten

Simon Moon
2019-02-09, 19:17:50
Was mich wundert ist, dass ich dort garnicht rumgefuscht habe und im Tutorial auch nichts steht, dass man in dieser Datei etwas eintragen soll.



Gibt verschiedene Möglichkeiten. Teilweise ändern sich eben die zu benutzenden Einträge in den Conf-Files, neue kommen hinzu, alte werden überflüssig usw. Tutorials bilden da halt immer nur eine funktionierende Konfiguration zu einem gewissen Zeitpunkt mit spezifischen Versionen ab. Meist klappt das natürlich auch noch später und mit anderen Versionen, aber eben nicht immer. Generell würd ich in solchen Fällen die Man-Pages konsultieren. Gerade wenn man etwas sicherheitsrelevantes macht, schadet es nicht, auch zu wissen was man da konfiguriert, statt nur blind einer Anleitung zu folgen.


Hier schätze ich mal, dass bei "IncludeOptional sites-entabled/*.conf" der Pfad vielleicht absolut angegeben werden sollte. Also z.b. "/etc/apache2/sites-enabled/*.conf" (wenn das der ort ist, wo die conf Files der aktivierten Seiten sind) - aber ich kenn mich mit apache nicht aus, ist auch mögich, dass relative Pfade akzeptiert werden und er von /etc/apache2/ als standard ausgeht - wie gesagt, man pages konsultieren (oder hoffen, dass es jemand dir vorkäut und du dann trotzdem nicht weisst, wieso es nun funktioniert)

qiller
2019-02-09, 20:47:28
Also Line 6 der nextcloud.conf ist im Tutorial folgendes:

<Directory "/var/www/nextcloud/">

Eventuell nochmal genau die config überprüfen. Kann im Tutorial erstmal keinen groben Fehler finden. Meine nextcloud.conf hat im Prinzip dieselben Einträge - die kommen nämlich aus der nextcloud-Beispiel-Config von der Nextcloud-Webseite.

Zum VPN: Kann man natürlich so machen, aber auch die VPN-Software muss mal aktualisiert werden. Außerdem verliert man bei Einsatz von VPN die bequeme, automatische Synchronisierung über mehrere Geräte hinweg. Bei ner einfachen PW-Datenbank kann man das sicherlich noch machen, aber wenn du auch die anderen Funktionen von nextcloud sinnvoll nutzen möchtest, kommst du um HTTPS ohne VPN nicht rum.

Simon Moon
2019-02-09, 23:51:17
Zum VPN: Kann man natürlich so machen, aber auch die VPN-Software muss mal aktualisiert werden. Außerdem verliert man bei Einsatz von VPN die bequeme, automatische Synchronisierung über mehrere Geräte hinweg.


Wieso sollte man die verlieren? :confused:

qiller
2019-02-10, 01:03:22
Lässt du bei deinem Smartphone die VPN-Verbindung dauerhaft aktiv? Ich mein gut, kann man natürlich auch machen, aber ob sich das dann positiv auf die Akkuleistung auswirkt? Obwohl, käme wohl tatsächlich auf nen Versuch an. Hab so ein VPN-Laufzeittest noch nicht selber durchgeführt.

Könnte auch gut sein, dass es bei manchen Geräten problematisch mit VPN ist. Einige Geräte (bzw. VPN-Apps) kommen mit Split-Routing nicht klar und dann geht dein gesamter Traffic immer durch die VPN-Verbindung. Je nach Upload des VPN-Anschlusses ist dann deine Geschwindigkeit eingegrenzt.

Simon Moon
2019-02-10, 01:41:30
Lässt du bei deinem Smartphone die VPN-Verbindung dauerhaft aktiv? Ich mein gut, kann man natürlich auch machen, aber ob sich das dann positiv auf die Akkuleistung auswirkt? Obwohl, käme wohl tatsächlich auf nen Versuch an. Hab so ein VPN-Laufzeittest noch nicht selber durchgeführt.



Wenn er sowieso noch PiHole am laufen hat, wieso auch nicht? Dann hat er diesen Service auch auf seinem Smartphone dauerhaft. Wie sich die VPN auf die Akkuleistung auswirkt, wüsst ich jetzt auch nicht. Tendenziell würd ich hier dann auf Wireguard setzen, das dürfte nicht merklich overhead erzeugen.



Fänd ich zumindest einfacher, als mich mit DynDNS / NAT rumschlagen, damit die Owncloud ein Zertifikat bekommt, wenn die VPN eh schon aufgebaut ist.

qiller
2019-02-10, 02:07:29
Fänd ich zumindest einfacher, als mich mit DynDNS / NAT rumschlagen, damit die Owncloud ein Zertifikat bekommt, wenn die VPN eh schon aufgebaut ist.

Mit DynDNS und NAT darfst du dich auch bei einer VPN-Lösung rumschlagen :F oder wie sollen die VPN-Clients den VPN-Server übers Internet finden?^^ Und ob IPSec/IKEv2 oder OpenVPN einfacher einzurichten sind als ein HTTPS-VHost im Apache und letsencrypt per ACME-Client, mag ich nicht beurteilen.

Aber egal, wenn VPN für ihn einfacher ist und er mit seinen Endgeräten keinen Stress damit hat, why not. VPN ist auf jeden Fall die sicherere Variante. Aber Sicherheit steht nicht immer und überall an vorderster Stelle. Stell dir einfach mal vor, du willst die Nextcloud auch für unbedarfte Familienmitglieder einrichten. Da wird es schwierig, wenn du mit Wörtern wie "Zertifikat" oder "VPN" um dich wirfst. Einen HTTPS-Link anklicken und sich mit Login/Passwort einloggen, das kriegen die meisten hin, weil sie es auch von anderen Webseiten kennen.

Simon Moon
2019-02-10, 03:45:51
Mit DynDNS und NAT darfst du dich auch bei einer VPN-Lösung rumschlagen :F oder wie sollen die VPN-Clients den VPN-Server übers Internet finden?^^ Und ob IPSec/IKEv2 oder OpenVPN einfacher einzurichten sind als ein HTTPS-VHost im Apache und letsencrypt per ACME-Client, mag ich nicht beurteilen.


Darum lieb ich ja Wireguard - mit implizitem IP-Roaming und keepalive Funkion. Definitiv einfacher einzurichten.

qiller
2019-02-10, 11:45:40
Kannt ich noch gar nicht. Aber wenn ich hier sowas überfliege:

http://www.linux-magazin.de/ausgaben/2018/01/wireguard/2/

... dann sieht zwar die Einrichtung selber einfacher aus. Aber mit NAT/DynDNS musst du dich auch hier rumschlagen.

Sieht auf jeden Fall interesssant aus. Sollte man sich mal anschauen :>.

taddy
2019-02-10, 13:50:25
So ich melde mich mal, um Apache kümmere ich mich gleich.

Zur VPN/Android Geschichte. Ich habe mir VPNCilla besorgt, damit wird eine VPN immer aufgebaut, wenn man nicht im definierten WLAN ist.

Sehr einfach einzurichten und läuft problemlos. Ein erhöhten Stromverbrauch ist mir nicht aufgefallen, wäre mir auch nicht ganz klar. Warum sollte sich das ändern? Evtl die Verschlüsselung? Die Handy-SOC sind doch so aufgepumpt, dass die völlig überdimensioniert sind.

So nun logge ich mich mal ins SSH ein

lumines
2019-02-10, 14:10:52
Sehr einfach einzurichten und läuft problemlos. Ein erhöhten Stromverbrauch ist mir nicht aufgefallen, wäre mir auch nicht ganz klar. Warum sollte sich das ändern? Evtl die Verschlüsselung? Die Handy-SOC sind doch so aufgepumpt, dass die völlig überdimensioniert sind.

Du stellst dir das nicht ganz richtig vor. Jede Operation auf dem SoC deines Smartphones saugt am Akku. Der Stromverbrauch ist nicht konstant, sondern hoch variabel und abhängig von der Last auf dem SoC.

Moderne SoCs können allerdings AES in Hardware beschleunigen, von daher kann es gut sein, dass das für dich praktisch keinen Unterschied macht. Du kannst dein Smartphone heute vollverschlüsseln, ein VPN laufen lassen und ausschließlich per HTTPS surfen und würdest keinen spürbaren Unterschied zu unverschlüsselten Verbindungen merken.

Der Vorteil bei Wireguard ist nur, dass es einfach einzurichten ist, Roaming kann und statt AES auf ChaCha20 setzt, was auch auf SoCs ohne AES-Beschleunigung relativ schnell und sehr sicher ist. AES in Software ist sicherheitstechnisch nicht optimal und spürbar rechenintensiver -- gerade auf Smartphone-SoCs.

taddy
2019-02-10, 16:00:08
Moderne SoCs können allerdings AES in Hardware beschleunigen, von daher kann es gut sein, dass das für dich praktisch keinen Unterschied macht. Du kannst dein Smartphone heute vollverschlüsseln, ein VPN laufen lassen und ausschließlich per HTTPS surfen und würdest keinen spürbaren Unterschied zu unverschlüsselten Verbindungen merken.

Der Vorteil bei Wireguard ist nur, dass es einfach einzurichten ist, Roaming kann und statt AES auf ChaCha20 setzt, was auch auf SoCs ohne AES-Beschleunigung relativ schnell und sehr sicher ist. AES in Software ist sicherheitstechnisch nicht optimal und spürbar rechenintensiver -- gerade auf Smartphone-SoCs.

Ich habe nun ein Lenovo P2 und ab Montag/Dienstag ein Huawai P20 Pro, die haben ja AES verbaut.
Mit WireGuard habe ich mich noch nicht auseinander gesetzt, möchte nun nicht noch mehr auf dem Pi laufen lassen, endlos belasten will ich das Ding nun auch nicht.

Aber zurück zum RPi Problem:

Ich habe den Fehler gefunden. Es war ein simpler Copy&Paste Problem.

Mein SSH Client hat die Formatierung der Nextcloud.conf zerhauen, nachdem ich die Config von Hand in die genannte Formatierung gebracht habe funktioniert nun alles.

Ist mir beim Aufsetzen leider nicht aufgefallen und auch später nicht mit der genannten Config verglichen. Erst später als Qiller "seine" Zeile 6 zitiert hat, ist mir aufgefallen, dass es da ein Problem gibt.

Nun habe ich die Nextcloud auf Port 8080 umgebogen, damit die Pi-Hole auf 80 laufen kann.
Ich danke euch :D

So nun können wir uns ausführlich um die Sinnhaftigkeit meiner Idee unterhalten

lumines
2019-02-10, 16:15:52
Mit WireGuard habe ich mich noch nicht auseinander gesetzt, möchte nun nicht noch mehr auf dem Pi laufen lassen, endlos belasten will ich das Ding nun auch nicht.

Wireguard ist auf dem Pi schneller als IPSec und OpenVPN mit AES, weil praktisch keins der Betriebssysteme für den Pi gegen ARMv8 kompiliert ist. Jedenfalls war das mein letzter Stand.

Ich weiß jetzt natürlich nicht, was du für ein OS benutzt, aber in Debian Stretch kannst du für HTTPS / TLS auch ChaCha20 benutzen. Falls dir die Konfiguration per VPN zu aufwendig wird.

Hier kannst du dir eine Konfiguration erzeugen lassen: https://mozilla.github.io/server-side-tls/ssl-config-generator/

Mozilla bevorzugt für die "moderne" Einstellung Ciphersuites mit AES-GCM und 256 Bit. Man kann natürlich selbst die Reihenfolge ändern und ChaCha20 bevorzugen:

SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256

Nur so als Tipp, weil der Pi mit AES schon sehr lahm sein kann.

taddy
2019-02-10, 16:28:30
Wireguard ist auf dem Pi schneller als IPSec und OpenVPN mit AES, weil praktisch keins der Betriebssysteme für den Pi gegen ARMv8 kompiliert ist. Jedenfalls war das mein letzter Stand.

Ich weiß jetzt natürlich nicht, was du für ein OS benutzt, aber in Debian Stretch kannst du für HTTPS / TLS auch ChaCha20 benutzen. Falls dir die Konfiguration per VPN zu aufwendig wird.

Hier kannst du dir eine Konfiguration erzeugen lassen: https://mozilla.github.io/server-side-tls/ssl-config-generator/

Mozilla bevorzugt für die "moderne" Einstellung Ciphersuites mit AES-GCM und 256 Bit. Man kann natürlich selbst die Reihenfolge ändern und ChaCha20 bevorzugen:

SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256

Nur so als Tipp, weil der Pi mit AES schon sehr lahm sein kann.

Das VPN habe ich mit meiner Fritzbox realisiert, da hat der Pi gar keine Aktien drin

qiller
2019-02-10, 19:53:41
Irgs, von den Plasterouter-VPNs halte ich ja nicht so viel. Das fängt schon bei der niedrigen Entropie für die Zertifikate an. Wobei ich jetzt gar nicht weiß, ob die FB sowas überhaupt macht. Ist glaub ich nur eine symmetrische Verschlüsselung mit PSK, wenn ich das richtig sehe. Ich mach das lieber über unsere Firewall-Distribution. Kann das aber verstehen, wenn man für zu hause eine einfachere Lösung in Betracht zieht. Kenn mich aber zu wenig mit dem Fritz VPN aus, vielleicht ist es besser als der Plasterouter-Ruf suggeriert.