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.
		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
 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.
		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.
		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
		 Dateidatum: 10.05.2022
		
---------------- wird fortgesetzt..----------------