Beiträge von compoman

    Hallo rws,


    Danke - ja habe ich natürlich auch gemerkt, schon ein wenig ärgerlich. Ich schließe daraus, dass man die Qnap Apps am besten einfach so läßt wie sie sind und es Qnap überlässt damit zu machen was sie wollen.


    Und richtig nginx ist eine Alternative. Allerdings habe ich mit nginx irgendwie Probleme gehabt auf das Qnap direkt zuzugreifen, daher habe ich es mit traefik gelöst, traefik gibt es als App für die Qnap, es kommt direkt mit Letsencrypt Verschlüsselung, hat ein nettes Dashboard und das ging gefühlt sogar noch besser und daher will ich es hier gerne teilen.


    Hier meine Anleitung...


    Wie immer zuerst der Disclaimer, wer die Anleitung nachmacht tut dies auf eigene Gefahr.


    Falls nicht schon vorhanden tragen wir uns Qnapclub.eu als weiteres Apparchiv ein. Eine Anleitung dazu findet man unter https://qnapclub.eu/de/howto/1 . Von dem Qnapclub App-archiv installieren wir uns die App Traefic (ich habe Traefic 2.3.1.0 installiert).


    Zuerst machen wir uns ein Verzeichnis für unsere Konfigurationsdateien, zum Beispiel mit dem Laufwerksnamen 'myApps' und dem Verzeichnis 'traefik'. Als Ports wählen wir 8500 bis 8502 und mit diesen Daten erzeugen wir die Datei 'traefik.toml' in dem Verzeichnis. Diese sieht wie folgt aus



    Wie man sieht nutzen wir auf der Qnap den Port 8501 für https Zugriffe. Dieser Port muss also im eigenen Router von aussen weiter geleitet werden. Im Detail den externen Port 443 auf 8501 und den Port 80 für die Letsencrypt Identifizierung auf 8500 auf der Qnap.


    Wie man an der letzten Zeile erkennt habe ich die Services selbst in eienr Extradatei 'traefik-dynamic.toml'. Hier ein Beispiel für den Qnap-Dienst. Weitere Dienste kann man einfach durch Hinzufügen erzeugen. Ein Service besteht immer aus 3 Teilen. Zuerst der 'http.services', dann optional die 'http.middleware' die z.B. Adressen verändern kann und zuletzt der 'http.router' der externe Anfragen an den lokalen Service umleitet.


    Hier das Beispiel für die 'traefik-dynamic.toml':


    Im oberen Beispiel muss man jetzt noch die lokale IP anpassen und den myQnapcloud Hostnamen anpassen.


    Das wars, jetzt startet man traefik mit ssh Befehl auf dem Qnap mit dem Befehl:

    Code
    /usr/bin/traefik --configFile=/share/myApps/traefik/traefik.toml >> /share/myApps/traefik/traefik.log &


    Und man kann ausprobieren, es sollte alles klappen. Das Dashboard erhält man unter http://IP_der_Qnap:8502


    Jetzt müssen wir schauen, dass traefic auch immer schön nach einem Neustart gestartet hat. Analog zu oben habe ich alle 5 min einen Job laufen der Überprüft, ob bestimmt Services laufen, und falls nicht diese zum Beispiel bei einem Neustart wieder startet. Die Zeilen in meinem Prüfskript für Trafik ist:


    Code
    if ( ps | grep "traefik" | grep -v grep )
    then
    echo "traefik is running..."
    else
    echo "traefik NOT running! Restarting..."
    /usr/bin/traefik --configFile=/share/myApps/traefik/traefik.toml >> /share/myApps/traefik/traefik.log &
    echo "traefik restarted"
    /sbin/write_log "traefik neu gestartet." 2
    fi

    Das war's. Viel Spaß damit.


    Ingo

    Hallo Zusammen,


    ich habe das Zurücksichern gerade benötigt und dabei habe ich entdeckt, dass hier noch eine wichtige Info fehlt. Das Zurückspielen klappt übrigens fast so wie oben beschrieben, allerdings muss man den ganzen Pfad zu der Datei angeben, da sie ja von innerhalb des Containers gelesen werden muss. Sagen wir das sql File liegt unter dem Namen file.sql im Hauptverzeichnis des users compoman, dann lautet der Befehl zum Zurückspielen wie folgt:


    Code
    /share/CACHEDEV1_DATA/.qpkg/container-station/bin/system-docker exec NotesStation3 sh -c "/usr/bin/mysql -u root < /share/homes/compoman/file.sql"


    Die Sicherung und Wiederherstellung klappt und hat mir gerade gute Dienste erwiesen.


    Ingo


    P.S.

    Eins noch, damit die eingebundenen Bilder, pdfs etc. auch gesichert werden, muss das Verzeichnis


    /share/CACHEDEV1_DATA/.qpkg/NotesStation3/storage/note


    ebenfalls gesichert und bei Bedarf zurückgespielt werden.


    Das wars. Viel Erfolg

    Hallo Zusammen,


    Ich war auf der Suche nach einem einfachen Weg um einige Webservices sicher per Qnap extern bereit zu stellen. Erst hatte ich an einen extra Reverse Proxy gedacht, aber das fühlte sich falsch an. hier eine kurze Beschreibung die anderen vielleicht hilft, wie ich es bei meiner TVS-471 aufgesetzt habe.


    Bevor wir starten ein kleiner Hinweis. Ich beschreibe hier meine Schritte nach bestem Wissen und Gewissen, aber jeder der es nachmachen will tut dies auf sein eigenes Risiko.


    Hier nun die Schritte:

    - Zuerst müssen wir auf dem NAS myqnapcloud mit allem drum und dran einrichten. Dazu hat Qnap schon einige Anleitungen geschrieben eine Internetsuche zum Beispiel nach "Zugriff via myQNAPcloud einrichten" sollte helfen.


    Jetzt wäre es super man könnte in QTS weitere Einträge für den Zugriff einrichten um zum Beispiel über das Unterverzeichnis /our_test/ per Passwort auf den http Server unter 192.168.2.4 Port 80 zugreifen zu können. Aber leider gibt es diese Option nicht. Aber mit der unteren Anleitung geht es doch und die Anpassungen überleben auch einen Systemneustart.


    Ein Risiko besteht natürlich, da wir dafür den System Proxy anpassen müssen. Daher ist es wichtig einen ssh Zugriff immer aktiv zu lassen damit man im Bedarfsfall per Kommandozeile die Änderungen einfach zurücknehmen kann. Mehr dazu am Ende dieser Anleitung.


    - Der System Webserver basiert auf Apache, daher müssen wir 2 zusätzliche config Files erstellen und auf dem NAS ablegen die auch nach einem Neustart noch vorhanden sind. Man kann dafür jedes Fileshare auf dem NAS nutzen. Ich habe dafür ein eigenes Fileshare mit dem Namen myApps angelegt.

    - Da wir unsere Zugriffe per Passwort schützen wollen, legen wir eine sogenannte htpasswd Datei an. Im Internet gibt es dafür tools - schaue einfach nach 'htpasswd generator'.

    - Danach benötigen wir noch ein Config File mit den Eintragungen für unseren Service. Für das Beispiel hier sagen wir wir speichern dieses File unter dem Namen apache-sys-proxy-ssl.conf

    - Der Inhalt muss der Notation für Apache Reverse Proxy Server entsprechen, hier ein Beispiel um wie oben als Beispiel gewählt einen http Webserver auf Port 80 und der ip Adresse 192.168.2.4 via Subdirectory 'our_test' bereit zu stellen:


    - Nun muss diese Konfigurationsdatei noch als neue Zeile in der Original Konfiguration eingefügt werden, dazu die Zeile


    Code
    Include /share/myApps/proxy-extension.conf

    ans Ende der Datei /etc/apache-sys-proxy-ssl.conf einfügen und der Server via des folgenden Kommandos neu starten. Das Neustarten geht mit dem Kommando


    Code
    /etc/init.d/Qthttpd.sh restart

    Das wars und man kann es wie folgt testen. Einfach die folgende Adresse aufrufen.


    Code
    https://your_name.myqnapcloud.com/our_test/

    - Allerdings würde diese Erweiterung bei jedem Neustart verloren gehen. Dazu lassen wir einen kleinen Cronjob alle 5 Minuten prüfen ob die Erweiterung noch ok ist. Falls nicht wird die Zeile wieder eingefügt und der Server neu gestartet.

    - Das dazugehörige Batch File ist



    - Mit dem Kommando


    Code
    chmod +x /share/myApps/check_extensions.sh

    machen wir das Batchfile ausführbar.


    Jetzt müssen wir nur noch folgende Zeile in die Crontab eintragen


    Code
    */5 * * * * /share/myApps/check_extensions.sh > /dev/null 2>/dev/null

    Wie man eigene Einträge permanent in die Qnap einträgt findet man im Internet.


    - Wie oben schon beschrieben sollte man einen shh Zugriff offen haben. Im Fall von Problemen geht man per SSH auf das NAS, löscht den Eintrag aus der Crontab und startet das NAS neu. Dann sollte alles wieder OK sein.


    Das war's gebt Bescheid ob die Beschreibung geholfen hat.

    Hallo Zusammen
    und Danke. bzgl. Restore, dass sollte tatsächlich analog der Antwort von rednag gehen, allerdings wieder über den system-docker prozess. Dabei braucht man die Datenbank nicht anzugeben, da diese ggf. erzeugt wird.


    Code
    # Entpacken der Datei
    gunzip <Sicherungsdatei>
    #und hier das einspielen
    /share/CACHEDEV1_DATA/.qpkg/container-station/bin/system-docker exec NotesStation3 sh -c "/usr/bin/mysql -u root < <entzippte_Sicherungsdatei>"

    Ich werde das demnächst mal ausprobieren. Mir war erst mal das Sichern wichtig und als ich mir die SQL Dateien angesehen habe, habe ich meine Notizen wiedergefunden, daher weiss ich, dass das Sichern schon mal funktioniert.
    VG
    Ingo

    Hallo Zusammen,


    als ich vor kurzen vor der Überlegung stand auf Notes Station 3 zu wechseln habe ich die Funktion eines automatischen Sicherns der Notizen sehr vermisst. Mir ist es in der Vergangenheit schon passiert, dass ich die Notizen durch eine unvorsichtige Aktion auf dem NAS verloren habe. In der Notes Station 2.xx konnte man als Admin auch die Notizänderungen regelmäßig automatisch sichern, aber unter Notes Station 3 gibt es das nicht mehr. Ich habe mir das Thema daher angesehen und hier ist das was ich herausgefunden habe: Notes Station 3 nutzt die ContainerStation und bringt dabei seine eigene mySQL Datenbank mit, daher muss man etwas anders als üblich vorgehen um automatisiert einen SQLdump der Notes Station 3 Datenbank zu sichern. Man muss das über die system-docker Funktion machen. Folgende Befehle via cronjob jede Nacht aufgerufen sichern mir die NotesStation3 Datenbank regelmäßig:


    Code
    DATE=`date +"%y-%m-%d_%H%M"`
    BACKUPFILE=<Sicherungsverzeichnis>/mysql-backup-$DATE.sql
    /share/CACHEDEV1_DATA/.qpkg/container-station/bin/system-docker exec NotesStation3 sh -c "/usr/bin/mysqldump --all-databases" > $BACKUPFILE
    gzip $BACKUPFILE

    Vielleicht bringt ja Qnap bald in Notes Station 3 wieder die Sicherungsfunktion, aber für mich passt das erst mal.


    Viele Grüße


    Ingo