Debian - Apache - PDF Dokumentenserver
Anforderung
Mit der Zeit sammelt sich einiges an PDF Dokumenten an. Diese Dokumente liegen alle auf einem zentralen Punkt und werden per Freigabe an die Clients zur
Verfügung gestellt. Geräte zum lesen sind heute eher Tablet (Apple, Android, Windows8) als ein klassischer PC.
Speicherkarten sind schon wegen der mangelnde Kapazität kein Thema. Dazu kommt das ältere Tablets keine Updates mehr bekommen und daher viele Apps nicht mehr laufen.
Die Hersteller wollen das wir uns immer etwas neues kaufen sollen.
Für Apple gibts eigentlich keine lokalen Daten - alles Cloud usw.
Für mich gibts nur lokale Daten. Meine eigenen Daten sind immer lokal - keine Cloud.
Für einen PC ist das alles kein Thema, aber die handlichen Tablet Geräte heute
wollen haben keinen Dateimanager, und das 'mounten' einer lokalen Netzwerk Ressource ist vom Betriebsystem nicht gewünscht.
Apple und Android können nur sehr eingeschränkt in einem lokalen Netz verwendet werden. Datei Zugriffe auf Netzlaufwerke per Apps sind sehr mühsam.
Daher Zugriff auf die PDF Sammlung per Webbrowser - dadurch sind keine Apps mehr notwendig - das ist damit das ideale Protokoll.
Alle Dokumente sollen auf einem eigenen Webserver angeboten werden, welcher nur im eigenen LAN (WLAN) erreichbar ist.
Kein großer Umbau der bestehenden Infrastruktur, nur kleine Änderungen, keine neue Hardware.
Zugang vom Internet ist selbstverständlich nicht vorgesehen.
Client
Ich habe hier ein iPad 3rd gen. Type A1430 von anno 2012. Betriebssystem iOS 9.3.6
Es gibt eine Updates und kaum mehr Apps zum installieren für diese total veraltete Hardware mehr,
lt. Apple ist es zu entsorgen - aber es hat eines super 10“ Bildschirm mit einer Auflösung 2048x1536 - perfekt zum lesen von PDFs.
Akku ist auch noch ziemlich gut, für das Recycling wirklich zu schade.
Dieses Gerät hat zugriff auf mein Netz via WLAN. Das Tablet wurde nun vom 'corrosion corner' heraus wieder aktiviert.
Server
Wenn ich hier von Servern spreche ist es von der Hardware ein ältere PC, welcher als Fileserver fungiert - also eine Datei Freigabe realisiert.
Echte Serverhardware, wie in Firmen zu finden, ist vom Betrieb (Strom, Ersatzteie, Lärm, Kühlung) im Privatbereicht nicht zielführend.
Für einen Home File Server sind die Anforderungen nicht sehr hoch. Ein Refurbished PC ist ausreichend.
Durch das kommende Windows11 Desaster - ohne TPM2.0 Modul sind viele junge performante PCs mit Windows11 nicht mehr lauffähig!
Da wird es einige günstige Angebote am gebraucht - refurbished Hardware Markt geben, welche hervorragend mit Linux laufen.
Stichwort NAS - lieb, besonders mit Raid, Nachteil kein echtes Betriebsystem - sondern proprietäres Hersteller System.
Außerdem Raid, ist keine Datensicherung, auch wenn es viele glauben - aber das habe ich schon
hier bei Datensicherung
besprochen.
Ich habe zwar einen Windows File Server, aber als Web Server ziehe ich den Apache unter Linux vor.
Also Linux in einer virtuellen Maschine oder ein alter PC aus dem 'corrosion corner' tut es auch.
Dort fand sich ein alter arbeitsloser NanoPC (20 x 13 x 2.5cm) mit ATOM Cpu und 4GB Ram, GigaBit LAN.
Der bekam jetzt noch eine Intenso 120GB 2,5“ um 18,60 € als Harddisk.
Darauf wurde Debian Linux mit Apache2 installiert.
Auf den abgebildeten Standfuß wurde verzichtet.
Liegt im Betrieb dann 'Headless' (Ohne Monitor und Tastatur) im LAN Schrank.
Debian 'Buster' Version 10.10.0
Die Debian Installationsquellen (ISO Images) können hier runtergeladen werden.
Ich verwendete dazu Debian Buster 10.10.0 amd64
Debian 10.0.0 Netinstall
seit ein paar Tagen ist Debian 11 (Bullseye)
Debian 11 Netinstall
freigegeben, habe ich noch nicht getestet. Diese Anleitung bezieht sich daher auf die 'alte' Debian Buster Version. Nach über 40 Jahren in der EDV laufe ich
den neuen Softwareversionen nicht mehr nach. Wenn die Zeit reif ist werde ich auch die Version Debian11 testen.
Also Die Iso Datei debian-10.10.0-amd64-netinst.iso auf einen USB Stick ziehen.
('amd' im Dateinamen steht nicht für AMD CPUs sondern für 64bit Architektur Intel oder AMD)
Eine Netinstall Distribution ziehe ich vor, weil hier kein Ballast an
Software mitgeschleppt wird, wie Office, Grafikprogramme etc. Nachinstallieren kann man eh alles, wenn man will.
Dazu gibt es viele Tools für verschieden Plattformen, ich verwende
Win32DiskImager unter Win10 zum erstellen eines Bootfähigen USB Sticks.
USB Sticks verwende ich günstige 16GB Versionen,
welche auch mechanisch eine gewisse Größe zum Anfassen haben...
Mit der Zeit sammelt sich einiges an Boot fähigen USB Sticks an.
Install Debian
1 • Boot von USB Stick
2 • Sprache, Ländereinstellung, Hostname, etc. Root Passwort usw.
3 • Installation Partition am einfachsten in 'entire Disk'
4 • Keine weiteren CD/DVD einlesen, 'apt source' zu debian.org, Cinnamon, SSH, GRUB Loader installieren.
Grafische Oberfläche (Cinnamon) ist hier nicht notwendig, außer vielleicht für zukünftige Sachen.
Die Anleitung hier bezieht sich auf einen 'clean' Install auf leere Harddisk.
Apache Webserver
Konfiguration des Webservers
Die Daten liegen NICHT am Debian Server lokal, sondern am vorhanden Fileserver auf einem Freigegeben Folder. Der Webserver greift daran zu und stellt die
Daten an den Web Browsern zur Verfügung.
Dazu brauchen wir den Apache2 Webserver und einen Samba Client zum 'mounten' eines Windows Laufwerkes. Das ist das 'cifs-utils' Paket.
1 • Apache wird mit apt-get install apache2 installiert. (mit root Rechten)
2 • Test Apache mit Aufruf von einem Browser aus: http://hostname (hostname ist der Debian Computername od. die IP Adresse)
Nun sollte die Standard Apache Seite dargestellt werden.
Der Namen des Debian Rechners ist hier debian10. Zugriff nur per HTTP, HTTPS geht nicht, da müssten Zertifikate installiert werden.
Hier nicht notwendig, da nur lokale Zugriffe erfolgen.
3 • In /var/www/html die index.html umbenennen.
Nun sollte das Directory und vorhandene Dateien zu sehen sein. In dem Fall nun die index.html.txt
Falls 'not found' angezeigt wird, sollte
das 'autoindex' Modul Enabled werden
a2enmod --force autoindex oder disable mit
a2dismod --force autoindex
Debian 10 hat das Modul von sich aus enabled - nur zur Info.
Neustart mit service apache2 restart
Alles mit root rechten.
Info: Auf einem Server im Internet sollte 'autoindex* immer disabled sein, Besucher aus dem Internet sollten ja keinen Zugriff auf das Dateisystem haben.
4 • Mount eines Laufwerkes, auf dem die Daten (Dokumente) liegen
Ein Netzlaufwerk ist bereits auf einem PC freigegeben. //Servername/Sharename
Mit einem bestimmten Usernamen kann darauf lesend zugegriffen werden.
Dieser Username und Passwort wird dann Mounten des Laufwerkes verwendet.
Zum mounten dieser Netzwerkressource muss vorher der Samba Client installiert werden.
apt-get install cifs-utils
In /media ein Directory anlegen. zB. data in das dann das Netzlaufwerk gemountet werden kann.
Edit der /etc/fstab und dort eine diese Zeile einfügen
//server/share /media/data cifs username=xxx,password=yyy 0 0
Computername und Sharenamen entsprechend anpassen. Username und Passwort sollen am Netzwerklaufwer Lese Rechte haben, keine Leerzeichen bei username beistrich passwort
mit mount -a kann das getestet werden.
wenn man in das pdf directory geht sollten die Daten vom Netzlaufwerk sichtbar sein.
Bei Neustart wird das Laufwerk immer verbunden. Passwort und Username stehen im Klartext in der fstab, das kann man auch in einer '.credentials' datei verstecken.
Hier beschreibe ich aber nur die einfachste Möglichkeit.
5 • Document Root verändern
Das 'Document Root' /var/www/html zu /media/data ändern.
Die Datei /etc/apache2/sites-enabled/000-default.conf editieren.
Den Eintrag DocumentRoot /var/www/html zu DocumentRoot /media/data ändern.
Die Datei /etc/apache2/apache2.conf editieren
Die Zeile
<Directory /var/www/>
zu <Directory /media/data/> ändern
Apache Neustart mit service apache2 restart
Alles mit Rootrechten
Nun sollten die Daten im Browser zu sehen sein
Die PDFs des Radioboten sind von der Seite des
Radioboten zugänglich.
Als Langjähriger Abonnent des Radioboten unterstütze ich diese österreichische Publikation.
Falls Error 403 (forbidden) kommt, ist der Eintrag in der /etc/apache2/apache2.conf wahrscheinlich falsch.
Zusammenfassung
Übersicht: Alle PCs, Tablets, Webserver und Fileserver sind in einem gemeinsamen LAN/WLAN
Der Webserver hat in dieser Anleitung den Computernamen 'debian10'
Alle PDFs am Daten Freigabe sind mit einem Browser (Firefox,Chrome,Opera,Edge)
an den Clientgeräten lesbar.
Der Zugriff auf die Daten (PDFs) erfolgt immer per HTTP Zugriff über den Webserver. Damit entfällt der direkte Zugriff auf die Netzwerkfreigabe.
Tablet und Smartphones können dies nur per zusätzlichen 'Apps' welche aber nicht zufriedenstellend arbeiten. Durch den Webserver können diese 'Apps' entfallen.
Webbrowser haben alle diese Geräte und können damit PDFs darstellen.
Anzeige am alten iPad von 2012
Hier als Leseprobe
Zeitschichten - Chronologie der Magnetbandtechnik
ein sehr großes PDF (195MB) über 300 Seiten, welches hier bestens zu lesen ist.
Das
PDF kann von dort günstig erworben werden. (Link zur 4. Auflage und nicht den Link bei der 3. Auflage nehmen...)
Neue Hardware
Der verwendete PC mit Atom CPU aus dem corrosion corner war doch etwas zu langsam, große PDFs merkt man hier an den längeren Ladezeiten.
Aber günstige alternativen sind am Markt - deshalb wurde die Hardware mit einem billigen Gebrauchtgerät ersetzt.
Wegen Win11 (Stichwort: TPM2.0 Modul) wird nun eine Menge an leistungsstarken PCs unnötiger Weise an die Luft gesetzt.
Diese Hardware lauft sehr gut mit Win7, Win10, Linux -
es ist durchaus angebracht die günstigen Angebote an gebrauchter - refurbished Hardware zu überlegen.
Wegen geringer Größe und geringen Stromverbrauch <20W habe ich den Lenovo ThinkCentre M93p Tiny gewählt.
Der Preisrange geht von ca.150 bis über 1000.- € für die ganz neuen Modelle.
8GB Ram, eine 240GB SSD, i5-4570 CPU und GB LAN. VGA und DisplayPort für Monitor.
Mit dieser Ausstattung liegt die gebraucht Hardware heute bei 150.- €
Monitor und Tastatur ist nur für die Installation notwendig.
DVD laufwerke sind heute auch nicht mehr notwendig.
WLAN und Bluetooth ist hier meistens nicht enthalten. Kann per USB angesteckt werden, aber ein Server kommt sowieso immer ans LAN.
Der M93p Tiny hat die Abmessungen wie ein kleines Buch!
Neue Software
Dieser PC wurde nun mit Debian11 installiert.
Vorgang wie hier mit Debian10 beschrieben wurde.
Zugriff auf Windows Share mit Samba Client und Apache DocRoot zum Mount Point verbiegen - Damit erscheint das Directory des Samba Shares im Browser des Clients.
OS Installation, ssh, apache2 Webserver, Samba Client cifs-utils, xrdp für grafischen Remotezugriff als Grundinstallation.
Die Installation geht schnell voran.
Einzig für XRDP muss nun bei Debian11 ein adduser xrdp zur Gruppe ssl-cert erfolgen, ansonsten funktioniert der Zugriff via XRDP nicht.
Fazit
Darstellung einer PDF Sammlung, welche auf einem Fileserver liegt, via HTTP. Damit können Endgeräte wie Tablet PCs und Smartphones als Lesegeräte
einfach eingesetzt werden. Keinerlei zusätzliche Software auf den Endgeräten notwendig.
Abgesehen von PDFs können mit dem Lenovo auch Video und Audio (MP4 u. MP3) über den Webserver zu den Endgeräten gestreamt werden.
Die Performance dieses PC ist sehr gut. Hier kommt die schnelle i5 CPU mit dem Intel Gigabit LAN zum tragen.
Auch für anderen Anwendungen ist dieser PC sehr zu empfehlen - wie auch als Ersatz für den Raspberry PI, wenn man keine GPIOs benötigt.
Bei den heutigen teuren Preisen eines Raspberry + Netzteil + Gehäuse hat man hier noch dazu eine SSD eingebaut. Einzig auf die GPIOs muss man hier verzichten.
Die GPIOs sind der einzige Pluspunkt für den Raspberry hier, ansonsten sind alle Vorteile bei den kleinen PCs.
Linux auf einer SSD und einer vernünftigen Hardware(RAM und Netzwerk) macht hier mehr Sinn als Linux am Raspberry und einer Speicherkarte.
Dateidatum: 10.05.2022
---------------- wird fortgesetzt..----------------