.htaccess -- Login nur für Lehrer auf Webserver

Hi.
Ich habe einen Webserver, auf dem wir auch NextCloud laufen haben. Dort sollen demnächst (abgesichert mit dem LDAP-Login) auch die Stundenpläne der Kollegen landen, damit man die nicht nur auf Papier sondern auch im Netz einsehen kann. Untis kann die Pläne ja ganz schnell nach .html exportieren. Zur Absicherung auf dem Server wollte ich eigentlich mit .htaccess arbeiten. Meine Vorlage vom Server (die auf dem linuxmuster 6.1 Server auch funktioniert) wird auf dem NextCloud-Apache leider völlig ignoriert. Ich erhalte auch ohne ldap-Auth. den Zugriff auf eine Testdatei. Hat jemand eine laufende Konfiguration für einen virtualhost?

Grundsätzlich stellt sich die Frage, ob man nicht gleich NextCloud selbst zum Hochladen der Files nutzen kann, da das ja eh schon mit auf dem gleichen Server liegt. Dann wäre der Upload neuer Pläne sehr einfach. Frage ist nur, ob man so hochgeladene html-Files direkt anzeigen lassen kann (natürlich ebenfalls mit Passwortschutz). Alternativ könnte man natürlich auf diesem Weg die Kollegen davon überzeugen, endlich selbst NextCloud zu verwenden, wenn einfach dort alle relevanten Daten gelagert und geteilt sind?!?

Welchen Weg habt ihr gewählt und was hat sich bewährt?
Schöne Grüße,
Michael

Hallo Michael,
ich bin derzeit auch auf der Suche nach einer Lösung für dieses Problem. Allerdings verwenden wir das Stunden- und Vertretungsplan “Willi” (Bayern!). Mein Weg ist ein lokales Abspeichern der entsprechenden Dateien mit anschließender Dauer-Synchronisation via robocopy (Windows) bzw. rsync (Linux) mit einem NexCloud-Ordner.
Derzeit kann unser Vertretungsplan (allerdings noch als pdf-Datei) auf diese Art cloudmäßig eingesehen werden.
Vielleicht hilft dir das etwas weiter.

Bayerische Grüße
Roland

Hallo Roland.
Ja, so ähnlich könnte das auch hier laufen – allerdings habe ich gerade festgestellt, dass NextCloud bei .htm/.html-Dateien den Sourcecode anzeigt. Das ist in diesem Fall natürlich nicht das gelbe vom Ei.
Gibt’s da evtl ein Plugin oder so? Via PDF wäre auch möglich – ist das bei dir dann eine Datei oder für jeden Stundenplan eine??
Schöne Grüße – von jenseits des Weißwurst-Äquators.
Michael

Bei uns werden vier Vertretungsplan-Dateien erstellt: Schüler heute, Schüler morgen (also klassenweise sortiert) und Lehrer heute bzw. Lehrer morgen (da findet sich jeder Kollege einfacher :wink:
Über die Stundenplandatei habe ich mich noch nicht hergemacht. Derzeit liegt immer eine Datei mit den Stundenplänen aller Kollegen auf dem Server. Zusätzlich gibt es noch das Windows-Programm “WilliViewer”, das man lokal am Rechner laufen lassen kann und die Datendatei liegt in der Cloud. Das ist sehr komfortabel.
Gruß
Roland

Hallo Michael,

hast du schon ins Wiki geschaut?

https://www.linuxmuster.net/wiki/anwenderwiki:webapps:webverzeichnisse_schuetzen_mit_.htaccess-dateien

Grüße,
Sven

Lädt hier leider nicht :interrobang: Bei dir?

Hallo Michael,

ja, bei mir wird die Seite geladen.

Grüße,
Sven

Hi.
Ich greife das Thema nochmal auf … also der Weg über eine NextCloud-Freigabe ist natürlich sehr viel eleganter, wenn man daran denkt, dass der Stundenplanmacher die Dateien des öfteren aktualisieren muss. Das wäre mit dem NextCloud-Desktop-Client ein Klacks.
Es bleibt aber dabei, dass NC alle .html Files nur im Quelltext anzeigt. Im NC-Forum habe ich gelesen, dass das durchaus so gewollt ist und nicht ohne weiteres umstellbar ist (Sicherheitsfeature).
Daher wird’s bei uns evtl auch auf robocopy und einen Ordner mit html-Files hinauslaufen … ?
Schöne Grüße,
Michael

Nachtrag: Ich habe den Upload der Files jetzt über einen “Externen Speicher” (lokaler Pfad!) geregelt. Zudem kann man einen “File drop” einrichten; hier steht wie das geht!

Hallo, Michael,

eigentlich finde ich Deine Ursprungsidee am “prickelndsten”:

  1. Nextcloud-Mechanismen für den upload benutzen.
  2. Apache als Anzeige mit .htaccess-Datei.

Zu 1) kann / brauche ich nix zu sagen.
Zu 2)

Du brauchst Direktiven für Dein Wunschverzeichnis, zunächst die apache-Direktive:

NameVirtualHost *:443
<VirtualHost *:443>
  ... andere Direktiven...
<Directory Nextcloud_Verzeichnis_mit_Vertretungsplan.htm-Datei]>
 Options -Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 allow from all
 </Directory>
... andere Direktiven
</VirtualHost>

Dann das .htaccess-File, das im aufgerufenen Verzeichnis liegen muss:

AuthName "Vertretungsplan"
AuthBasicProvider ldap
AuthType Basic
AuthzLDAPAuthoritative on
AuthLDAPURL ldap://10.16.1.1/ou=accounts,dc=linuxmuster-net,dc=lokal
require valid-user

# Das ist für die digitale Anzeige auf einem Flachbildschirm in der Schule: Spezifische IPs kann man damit ohne Authentifizierung  durchlassen, hier z.B. IPs aus dem Bereich 192.168.x.y
Order deny,allow
Deny from all
Allow from 192.168
Satisfy any

Dann muss noch Dein Server zulassen, dass ein Client im Netzwerk seinen LDAP-Baum lesenderweise befragt.
Trage also in die /etc/ldap/slapd.conf auf dem Linuxmuster-Server ein:

#Limits Access:
access to attrs=sambaLMPassword,sambaNTPassword,sambaPwdLastSet,sambaPwdMustCha
       by anonymous peername.ip=DEINE_NEXTCLOUD_IP auth
       by anonymous peername.ip=10.16.1.254 auth  
       by anonymous peername.ip=10.16.1.1 auth    
       by anonymous peername.ip=127.0.0.1 auth    
       by anonymous ssf=56 auth
       by self peername.ip=127.0.0.1 write
       by self ssf=56 write
       by * none 

access to *
       by * read

(nur die eine Zeile mit dem Nextcloud, alles andere steht da schon !)
So müsste das eigentlich passen !

L.G.,

Christoph G.
P.S.
Die ldap-Geschichte muss ggf. an Deine Gegebenheiten in der Schule angepasst werden, z.B. an Deine andere Server-IP.

1 „Gefällt mir“

Hi Christoph.
Ich habe alles geprüft. Es funktioniert offenbar auch ohne diese Option (die ich einzig bisher nicht gesetzt habe). Das Anlegen unter NC eines „Externen Speichers“, bei dem ich einfach einen anderen Pfad auf dem Server gewählt habe, finde ich genial einfach. So kann der Stundenplanmacher seine Pläne in den Nextcloud-Ordner packen und alles ist sofort synchron.
Schöne Grüße,
Michael