Skip to content

Instantly share code, notes, and snippets.

@hmt
hmt / moodle_on_do.md
Created June 4, 2023 12:02 — forked from burningTyger/moodle_on_do.md
How To Install Moodle via git with Postgres, Nginx and PHP on an Ubuntu 16.04 VPS

How To Install Moodle via git with Postgres, Nginx and PHP on an Ubuntu 16.04 VPS

Introduction

Moodle is a common online learning platform used in many educational settings around the world. This tutorial aims at giving admins a solid and speedy foundation for serving moodle to a small to medium sized institution. The setup focuses on simple maintenance and fast updates.

Prerequisites

  • Create a small droplet with Ubuntu 16.04 (64Bit is great)
  • Follow the tutorial on setting up Ubuntu 16.04
  • git should be installed by default
@hmt
hmt / sftp-ubuntu.md
Created November 15, 2020 12:44 — forked from lymanlai/sftp-ubuntu.md
Basic tutorial for creating a SFTP-only user on Ubuntu 9.04 and greater

Adding SFTP-only user to Ubuntu Server

To add a SFTP-only user, you'll need to make sure your SSH config settings are correct, add a new user/group and set permissions for your new user. For step-by-step directions, see below. Omit sudo if you're logged in as root.

Directions

  1. Edit /etc/ssh/sshd_config and make sure to add the following at the end of the file:

     Match group filetransfer
    

ChrootDirectory %h

@hmt
hmt / README.md
Created October 30, 2020 22:48
NextCloud unter PaedML

NextCloud (19) und PaedML (7.1)

Um NextCloud erfolgreich an PaedML anzuschließen und den LDAP-Server für Authentifizierung zu nutzen, müssen folgende Einstellungen vorgenommen werden.

Diese Konfiguration verwendet zwei unterschiedliche LDAP-Konfigurationen, da sich die Schule momentan mit einer anderen Schule aus dem gleichen Schulverbund einen Server teilt. Um also vorzubeugen, dass alle Schüler alle anderen Schüler auf dem LDAP-Server "sehen", wurden die LDAP-Abfragen etwas eingeschränkt. Andere Schülen müssen wahrscheinlich weniger restriktiv an die Sache rangehen.

Ich weiß leider nicht, ob unsere Servereinstellungen generell so angelegt sind oder ob sie speziell so von unserem Dienstleister angelegt wurden, ich habe das System geerbt.

Nachdem NextCloud im Idealfall auf einer eigenen VM installiert wurde, müssen nun die Verbindungen hergestellt werden. Dazu muss zunächst die LDAP/AD-Integration als Plugin aktiviert werden.

@hmt
hmt / Readme.md
Last active December 25, 2018 22:47
schild.report

Zum Jahresende möchte ich auf schild.report hinweisen, eine neue App, die wir an unserer Schule für den Zeugnisdruck einsetzen. Sie ersetzt den Report-Designer vollständig, erzeugt Reports mit Hilfe von HTML und CSS und ist schnell. Außerdem gibt es u.a. eine Live-Vorschau beim Bearbeiten der Reports.

Neben Zeugnissen lässt die App sich selbstverständlich auch für Listen oder Serienbriefe aller Art nutzen.

Voraussetzung zum Betrieb ist die Verwendung einer MySQL-Datenbank für Schild. Die App läuft unter Windows, Linux und wahrscheinlich auch unter MacOS (ungetestet).

schild.report ist Freie Software, d.h. sie darf überall und uneingeschränkt kostenlos eingesetzt werden. Der Quellcode befindet sich unten in den weiterführenden Links.

Ziel war es, eine App zu entwickeln, die einfach zu bedienen ist, einen offenen Standard zur Reporterzeugung verwendet und damit den Austausch von Reports erheblich vereinfacht.

@hmt
hmt / app.md
Created June 17, 2018 14:46
electron report generator

electron report generator

Writing schild.report I had to find a solution for printing PDF from some sort of template.

I chose to use quasar framework as the app's foundation and decided to use its simple electron feature so that the app works natively on any desktop.

Data comes in via a simple DB api that fetches data which makes it available to Svelte templates which are similar to vue templates. The difference is that Svelte templates are built while vue is evaluated at runtime. Besides that the syntax for svelte is slightly easier in my opinion. But that was just a matter of taste.

Since the app uses electron it makes webviews available which let you run external web pages inside your app. These webpages can be anything from remote sites to local files. Here webview is used to display the rendered template, i.e. reports. Data is fed into the reports and rendered as complete documents.