Self-Signed Zertifikat für Multi-Domain Server

Posted by quark007 | Posted in Computer & IT, Smartphone & Android | Posted on 31-03-2015-05-2008

2

Wie bereits in den anderen Posts zu lesen ist, habe ich meinen HP MicroServer mit OpenMediaVault aufgesetzt. Das hat alles auch wunderbar funktioniert, bis ich zusätzlich OwnCloud installiert habe, um von der Google-Synchronisation von Kontakten und Kalendereinträgen unabhängig zu werden. Doch OwnCloud funktioniert nur über die sichere(re) HTTPS-Verbindung, für die ein Zertifikat notwendig ist. Da ich für den Heimbereich kein öffentlich zertifiziertes Zertifikat benötige, habe ich mir self-signed-Zertifikate erstellt, für jede Seite natürlich ein eigenes. Das war mir irgendwann zu bunt, da auch die Verwaltung in Android auf die Dauer lästig wurde.

Ich habe sehr viel herum probiert und auch viel im Internet gesucht und bin habe die Möglichkeit gefunden SubjectAltNames (SAN) zu definieren. Mit dieser Erweiterung lässt sich ein Zertifikat für mehrere Domains erstellen. Anders als ein Wildcard-Zertifikat (*.domain.tld) werden die Domains definiert und das Zertifikat ist nur für diese gültig. Ich habe sogar Anleitungen dafür gefunden, die aber leider nicht selbst-signierte Zertifikate erstellen sondern CSR-Dateien, also Zertifizierungsanfragen an öffentliche Stellen. Nach langem Suchen habe ich diese Anleitung gefunden, die ich etwas näher erläutern möchte:

How can I generate a self-signed certificate with SubjectAltName using OpenSSL?

Da ich zuvor schon viele HowTos probiert hatte, war meine openssl.cnf-datei (unter /etc/ssl/) schon arg verändert, dass ich mir eine Standard-Konfiguration aus dem Internet gesucht habe. Ich habe dies verwendet:

http://web.mit.edu/crypto/openssl.cnf

Jetzt kann man nach der obigen Anleitung weiter vorgehen.

  1. zunächst öffnet man die Datei openssl.cnf. Unter neueren Debian Versionen liegt sie unter /etc/ssl/ Falls sie nicht vorliegt erstellt man sie mit sudo nano /etc/ssl/openssl.cnf und fügt die Zeilen der Standard-Version ein
  2. Am Ende der Datei fügt man nun neue Zeilen an, nach diesem Muster
    [alternate_names]
    DNS.1        = example.com
    DNS.2        = www.example.com
    DNS.3        = mail.example.com
    DNS.4        = ftp.example.com
    
  3. als nächstes sucht man in der Datei (Strg + W) die Stelle [v3_ca] und fügt folgende Zeilen dazu
    [v3_ca]
    subjectAltName      = @alternate_names

    damit werden die Alternativen Domainnamen in das SAN-Attribut übernommen

  4. Zudem kann man aus der Zeile
    keyUsage = digitalSignature, nonRepudiation, keyEncipherment
    

    das nonRepudiation herausnehmen. Laut Beschreibung ist es nutzlos und von Leuten eingeführt, die sich als Anwälte sehen.

  5. als nächstes sucht man in der Datei den Bereich [CA_default]: und die Zeilen
    # Extension copying option: use with caution.
    # copy_extensions = copy

    Falls diese nicht vorliegen, muss man sie hinzufügen und die Auskommentierung # vor copy_extensions entfernen. Nur dann werden die SANs auch wirklich in das Zertifikat übernommen.

  6. Damit kann es losgehen. Zunächst erzeugen wir unseren privaten Schlüssel. Dieser wird in dem Verzeichnis abgelegt, in dem wir uns momentan befinden. Ich habe mir unter /etc/ssl/ ein neues Verzeichnis angelegt (sudo mkdir /etc/ssl/new_cert/) und bin dorthin gewechselt (cd /etc/ssl/new_cert). Dann erzeugen wir unseren privaten Schlüssel:
    sudo openssl genrsa -out private.key 3072
  7. folgend wird mit dem privaten Schlüssel ein öffentlicher Schlüssel erzeugt:
    sudo openssl req -new -x509 -sha256 -days 3650 -nodes -key /etc/ssl/new_cert/private.key -out /etc/ssl/new_cert/omv.crt

    Die Fragen, die einem gestellt werden sollte man beantworten, muss es aber nicht. Mit [Enter] bleibt das Feld leer und es kommt die nächste Frage. Wichtig ist aber die Frage nach dem  CommonName. Dort ist es wichtig die IP-Adresse des Servers anzugeben.

  8. Anschließend kann man sich noch versichern, dass die SANs auch ordnungsgemäß eingetragen sind:
    sudo openssl x509 -in /etc/ssl/new_cert/omv.crt -text -noout

    Dabei sollte man auf die Zeile X509v3 Subject Alternative Name: achten. In der Zeile darunter müssen die zuvor definierten SANs zu finden sein

Wie man die damit erstellten Zertifikate in Nginx oder Apache einbindet findet man zu genüge z.B. hier bzw. hier.

Damit war es mir endlich möglich sowohl die OpenMediaVault-WebGUI, das WebMysql, Owncloud und auch meine Webserver mit einem Zertifikat über HTTPS zu erreichen. Wichtig war das insbesondere um mit DavDroid (F-Droid) und owncloud-SMS die Synchronisation mit OwnCloud zu ermöglichen.

Tor ExitNode auf bestimmtes Land festlegen

Posted by quark007 | Posted in Computer & IT | Posted on 18-02-2015-05-2008

0

Auf der Suche nach einer Möglichkeit Länder-Restriktionen zu umgehen, bin ich auf TOR gestoßen, was ich schon seit längerem Nutze. Dabei gibt es die Möglichkeit in dem TOR-Config-File torrc festzulegen, welchen Ländercode die Exit-IP haben soll.

Dazu muss die Konfigurationsdatei von Tor bearbeitet werden. Beim Tor-Browser liegt diese im Torbrowser-Ordner unter “Browser/TorBrowser/Data/Tor/torrc”. Da ich noch Vidalia als Tor-Verwaltung nutze, gibt es sogar die Möglichkeit die torrc in den Einstellungen zu bearbeiten. Dazu öffnet man Vidalia, geht auf “Einstellungen” in den Reiter “Fortgeschritten” und klickt auf “bearbeite aktuellen torrc”. Dort fügt man nun folgende Zeilen hinzu und entfernt die beiden auskommentierten Zeilen am Anfang:

ExitNodes {us}
StrictNodes 1

Damit werden nur noch Exit-Server mit Ländercode in den USA ausgewählt.

Beim Neustarten von Vidalia konnte aber keine Verbindung zu einem Tor-Netzwerk hergestellt werden. In den Logs sind mir dann Folgende Zeilen aufgefallen:

Failed to open GEOIP file C:\Users\[USER]\AppData\Roaming\tor\geoip.  We’ve been configured to use (or avoid) nodes in certain countries, and we need GEOIP information to figure out which ones they are.
Failed to open GEOIP file C:\Users\[USER]\AppData\Roaming\tor\geoip6.  We’ve been configured to use (or avoid) nodes in certain countries, and we need GEOIP information to figure out which ones they are.

Er findet anscheinend die Ortauflösungsdaten zu den IPs nicht. Als ich in dem Ordner nachgeschaut habe, waren beide Dateien auch nicht vorhanden. Ich habe sie jedoch auf der Suche nach der torrc-Datei schon einmal gesehen, nämlich im folgenden Ordner: C:\Users\[USER]\AppData\Local\tor Also habe ich beide Dateien in den Ordner ,in dem TOR sie zuerst gesucht hat, kopiert. Nun konnte Vidalia erfolgreich eine Verbindung herstellen.

Dabei ist mir auch aufgefallen, dass nun auch die Anzeige des Netzwerks auf der Landkarte funktioniertvidalia_network.

 

Reparatur Samsung CLX-3175FN

Posted by quark007 | Posted in Computer & IT, Heimwerken | Posted on 18-01-2015-05-2008

2

Wie üblich bei Druckern geben diese bald nach Garantieablauf ihren Geist auf. Ok, die Zeit ist bei mir schon etwa 2 Jahre vorbei, aber vor weniger als 3 Monaten habe ich einen neuen Toner gekauft. Diese 40€ (ich habe Originalware gekauft) wollte ich nicht einfach in den Wind setzen. Zudem habe ich in diesem Video gesehen, dass man auch nicht Original-Toner verwenden kann.
Das Problem des Druckers zeigt sich in folgendem Bild:

Gedruckt wird alles noch richtig, aber nach etwa 2/3 einer DIN-A4-Seite wiederholt sich das Druckbild latent (Geisterdruck genannt). Ich hatte früher schon lange und viel darüber gesucht, aber kaum etwas gefunden. Bis mir vergangene Woche ein Post in einem Forum auffiel. Darin wird davon gesprochen, dass entweder die Bildtrommel (~50€) oder das Transportband (80€) defekt wären. Bei einem Blick auf ebay und den dortigen Preisen hatte ich schon fast aufgegeben, bis ich auf ebaykleinanzeigen geschaut habe. Dort werden die Drucker zu Schleuderpreisen verhökert. Ich konnte für 20€ incl. Versand zuschlagen, wobei laut Verkäuferaussage die Fixiereinheit defekt wäre. Da mich das aber nicht störte habe ich zugeschlagen, es ging mir ja nur um die Bildtrommel oder das Transportband. Bzw falls ein Defekt am Gehäuse bei mir vorläge (verzogen von der Fixiereinheitswärme), könnte ich ja immernoch meine Heizung in das gekaufte Gerät einbauen

Gestern dann kam das Paket. Hier mal ein kleiner Vorgeschmack 😉

Drucker_innen03  Drucker_innen01Karton

Alles war versifft und voller Tonerstaub. Und die Tonerkartuschen waren auch nicht dabei. Schade, aber darum ging es mir auch garnicht. Also das Ersatzteil-Gerät aufgemacht und drinnen sah es genauso schlimm aus wie im Karton. Immerhin hat der Verkäufer die Bildrolle und das Transportband nicht auch noch entfernt. Positiv ist aber, dass die Scannerabdeckung noch intakt und das “Ausziehbrett” für den Papierauslass auch noch funktionierte.

Druckbild nach TransportbandtauschDa ich bei meinem Gerät das Transportband schon einmal gereinigt hatte, ging der Aus- und Umbau sehr schnell. Achten sollte man auf das Stromkabel, das oben rechts im Druckerbauch eingesteckt ist. Anschließend im linken Drittel an der Decke einen Schnapper nach oben drücken und die Einheit entnehmen. Für den Einbau muss die Einheit einfach nur wieder eingeklickt werden. Stromkabel nicht vergessen 😉
Der Erste Druckversuch war jedoch nicht erfolgreich. Zwar sind die Verschmierungen nicht mehr zu sehen gewesen, doch der Geisterdruck blieb bestehen (siehe Abbildung rechts).

Druckbild nach Transportband und BildtrommeltauschAlso habe ich auch die Bildtrommel ausgetauscht. Auch wenn diese äußerst verdreckt war habe ich sie ohne Reinigung eingebaut (eigentlich müsste sie sich ja selber reinigen). Und der nächste Druck war schon eine ganz andere Welt. Bis dahin hatte ich echte Zweifel ob es nur an einer der Druck-Einheiten liegt oder nicht doch an einem durch Hitze verbogenem Teil (schon 1/2 mm kann manchmal ausreichen, dass der Druck nicht mehr ordentlich funktioniert). Links sieht man das Druckresultat. Nach 2-3maligem Drucken ist auch der Strich in der Mite verschwunden. Vermutlich war das nur ein Rest vom Toner, der an den Einheiten geklebt hat.

Als nächstes habe ich noch den “Front-Klappen-Verschluss” getauscht, da dieser bei meinem Gerät bei etwa 50% Weg gehakt hat. Dazu mussten nur die vier Schrauben auf der Klappeninnenseite gelöst werden. Anschließend konnte das Panel mit den Kontakten von dem Deckel abgehoben werden und der Deckel durch Drücken des Clips auf der rechten Scharnierseite nach rechts herausgezogen werden. Umgekehrt alles wieder einbauen und darauf achten, dass die beweglichen Stifte des Kontakt-Panels wieder in ihre Öffnungen am Drucker kommen.
Ich habe herausgefunden, dass der Griff beim Drehen an der Deckelvorderseite geklemmt hat und ab einem gewissen Druck schlagartig weitergedreht hat. Bei dem Deckel aus dem Ersatzteilgerät war dies nicht der Fall.

Da ein Scharnier der Scannerabdeckung ebenfalls defekt war, habe ich dieses auch ausgetauscht. Dafür musste das Kabel der Einheit im hinteren unter einen Klappe herausgezogen werden. Anschließend konnte ich die Scharniere mit etwas Kraft aus ihren Löchern ziehen. Die Schrauben der Scharniere im eingebauten Zustand aufzuschrauben war mir zu aufwändig. Nun noch die Scharniere ausgetauscht und alles wieder zusammengesteckt.

Auswurfhalter01Als letztes fehlte noch der Halter im Auswurfschacht, diese Platte mit Klappe die man herauszieht, damit der Druck nicht herausfällt. Bei mir war ein Pin für die Klappe abgebrochen und diese somit nicht mehr nutzbar.
Der Ausbau hat mich einige Zeit gekostet, da ich ja auch nichts kaputt machen wollte. Es hat sich aber herausgestellt, dass dem so sein muss. Ich habe mit einem sehr kleinen schmalen Schraubenzieher (einem flachen) auf einer Seite die Führungsschiene der Platte herunter gedrückt und gleichzeitig kräftig gezogen. Wie auf den Bildern zu erkennen ist, befindet sich an den Führungsschienen-Enden der Platte kleine Erhebungen. Diese müssten durch den Führungsspalt gezogen werden. Die Tauschplatte wieder einzusetzen hat auch etwas dosierte Kraft erfordert.

Hier noch ein paar Bilder. Vielleicht helfen die euch, wenn ihr euch ans Reparieren macht.Auswurfhalter02  Auswurfhalter03

Ich bin wirklich happy 🙂 Auch wenn ich das gekaufte Ersatzteilgerät wohl nicht mehr werde verkaufen können (wäre auch noch schöner), habe ich für 20€ doch einen Multifunktionsgerät was wieder genau das macht was es soll: ordentlich Drucken, keine Reinigungsarbeiten und das ganze auch noch im Netzwerk. Vielleicht werde ich Transportband und Bildtrommel ja noch an einen Wiederverwerter los, meine auf ebay da etwas gelesen zu haben.

Damit ist für heute Schluss. Wer weiß ob ich mich demnächst nicht noch an dem Soft-Reset versuchen muss, wenn die Tonerkartuschen angeblich leer sind.

Schönes Reparieren euch allen, Neukaufen kann jeder 🙂

Acer Aspire One 751h tunen

Posted by quark007 | Posted in Computer & IT | Posted on 15-01-2015-05-2008

0

Nachdem Firefox immer größer, das Windows immer langsamer und die Webseiten immer aufwändiger werden, hat das Acer Aspire One 751h meiner Frau immer öfter die Grätsche gemacht. Bei mehr als 10 Tabs fängt der Firefox an zu spinnen und sobald Flash oder JavaScript im Spiel sind, ist es unerträglich. Also musste sich etwas ändern.

Mein erster Ansatz war den RAM zu vergrößern. Mit 1GB DDR2 PC5300 kommt man heute halt nicht mehr weit. Also habe ich zunächst den Kingston ValueRAM KVR800D2S6/2G-Riegel (1,8V) aus meinem Samsung N110 in den AO751h eingebaut. Beim Anschalten hat sich aber rein gar nichts getan. PowerLED ging an, aber die Festplatte drehte nicht und der Lüfter auch nicht. Glücklicherweise konnte ich über Bekannte 2015-01-14 OC_RAMeinen NANYA SO-DIMM 2GB 800MHz PC2-6400 DDR2 erhalten, der auch sofort funktioniert hat. Zudem habe ich gleich mal alle Klappen geöffnet und den Staub rausgepustet (oder mit Druckluft). Damit war schon ein ordentlicher Geschwindigkeitszuwachs zu erkennen insbesondere beim Hochfahren.

Als nächstes habe ich mich an die doch sehr langsame CPU gemacht. Ein ATOM Z520 ist nunmal leider kein Arbeitstier sondern eher eine lahme Ente. Beim Blick auf cpuZ ist mir dann aufgefallen, dass der nicht wie in den Spezifikationen auf 1,33MHz getaktet war, sondern nur auf 1,24. Das hat mich gefuchst und bei der Suche nach dem Grund bin ich sofort auf OverClocking-Webseiten gekommen. Mit dem Tool setFSB geht das auch ohne ein dafür vorgesehenes BIOS. Dafür muss im Programm in der DropDown-Liste ICS9LPRS365BGLF ausgewählt werden (alternativ auch. Die aktuellen Versionen (free 2.2.134.98; paid 2.3.178.134) haben mir immer einen Fehler ausgespuckt (PLL-ID error) wenn ich auf “Get FSB” klickte.  habe ich gelesen, dass ältere Versionen anscheinend funktionieren. Auf www.pctuner.net wurde ich fündig. Mit der Version 2.2.113.85 läuft bei mir alles problemlos. (für weitere Versionen ganz unten auf der Seite schauen).

SetFSB

Also habe ich den FSB auf 139,9MHz übertaktet und damit einen Max. CPU-Takt von knapp 1,4GHz ermöglicht. Auch der Grundtakt ist zwar etwas gestiegen, aber das macht nichts, der Akku hält sowieso noch lange genug.

CPUz Ansicht

HWmonitor

Als nächstes wollte ich GMAbooster installieren, um die GPU noch etwas aufzumöbeln. Doch leider wird der GMA500 noch nicht unterstützt. Bei der google-Suche nach “Intel GMA500 update” habe ich von einem neuen Treiber gelesen, der angeblich auch einen gewissen Performance-Schub ermöglichen sollte. Diesen also von Intel selber heruntergeladen und installiert.
Ganz meine Erwartungen hat er zwar nicht erfüllt, dennoch meine ich eine kleine Verbesserung gespürt zu haben.

Alles in Allem war das Projekt für mich sehr erfolgreich:

  1. einem Laptop ein längeres Leben geschenkt
  2. der Umwelt zumindest zeitweise mehr Müll erspart
  3. ein Strahlen ins Gesicht meiner Frau gezaubert 😉

Man muss nicht immer gleich alles Wegwerfen, vieles hat ein 2. Leben verdient.

Wo wir gerade dabei sind: an der Bergstraße gibt es jetzt auch ein Repair-Cafe. Die Termine finden sich auf der Homepage

www.repaircafe-bergstrasse.de

RaspberryPi als WLan-Lan-Bridge und Musik-Player

Posted by quark007 | Posted in Computer & IT | Posted on 07-01-2015-05-2008

1

Zu Weihnachten habe ich mir einen Home-Server gewünscht/gekauft, der auch als NAS fungieren soll. Damit hat sich die Frage der Verwendung meines RaspberryPis gestellt.

Ich habe schon RaspBMC sowie Debian mit Owncloud und MiniDLNA ausprobiert. Doch XMBC hat über WLan eine zu geringe Bandbreite, sodass der Stream andauernd Ruckelt. Debian mit Owncloud und MiniDLNA war mir vom System her zu langsam (insbesondere Owncloud auf dem LAMP-Server). Da diese ganzen Aufgaben nun bald das NAS übernehmen soll hat sich angeboten das RaspberryPi als WLan-Lan-Bridge für den  Fernseher (Samsung UE40C620) zu nutzen, da dieser lediglich einen LAN-Anschluss hat (ich weiß, es wäre auch mit einem WLan-Stick gegangen). Zudem habe ich meine 5.1-Anlage im Fernsehschrank stehen, die ich auch gerne mit Musik aus dem NAS füttern wollte. Ich habe mich für den Music Player Deamon entschieden.

Die Anleitung zum installieren von Debian findet sich auf der RasperryPi-Community Homepage. Für die WLan-Bridge habe ich folgendes Tutorial verwendet:
http://www.forum-raspberrypi.de/Thread-raspbmc-als-wlan-lan-bridge
Damit verbindet sich das RasPi mit dem Router-WLan und baut über seinen LAN-Port ein zweites Netzwerk mit anderem Adressbereich auf z.B. WLan 128.168.169.x und LAN 128.168.170.y Dabei ist das RasPi beim Fernseher als Gateway und DNS einzustellen.

Der Music-Player-Deamon installiert sich nach diesem Tutorial http://www.forum-raspberrypi.de/Thread-tutorial-music-player-daemon-mpd-und-mpc-auf-dem-raspberry-pi

Nach der Installation über die Paketverwaltung sollte zunächst die Freigabe gemountet werden. Z.B. mit folgendem Befehl:

#erstellen des Mount-verzeichnisses
sudo mkdir /mnt/nas 
#der erste Mount-Versuch
sudo mount -t cifs //128.168.169.20 /mnt/nas -o username=[username],password=[passwort]
#mounten des NAS
 sudo chmod g+w /mnt/nas/music /mnt/nas/playlists/ #Berechtigungen ändern
 sudo chgrp audio /mnt/nas/music /mnt/nas/playlists/ #Besitzer zu audio ändern 

Sollte das mounten funktioniert haben und dauerhaft geschehen soll, muss man in der Datei /etc/fstab eine weitere Zeile hinzufügen, z.B. folgende

//192.168.169.20/   /mnt/nas      cifs   username=[username],password=[passwort] 

Dabei ist darauf zu achten, dass am Ende der Datei immer eine Leerzeile vorhanden ist. Mit dem Befehl

sudo mount -a

werden alle Medien neu gemountet, die in der datei fstab definiert ist. Anschließend kann mit der Konfiguration von MDP in der Datei /etc/mpd.conf fortgefahren werden. Dabei sollte der Dateipfad von Music und Playlists auf das eben gemountete Volumen setzt werden.

sudo nano /etc/mpd.conf
music_directory         "/mnt/nas/music"
playlist_directory      "/mnt/nas/playlists"

Anschließend mit

sudo /etc/init.d/mpd restart
sudo mpc update

den Deamon neu starten und die Verzeichnisse neu einlesen lassen.

So leicht kommt man zu einem Mediaplayer, der gleichzeitig auch den Fernseher per WLan einbindet. Den MediaPlayer kann man sehr einfach mit der Android App MPDroid oder mit dem OpenSource Programm Auremo sehr komfortabel bedienen und verwalten. Seitdem läuft bei mir wieder fast täglich Musik

 

Edit1: Ich bin umgestiegen von dem FritzNas (also Musik auf dem Stick an der FritzBox) auf mein SMB-Share auf dem NAS. Dabei tauchte das Problem auf, dass der freigegebene Ordner nicht richtig gemountet wurde. Wie ich hier lesen konnte, liegt das vermutlich an einer langsamen Verbindungsherstellung des Netzwerks und eines zu schnellen mountens. Aber die Lösung mit einer Befehlausführung nach Verbindungsherstellung funktioniert bei mir wunderbar, auch wenn es eigentlich auch direkt über die fstab beim Boot funktionieren sollte.

Edit2: so einfach ging es dann doch nicht. Habe aber einen neuen Umweg gefunden die Freigabe doch beim STarten korrekt zu mounten. Siehe hier

Hier noch ein weiterer Link zum Aufbau einer WLAN-to-Lan-Brücke.
http://wiki.ubuntuusers.de/Internetverbindungsfreigabe

Edit3: nachdem RaspBMC ja nun in KODI aufgegangen ist, habe ich OSMC installiert und wollte das gleiche wieder einrichten. Dabei gab es jedoch Probleme mit dem analogen Sound-Ausgang. Er wurde einfach nicht mehr gefunden. Ich habe mir einen Wolf gesucht bis ich irgendwann auf dieses Thema gestoßen bin
http://www.forum-raspberrypi.de/Thread-raspbmc-osmc-alsa-nachinstallieren-mpd-output-anpassenDarin wird sehr gut beschrieben, dass man zum einen eine Änderung in der /boot/config.txt vornehmen muss und außerdem auch alsa-base zu installieren hat. Zuvor hat mir aplay -l nie eine Soundkarte angezeigt. Nach den Änderungen hat es jedoch super funktioniert.

 sudo echo 'dtparam=audio=on' >> /boot/config.txt
 sudo apt-get install alsa-base alsa-utils 
 sudo reboot -h
 sudo modprobe snd_bcm2835 
 sudo alsactl init 
 sudo amixer cset numid=3 1 
 sudo alsactl store

Openmediavault mit Webserver

Posted by quark007 | Posted in Computer & IT | Posted on 07-01-2015-05-2008

4

Zu Weihnachten habe ich einen HP ProLiant G1610T MicroServer geschenkt bekommen. Dieser soll hauptsächlich als zentraler Datenspeicher dienen. Doch wenn man schon die Möglichkeit hat, möchte ich viele Skripte von meinem Webspace nach Hause holen. Als Betriebssystem habe ich mich für OpenMediaVault auf Debian-Basis entschieden.

Als erstes sollte man sich der Installation des OMV-Extras-Plugin widmen. Eine Erläuterung dazu findet man hier -> http://omv-extras.org/

Für die Installation des nginx-Webservers gibt es einige Dinge die beachtet werden sollten:

  • als erstes sollte ein eigener Freigegebener Ordner (Shared Folder) erstellt werden. Damit lassen sich die Webserver-Dateien gut vom Rest trennen. Bei der späteren Einrichtung ist dieser Ordner auszuwählen
  • Anschließend installiert man den nginx-Server über die Erweiterungen (Plugins).
  • Vor der Einrichtung eines Servers muss zunächst ein Pool über den Reiter “Pools” erstellt werden. Dieser ist für die Verwendung von PHP notwendig.
  • Die Konfiguration eines Webservers funktioniert über den Reiter Server. Dort wird jedem Server ein eigener Port zugewiesen, über den er aus dem Netzwerk erreichbar ist.
  • Anschließend muss der nginx-Server auf der Settings-Seite aktivieren werden

So weit so gut, nun fehlt ja nur noch MySQL. Viele meiner Skripte speichern Daten in Datenbanken, sodass ich auf diese Funktion nicht verzichten konnte. Eigentlich klingt es genauso einfach wie die Webserver-Installation: PlugIn installieren, Freigegebenen Ordner erstellen, MySQL aktiveren und fertig. Doch so einfach war es nicht. Nach insgesamt knapp 7 Stunden habe ich es dennoch geschafft.

Das Problem ist, dass das OpenMediaVault-Plugin die Datenbank in einen freigegebenen Ordner verschieben will. Die bei der Installation erzeugten Datenbank-Dateien (sozusagen das MySQL-Profil) wird beim Aktivieren auch korrekt in den richtigen Ordner verschoben. Nur blöd, dass der MySQL-Server dann nicht mehr starten will. Daher gibt es auch eine Fehlermeldung, weil er angeblich keinen Schreibzugriff auf eine Datenbankdatei hat (laut /var/log/syslog).

Failed to execute command 'export LANG=C; invoke-rc.d 'mysql' stop 2>&1': Stopping MySQL database server: mysqld failed!
invoke-rc.d: initscript mysql, action "stop" failed.

Error #4000:
exception 'OMVException' with message 'Failed to execute command 'export
 LANG=C; invoke-rc.d 'mysql' stop 2>&1': Stopping MySQL database 
server: mysqld failed!
invoke-rc.d: initscript mysql, action "stop" failed.' in 
/usr/share/php/openmediavault/initscript.inc:176
Stack trace:
#0 /usr/share/php/openmediavault/initscript.inc(148): OMVSysVInitScript->invoke('stop')
#1 /usr/share/php/openmediavault/initscript.inc(53): OMVSysVInitScript->stop()
#2 /usr/share/openmediavault/engined/module/mysql.inc(126): OMVSysVInitScript->exec()
#3 /usr/share/openmediavault/engined/rpc/config.inc(164): OMVModuleMySQL->stopService()
#4 [internal function]: OMVRpcServiceConfig->applyChanges(Array, Array)
#5 /usr/share/php/openmediavault/rpcservice.inc(125): call_user_func_array(Array, Array)
#6 /usr/share/php/openmediavault/rpcservice.inc(158): OMVRpcServiceAbstract->callMethod('applyChanges', Array, Array)
#7 /usr/share/openmediavault/engined/rpc/config.inc(224): OMVRpcServiceAbstract->callMethodBg('applyChanges', Array, Array)
#8 [internal function]: OMVRpcServiceConfig->applyChangesBg(Array, Array)
#9 /usr/share/php/openmediavault/rpcservice.inc(125): call_user_func_array(Array, Array)
#10 /usr/share/php/openmediavault/rpc.inc(79): OMVRpcServiceAbstract->callMethod('applyChangesBg', Array, Array)
#11 /usr/sbin/omv-engined(501): OMVRpc::exec('Config', 'applyChangesBg', Array, Array, 1)
#12 {main}

Einer Überprüfung hält diese Meldung aber nicht stand.

Nach langer Suche im Internet bin ich auf eine “uralte” Seite gestoßen, in der schon 2009 das verschieben der MySQL-Datenbanken beschrieben wird. Der eigentliche Clou an der Sache: es wird keine Änderung an der MySQL-Konfiguration vorgenommen (daher vermutlich die Probleme beim Start), sondern es wird lediglich ein Link zwischen dem Alten und dem Neuen Datenbankverzeichnis erstellt. Meine Vorgehensweise war wie folgt:

  1. Im Interface den MySQL-Server einstellen, speichern und die Config übernehmen. Der Prozess wird mit einem Fehler beendet werden. Diesen noch nicht schließen sondern zunächst über SSH einloggen.
  2. Mysql-Server stoppen:
    service mysql stop
  3. Alle Daten in das Verzeichnis, das auch in OMV für die Freigabe ausgewählt wurde
    cp -a -r /var/lib/mysql/* /media/[HDD-ID]/[VERZEICHNIS]
    
    rm -r /var/lib/mysql
  4. Nun den Link erstellen
    ln -s /media/[HDD-ID]/[VERZEICHNIS] /var/lib/mysql
  5. Da OMV die MySQL-Config zudem angepasst hat, muss man das wieder rückgängig machen. Dafür muss in der Datei /etc/mysql/my.cnf noch der Link auf den Ordner mit der neuen Konfiguration entfernt werden
    sudo nano /etc/mysql/my.cnf

    und am Ende der Datei folgende Zeile auskommentieren

    !includedir /etc/mysql/conf.d/
    <---- zu ---->
    #!includedir /etc/mysql/conf.d/
  6. MySQL-Server wieder starten
    # service mysql start
  7. Nun wieder in das OMV-Webinterface gehen und aktualisieren. Es kann sein, dass man die Konfiguration nochmals übernehmen muss. Das ändert an den gemachten Änderungen aber nichts. Nun funktioniert auch MyWebSQL verfügbar.

Falls meine Anleitung nicht funktioniert gibt es hier noch weitere Tips:

hier noch ein paar verwendete Befehle, die ich vielleicht selber irgendwann mal wieder brauche:

apt-get --purge remove libdbd-mysql-perl libmysqlclient18:i386 mysql-client-5.5 mysql-common mysql-server-5.5 openmediavault-mysql php5-mysqlnd mysql-server-core-5.5 mysql-server 
rm /var/lib/mysql/ -r
rm /etc/mysql/ -r

apt-get install libdbd-mysql-perl libmysqlclient18:i386 mysql-client-5.5 mysql-common mysql-server-5.5 openmediavault-mysql php5-mysqlnd mysql-server-core-5.5 mysql-server 

cp -a -r /var/lib/mysql/* /media/´[HDD-ID]/sqldata

ln -s /media/[HDD-ID]/sqldata /var/lib/mysql