Projekte - beruflich und privat
Informationen
Das ich hier nicht alles erklären werde (aus sicherheits- und betriebstechnischen Gründen) bitte ich zu respektieren.
All diese Projekte habe ich selbstständig durchgeführt und befinden sich im Produktiveinsatz.
1. Internet Cafe mit Squid3 und PHP/MySQL
Dokumentation
(S)HTML-Dokument (Englisch)
Doku - Admin Interface
Doku - User Interface
Beschreibung
Weitere Informationen können Sie der Dokumentation entnehmen.
Zuvor war HandyCafe im Einsatz aber da dies uns nur Probleme bereitet hatte und man jedesmal zum "Server" rennen musste um einen Client freizuschalten, habe ich mich für eine Lösung entschieden die über Linux läuft und man mit einem Web-Browser steuern kann.
Der Squid war fix eingerichtet und dann ging es daran dem Proxy mitzuteilen das er doch bitte mit einer MySQL-DB als Backend arbeiten soll.
Datenkrake befragt und sie hat geantwortet und somit war die Verbindung gegeben.
Fix die login.php geschrieben die OK oder ERR zurückgibt.
Da es zwar schon einige Projekte zu diesem Thema gibt, man dabei aber Squid patchen muss habe ich etwas eigenes gebaut.
Webseite
Die Webseite ist in PHP geschrieben und nutzt eine MySQL Datenbank.
Der Benutzer registriert sich, meldet sich an und "bittet" um Zeit für das Internet.
Im Admin-Panel läuft ein Ajax-Script das darauf wartet und man dies nun bestätigt oder ablehnt (oder die Zeit anpasst und dann bestätgt).
Es gibt natürlich auch einige Benutzerkonten die eine "Internet-Flatrate" haben oder über Administrator-Berechtigungen verfügen um das Admin-Panel zu öffnen.
Ist die Zeit abgelaufen fragt der Proxy wieder nach Benutzernamen und Passwort und sendet solange ERR zurück bis erneut "Internet-Zeit" freigeschaltet worden ist.
2. Server zuhause
Beschreibung
Dieser Server war meine Spielwiese und so bin ich auch teilweise damit umgegangen.
Dort habe ich alles mögliche ausprobiert und Erfahrungen sammeln können und später auch das eine oder andere produktiv für mich / Freunde / Nachbarn genutzt.
Netzwerk
Im Laufe der Zeit war mein Netzwerk nicht mehr "mein", denn meine Nachbarn wollten da mit rein.
So war es einfacher im Netzwerk zusammen zu spielen oder meine Internet-Leitung mit zu benutzen (Proxy Authentication war Pflicht)
Also meinem DHCP- und DNS-Server noch ein paar Clients hinzugefügt (fixed-address für die Struktur) und gleich auf dem Samba und Squid noch die Benutzer angelegt.
Da wir keine Löcher bohren wollten und ein langes Kabel im Treppenhaus sche... schlecht aussieht habe ich die Netzwerke mit WDS verbunden.
Da sich im Laufe der Jahre einige E-Mail Konten angesammelt haben, sollte mein Server auch das abholen für mich übernehmen und wenn er das auch für mich kann, kann er das auch für andere Leute die im Haus leben.
Also die Datenkrake befragt wie das umzusetzen ist und dabei Stück für Stück die einzelnen Komponenten installiert und konfiguriert.
Rum gekommen ist dabei:
- dovecot als IMAP-Server (SSL)
- fetchmail zum Abholen der E-Mails
- procmail zur weiteren Verarbeitung
- SpamAssassin zur Überprüfung der E-Mails
Lange Zeit beließ ich es dabei, bis ich auch mit meinem DynDNS Domains auch E-Mails empfangen wollte.
Also musste Postfix herhalten, oder eher ich, denn ich wollte ja keine Spam-Schleuder haben.
Spielwiese
Natürlich wollte ich auf meinen Server auch über das Internet erreichen, also habe ich mir einige DynDNS-Accounts zugelegt (aber nicht dyndns.org).
Somit konnte ich auch auf Webseiten von zuhause zugreifen, wenn nötig in der Fritzbox was umstellen, mich per SSH einwählen (über OTP) oder ganz in das Netzwerk mit VPN.
3. Server für einen PC-Raum und WDS (WLAN)
Beschreibung
Der Server war für einen kleinen PC-Raum bei einer der Maßnahmen an der ich teilgenommen habe.
Ziel war es einen File- und Print-Server bereitzustellen. Später kam noch ein Proxy-Server dazu.
Umsetzung
Ich hab einen alten Computers als Debian-Server ausgesucht der permanent im Betrieb sein konnte.
Nachdem das Grund-System installiert war habe ich meinem Kollegen einige Befehle gezeigt und erklärt damit auch er am Morgen die Log-Dateien checken kann wenn ich mal nicht da sein sollte.
Jetzt wurde samba, nfs-server und cups installiert waren ging es an die Konfiguration der Dienste und an das Anlegen der benötigten Benutzer.
Da es nur wenige Computer und Leute waren haben wir uns für die händische Arbeit entschieden und alle Benutzer über die Konsole hinzugefügt.
Danach auf den Clients die NFS-Freigaben eingebunden und den Drucker hinzugefügt.
Der Farbdrucker befand sich im Büro und sollte nicht von diesem Raum zu erreichen sein aber hin und wieder war es erforderlich in Farbe zu drucken.
Dafür wurde eine Samba-Freigabe genutzt und bei den Windows-Rechner im Büro eingebunden.
Wieso ein Proxy-Server
Da das Internet von einigen Teilnehmern sehr freizügig benutzt worden ist kam ein Proxy-Server zum Einsatz um dem Einhalt zu gebieten.
Mit SquidGuard wurden einige Webseiten gesperrt und im Squid selber Uhrzeiten definiert wann das Internet wieder "Frei" ist.
Wieso WDS (WLAN)
Da es ein sehr großes Haus war und es im Büro und im restlichen Haus separate WLAN verfügbar waren wurde entschieden mit WDS diese WLAN zusammenzufügen.
Es wurden 3 WDS-Wlan-AP besorgt um das ganze Haus abzudecken und man jederzeit im gleichen WLAN im Internet surfen konnte.
4. Abschlussprojekt der Ausbildung
Dokumentation
PDF-Format (eingereicht bei der IHK Hannover)
Beschreibung
Weitere Informationen können Sie der Dokumentation entnehmen.
Eine bestehende Webseite (Tischtennis Statistiken und Berechnungen) sollte umziehen und dabei auch gleich von PHP4 auf PHP5 umgestellt werden.
Des Weiteren sollten Berechnungen die "interaktiv" ausgeführt wurden mit cronjobs in die Nacht verlagert. Das brachte einen Geschwindigkeitsvorteil von gut 20 Sekunden, da es umfassende Berechnungen waren die ausgelagert worden sind.
Das dabei einige Probleme aufgetreten sind ist klar da der Wechsel der PHP-Versionen einige neue Funktionen mitgebracht hat aber auch welche entfernt worden sind.
5. Webanwendung für eine Presse Agentur (Teil der Ausbildung)
Beschreibung
Das Ziel dieses Projektes war es uns zu verdeutlichen wie Projekte gehandhabt werden können und sollten.
Dazu wurde ein Projektleiter bestimmt der im Vorfeld mit dem "Kunden" ein Gespräch geführt hat um alle Details zu erfahren. Diese wurden dann im Anschluss der Gruppe mitgeteilt und "intern" die Arbeit aufgeteilt.
Dadurch das ich mehr Erfahrung in der Webprogrammierung hatte als meine "Kollegen" wurde mir diese Arbeit zugetragen. Ein anderer hatte sich mit den HTML-Templates beschäftigt und wiederum eine weitere Person das Design entworfen.
Die Projektdauer betrug eine Woche und in jeder "Firma" waren 3-4 Leute.
Unsere "Firma" wurde damit beauftragt eine seriöse Webanwendung (auf Deutsch und Englisch) zu entwerfen die auf der Startseite die letzten 7 News anzeigt und man auf den Unterseiten die restlichen News sehen kann.
Jeder Kunde der Presse Agentur soll sich registrieren können und nach der administrativen Prüfung freigeschaltet werden.
Des Weiteren hat jeder Kunde die Option "News" auch exklusiv zu kaufen sodass kein weiterer Kunde darauf mehr zugreifen kann.
Umsetzung
Dieses Projekt wurde in HTML/CSS, PHP und MySQL realisiert die mittels mod_rewrite die Links "schön" ausgegeben hat.
Es wurde ein schlichtes Design gewählt und mithilfe einer kleinen Template-Engine alle HTML-Dateien mit den Informationen aus der Datenbank befüllt.