Posts on tag: server
Table of contents
EU-DSGVO @daemon.de
Lutz Donnerhacke hat sehr gut beschrieben, wie man als Privatblogger mit der neuen EU Datenschutzverordnung umgehen muss. Ich habe mir meine Seite also äquivalent genauer angeschaut und festgestellt, dass ich - wie im Impressum bereits beschrieben - keine IP-Adressen speichere und Email-Adressen optional sind und diese wiederum auch NUR wenn man kommentieren möchte.
Da ich in letzter Zeit aber ohnehin kaum noch zum Posten komme und schon seit langer Zeit keine Kommentare mehr gepostet worden sind (Spammer wurden recht wirksam von meinen Abwehrmaßnahmen ferngehalten, falls jemand den Django Code haben möchte: einfach bei mir melden) - habe ich beschlossen, dass ich das Feature auch einfach ausschalten kann.
Gesagt, getan. Kommentare sind ab sofort abgeschaltet, vorhandene Kommentare und die Daten der Kommentierer habe ich alle gelöscht. Zack und aus. Somit speichere ich überhaupt keine personenbezogenen Daten mehr, die ich gemäß EU-DSGVO dokumentieren müsste.
Meine Datenschutzerklärung im Impressum habe ich entsprechend angepasst.
Note to self: portable pkg-* Aliases
Always bored to remember those:
-
ArchLinux
alias pkg-search="pacman -Ss" alias pkg-add="sudo pacman -S" alias pkg-info="pacman -Qv" alias pkg-files="pacman -Ql" alias pkg-list="pacman -Sl" alias pkg-which="pacman -Qo" alias pkg-depends="pacman -Si" alias pkg-depends-reverse="pacman -Sii" alias pkg-delete="sudo pacman -Rs" alias pkg-upgrade="pacman -Syu" alias pkg-update="pacman -Sy" alias pkg-download="pacman -Sw" alias port-search="yaourt" alias port-add="yaourt -S" alias port-update="yaourt -Syua"
-
Ubuntu
alias pkg-search="apt-cache search" alias pkg-add="sudo apt-get install" alias pkg-info="dpkg" alias pkg-depends="apt-cache --no-pre-depends --no-recommends \ --no-suggests --no-conflicts --no-breaks \ --no-replaces --no-enhances --installed depends" alias pkg-depends-reverse="apt-cache --no-pre-depends --no-recommends \ --no-suggests --no-conflicts --no-breaks \ --no-replaces --no-enhances --installed rdepends" alias pkg-delete="sudo apt-get --purge autoremove" alias pkg-key="sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys"
-
VOID Linux
alias pkg-files="xbps-query -f" alias pkg-list="xbps-query -l" alias pkg-info="xbps-query" alias pkg-update="xbps-install -S" alias pkg-upgrade="xbps-install -Syu" alias pkg-add="xbps-install" alias pkg-search="xbps-query -Rs" alias pkg-which="xbps-query -Ro" alias pkg-delete="xbps-remove -R" alias pkg-depends="xbps-query -x" alias pkg-depends-reverse="xbps-query -X"
Drucken via Firewallpiercing unter Windows 7
Ich mache ja recht häufig Telearbeit und im Rahmen dessen kommt es hin und wieder vor, dass ich was drucken muss. Bisher hab ich mir die Sachen dann auf meinen Server hochgeladen, vom privaten Rechner aus runtergeladen und ausgedruckt. Sehr umständlich und mir geht das eigentlich schon immer erheblich auf den Zeiger.
Da - jedenfalls bei uns - ein Zugriff auf lokale Netzwerkkomponenten nicht möglich ist, hab ich es wie folgt realisiert: ich verwende einen SSH Tunnel über unseren Proxy zu meinem Router und von dem aus zum TCP Port 9100 meines Netzwerkdruckers (ein HP OJP 8600, den ich nur wärmstens empfehlen kann). Damit das funktioniert, muss man allerdings einen Internetrouter haben, auf den man a) von aussen raufkommt, und der b) SSH spricht. In meinem Fall hab ich ein Gerät mit DD-WRT am Laufen, da geht das.
Zunächst muss man auf dem lokalen Rechner für SSH eine Proxyeinstellung vornehmen, die wie folgt aussieht:
Host meinserver User me Port 5222 HostName meinserver.woauchimm.er ProxyCommand corkscrew 127.0.0.1 3128 %h %p
Diese Einstellung schreibt man in die Datei ~/.ssh/config. Wer mit Windows arbeiten muss, so wie ich, der benötigt Cygwin dafür. Ich meine mich zu erinnern, dass man sowas auch mit Putty machen kann, das müsstet Ihr aber selber herausfinden wie das geht. Für Cygwin braucht man ausserdem auch Corkscrew, alternativ funktioniert auch Netcat. Die ssh Manpage hat eine Sektion über die Funktion "ProxyCommand".
Ausserdem muss auf dem Proxy der entsprechende Port für HTTP CONNECT freigeschaltet sein. Auf dem Port muss dann am Server ein SSH-Daemon lauschen. Auf normalen Proxies sollte zumindest 443 offen sein. Ansonsten die Config anschauen oder den Admin unauffällig fragen :)
Zu guter Letzt muss auch der Router via Internet erreichbar sein. Ich verwende dafür DynDNS, so dass ich die Kiste jederzeit über einen Hostname erreiche. In meinem Fall ist der Port 22 nach aussen nur für meinen Rootserver geöffnet, die Allgemeinheit kommt da also nicht hin. Auch das kann ich nur dringend empfehlen.
Wenn man das alles hat, sieht das SSH Tunnelkommando wie folgt aus:
ssh -g -L9100:127.0.0.1:9100 meinserver "ssh -vg -L9100:192.168.1.100:9100 meinrouter.dyndns.org"
In diesem Beispiel hat der Drucker im LAN daheim die IP 192.168.1.100, und der Router ist unter meinrouter.dyndns.org erreichbar. Mit diesem Befehl baut man 3 verschachtelte Tunnel auf (von hinten nach vorn):
- Tunnel vom Router zum Druckerport 9100
- Tunnel vom Server zum Tunnelende von 1) auf Port 9100
- Tunnel über Proxy zum Tunnelende von 2) auf dem Server, auch Port 9100
Der Drucker ist dann lokal unter Windows über 127.0.0.1:9100 erreichbar.
Als nächstes richtet man den Drucker ein, normalerweise braucht man dafür keine Adminrechte. Über das Startmenü den Assistent "Geräte und Drucker" starten.
Netzwerkdrucker auswählen:
Da der Drucker nicht automatisch gefunden werden kann, auf den Button unten klicken "Der gesuchte Drucker ist nicht aufgeführt":
Dann die Option TCP/IP auswählen
In der folgenden Eingabemaske die IP 127.0.0.1 eintragen, den Haken für die automatische Abfrage deaktivieren (er würde sonst versuchen, den per SNMP abzufragen, was ja nicht gehen wird):
Trotzdem versucht Windows 7 dann den Drucker zu scannen, das dauert eine Weile, funktioniert nicht und kann ignoriert werden. Einfach abwarten:
Hier gibt man nun die Details an, unten "Benutzerdefiniert" auswählen und die Einstellungen checken. Die sollten schon vorausgefüllt sein, sonst korrigieren und bestätigen, dann auf "weiter" gehen:
Nun muss man noch den Treiber auswählen:
Und dem Drucker hernach einen Namen geben, ich empfehle "@ssh-tunnel" dranzuschreiben, damit man später weiss, dass man dafür einen Tunnel braucht:
Und das wars auch schon.
Wichtig ist, dass man vor dem Drucken den Tunnel wie oben beschrieben aufbaut. Kann man sich auch in ein Script schreiben, das spart Tipperei.
Wenn der Drucker ein Webscan-Feature hat (wie meiner), kann man auch über den Browser scannen. Dazu leitet man einfach den Port 80 des Druckers um:
ssh -g -L8000:127.0.0.1:8000 meinserver "ssh -vg -L8000:192.168.1.100:80 meinrouter.dyndns.org"
Dann kann man im Browser http://127.0.0.1:8000/ aufrufen und damit auch scannen.
Ja, zugegeben, das Setup ist etwas wild, aber es funktioniert und ich bin happy damit.
Umzug zu Hetzner
Ich kann gar nicht mehr genau sagen, wie lange ich jetzt schon bei 1&1 Kunde mit meinen root-Server bin. Der Aktuelle ist glaub ich der vierte oder so. Sind bestimmt 10-12 Jahre, seit ich bei 1&1 bin.
Zufrieden und happy war ich mit 1&1 immer. Es hat immer alles wunderbar funktioniert, die Anbindung ist schnell, die Maschine völlig zuverlässig, der Server-Support erstklassig. Im Grunde hatte ich, gerade weil alles so gut funktionierte, nie irgendwas mit 1&1 zu tun, was ja immer ein gutes Zeichen ist.
Aber leider werden wir 1&1 den Rücken zuwenden und zu Hetzner gehen. Der Grund ist der Plattenplatz. Unsere Platte quillt regelmäßig über und ist voll. Am Ende eines jeden Monats, manchmal auch zwischendurch, muss ich irgendwelche Backupgenerationen löschen, damit wir weiter arbeiten können. Ein unerträglicher Zustand.
Als zufriedener und treuer Kunde war meine erste Idee daher, das Problem mit 1&1 zu lösen. An der Front sieht allerdings eher weniger beschaulich aus:
- Man kann keine zusätzliche Platte in den Server einbauen lassen.
- Man kann die vorhandenen Platten auch nicht durch grössere ersetzen.
- Der Cloudservice, den 1&1 durchaus anbietet, ist nur mit WebDAV verwendbar. Im Serverbetrieb ein no-go. Ich hatte die Option trotzdem ausprobiert, bin aber schon beim lighttpd gescheitert, der zum Einlesen von Dateien mmap(2) verwendet. Auf einem mit WebDAV via fusefs gemounteten Filesystem geht kein mmap(2). Tja.
- Ein Serverupgrade hätte sich noch angeboten, d.h. einen neuen Server mieten. Bei den Storageanforderungen, die wir aber Stand heute haben (plus einem Polster für die Zukunft, man hat so ein Teil ja ein paar Jahre), wäre der Preis aber viel zu hoch geworden.
Bei Hetzner bekomme ich einen Server zum gleichen Preis wie den jetzigen, allerdings mit erheblich mehr Plattenplatz. Davon abgesehen bin ich aber sowieso schon Hetznerkunde, weil mein Backupserver dort gehostet wird - auch schon seit vielen, vielen Jahren.
Heute habe ich also einen neuen Server bei Hetzner angemietet und wir ziehen mit all unserem Kram um. Wieder mal. Inzwischen hat man so seine Erfahrungen gemacht, was Serverumzüge betrifft. Hilfreich ist dabei auch, dass wir beide in der Branche tätig sind und somit vom Fach sind. Und zum Glück haben wir beim jetzigen Server sämtliche öffentlichen Dienste in Jails separiert, was den Umzug natürlich umso einfacher macht.
Ich gehe mit einem lachenden und einem weinenden Auge und sage hiermit hochoffiziell:
Danke 1&1 für den jahrelangen guten Service!
Update 2013-06-10:
Der Umzug gestaltet sich sehr angehm. Jails rüber, paar Configs hier und da anpassen (meist nur die IP), feddisch. Feini, feini. Thanks god I've choosen FreeBSD! Thanks god I've choosen even jails! Yippijaieh! Fehlen noch einige Kleinigkeiten aber sonst siehts schon gut aus.CTWM ist Geschichte
Eher zufällig bin ich auf xmonad gestoßen. Das ist ein Fenstermanager für X11. Und zwar ein sogenannter "tiling windowmanager". Dabei werden alle Fenster einfach im Fullscreenmode dargestellt. Keine Titelleiste, keine Buttons, kein Schnickschnack. Man kann Fenster auch nebeneinander darstellen in verschiedenen Modi (Layouts genannt), zwischen denen man auch on-the-fly wechseln kann.
Geeignet für mich ist das, weil ich meinen CTWM, den ich nun seit über 10 Jahren benutzt habe, genauso konfiguriert hatte: keine Titelleiste, keine Buttons, kein Schnickschnack. Nur musste ich meine Fenster immer von Hand platzieren.
Ausserdem gibt es diverse Prompts. Ich drücke z.b. Alt-p und es erscheint ein schmaler Prompt, wo ich irgendwelche Shell-Befehle eingeben kann. Das hatte ich im CTWM auch, dazu hatte ich mir extra ein eigenes Tool geschrieben gehabt: xrun. Ist nun auch Geschichte. Und Tab-Completion gibt es auch.
Und weil ich endlich mal eine vernünftige Statusbar haben wollte, verwende ich xmobar. Tatsächlich hatte ich zuerst xmobar gefunden und darüber dann xmonad.
Ich bin jedenfalls total happy mit xmonad. Eines muss ich allerdings kritisieren: Die Config von dem Teil muss man in Haskell schreiben, weil xmonad selbst auch in Haskell implementiert ist. Und ich kann mit Fug und Recht eines feststellen: Haskell ist für mich ein Buch mit sieben Siegeln. Ich kapiere es nicht. Was mir aber doch zu einer funktionierenden Config verholfen hat, war der IRC Channel #xmobar, wo man mir umgehend und kompetent weitergeholfen hat. Wirklich klasse. Vor allem zeigt mir das eines: ich verwende zur Abwechslung mal wieder einen Fenstermanager, der aktiv maintained wird.
Sehr geil.