Alle Beiträge von Matthias

Midnight Commander unter Lubuntu installieren

Der Midnight Commander ist ein Dateimanager alter Schule, mit Zwei-Fenster-Ansicht und umfangreicher Tastaturbedienung – eben praktisch. Durch das Fehlen einer GUI und der Ansicht innerhalb der Konsole ist das ein richtiges Leichtgewicht und somit wie geschaffen wie bspw. das Netbook Samsung N150.

Zur Installation unter Lubuntu 14.04 folgende Schritte in der Konsole abarbeiten:

  • $ echo ‚deb http://www.tataranovich.com/debian trusty main‘ >> /etc/apt/sources.list
  • $ echo ‚deb-src http://www.tataranovich.com/debian trusty main‘ >> /etc/apt/source.list
  • $ sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 2EE7EF82
  • $ sudo apt-get update
  • $ sudo apt-get install mc

Zum Start des Midnight Commander $ mc in der Konsole eingeben und los gehz ..

Gigaset C430 IP einrichten

Das Gigaset C430 IP ist, wie der Name schon verrät, ein IP-Telefon. Damit ist also die Telefonie per VoIP möglich. Da mein Router, ein Draytek Vigor 2820Vn nicht mit dem Telekom-SIP kommunizieren kann, musste ich die Telefonie ungeplant auslagern. Hier nun Details zur Einrichtung.

Gerät anschließen und im Netzwerk anmelden funktioniert erstmal standardmäßig. Das Aufrufen der IP im Browser läuft auch problemlos. Nach Eingabe der Standard-PIN „0000“ dauert das Laden der Seite dann schon gefühlte Ewigkeiten. Auch im zweiten Versuch dauert es eine Weile, bis die Hinweisseite zum Ändern der PIN erscheint. Da mir das schon etwas komisch erscheint erlaube ich mir eine kurze Web-Recherche und finde doch tatsächlich Hinweise darauf, dass es anderen Nutzern ähnlich erging. Häufigster Tenor war, die Einrichtung am Handgerät zu vollziehen. Diesen Ratschlag beherzigte ich und tatsächlich funktionierte das wesentlich problemloser. Vorher musste die Firewall am DSL-Router allerdings angepasst werden – bzw. eingehender Verkehr vorübergehend ungefiltert erlaubt werden. Die detaillierten Portfreigaben werden am Ende dieses Artikels aufgeführt.

Am Handgerät  also unter „Einstellungen“ „Telefonie“ wählen, danach „VoIP einrichten“. Nach Auswahl des Profils „T-Online“ müssen lediglich die eMail-Adresse als Authentication-Name und das zugehörige Passwort angegeben werden. Username und Display-Name sind die Festnetz-Telefonnummer in der Form 012341234567. Danach sollte auch die Arbeit mit dem Web-Frontend das C430 fließender funktionieren. Nun noch einmal die komplette Konfiguration:

  • Authentication Name: me@t-online.de
  • Username: Festnetznummer Vorwahl + Rufnummer ohne Leerzeichen
  • Domain: tel.t-online.de
  • Proxy-Server: tel.t-online.de:5060
  • Registration server: tel.t-online.de:5060
  • Registration refresh time: 600s
  • STUN
    • Server: stun.t-online.de:3478
    • Refresh time: 240s
  • NAT refresh time: 20s
  • Otbound-Proxy: Never
  • Network-Protocol: Automatic

Zur Aktivierung der Firewall muss der eingehende Verkehr auf folgenden UDP-Ports erlaubt werden: 5060, 5070, 5080, 30000-31000, 38000-39000 und 40000-41000. Ausgehender Verkehr sollte auf den TCP-Ports 80, 443 und 60280-60330 und allen UDP-Ports zugelassen werden. Die TCP-Ports sind aber lediglich zur Konfiguration nötig, jedoch nicht zur eigentlichen Telefonie. Außerdem muss der komplette UDP-Verkehr vom Telekom-SIP-Gateway (217.0.0.0/13 bzw. 217.0.0.0/255.248.0.0) erlaubt werden.

Debugging in TYPO3 CMS

Extension debuggen

Auf something.php gibt es zwar schon einen sehr interessanten Artikel zu diesem Thema, aber ich möchte das noch einmal für mich auf die Schnelle zusammenfassen.

Für die TYPO3 CMS 4.x-Ära half u.a. zum Debugging einer Extension:

$content .= t3lib_utility_Debug::viewArray($this->piVars);
return $this->pi_wrapInBaseClass($content);

Unter zuhilfenahme der Namespaces unter TYPO3 CMS 6.x hilft folgendes:

\TYPO3\CMS\Core\Utility\DebugUtility::debug($var, 'Title', 'Group');

oder

 \TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($var, 'Title');

Um das Frontend-Debugging zu aktivieren, muss per InstallTool die Eigenschaft $TYPO3CONF[‚FE‘][‚debug‘] auf 1 gesetzt sein!

TypoScript debuggen

Um beispilesweise die Inhalte eines HMENU darzustellen, hilft folgender Code:

xxx = HMENU
xxx {
  entryLevel = 1
  1 = TMENU
  1 {
    debugItemConf = 1
    NO {
      # hier sonstige Angaben zur Darstellung des Listenpunktes
      stdWrap.debugData = 1
    }
  }
}

debugData stellt dabei den jeweiligen Datensatz im Frontend dar ($cObj->data), debugItemConf zeigt das Konfigurations-Array. Diese Optionen können natürlich auch unabhängig voneinander Verwendung finden.

Dazu gibt es weitere Informationen auf wiki.typo3.org.

Extension auf FAL umstellen

TYPO3 CMS ab Version 6.x setzt auf FAL (File Abstraction Layer) zur Dateireferenzierung. Dies hat einige Vorteile, z.B. kann eine Datei mehrmals verknüpft werden, ohne dass Kopien erstellt werden müssten, wie es vorher der Fall war.

Im Umkehrschluss heißt das allerdings, dass der Dateizugriff im PHP-Quellcode der TYPO3-Erweiterungen angepasst werden muss, wenn bspw. Bilder dargestellt werden. Hier ein kurzes Beispiel zur Umstellung.

In einer Extension in TYPO3 CMS 4.7 zur Darstellung als Template-Marker sah es noch so aus:

# $this->cObj->data => vollstaendiger darszustellender Datensatz
$tmp = explode(',', $this->cObj->data['image']);
if (count($tmp)>0){
  foreach ($tmp as $key=>$value){
    $markerArray['###MY_IMAGE###'] = $this->cObj->IMG_RESOURCE( array( 'file'=>'uploads/pics/' . $value, 'file.'=>array( 'width'=>'199m', 'height'=>'165' )) );
    $this->cObj->substituteMarkerArrayCached($subparts['template_alt_image'], $markerArray);
  }
}

Nach der Umstellung auf TYPO3 CMS 6.2 sieht obiger Code dann so aus:

if (intval($this->cObj->data['image'])>0){ # $this->cObj->data['image'] enthaelt nun die Anzahl der referenzierten Dateien
  $fileRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\FileRepository');
  $fileObjects = $fileRepository->findByRelation('tt_content', 'image', $this->cObj->data['uid']);
  foreach ($fileObjects as $key=>$value){
    $markerArray['###MY_IMAGE###'] = $this->cObj->IMG_RESOURCE( array(
'file.'=>array('treatAsReference'=>1, 'width'=>'199m', 'height'=>'165', ),
'file' => $value->getOriginalFile()->getProperties()['uid'],
'params'=>'',
'altText'=>'',
) );
  $this->cObj->substituteMarkerArrayCached($subparts['template_alt_image'], $markerArray);
  }
}

Eine sehr hilfreiche Dokumentationen dazu ist das TYPO3Wiki.

Lubuntu auf Samsung N150

Das Netbook Samsung N150 mit Win7 Starter hab ich nun schon einige Jahre. Gekauft wurde es eigentlich eher aus Neugier zum damals neuen kleineren Bruder des Notebooks. In letzter Zeit kam es aber eher selten zum Einsatz. Grund dafür mag einerseits meine mangelnde Mobilität sein, aber hauptsächlich ist die doch recht träge Performance dafür verantwortlich.

Nach dem Kauf 2011 fiel das gar nicht so sehr ins Gewicht, aber momentan sind die Leistungsunterschiede schon massiv. Da dieses Gerät nur als Drittgerät und als Surfgerät für Unterwegs fungieren sollte, bin ich nicht auf das installierte Microsoft Windows 7 Starter angewiesen, welches in meinen Augen ein Hauptgrund für die schlechte Performance ist.

Somit war die Suche nach einem leichtgewichtigen Betriebssystem eröffnet. Da auf dem heimischen PC Ubuntu 14.04 läuft und ich auch in Richtung Linux schielte, lag die Entscheidung für Lubuntu nahe. Also per UNetBootin ein USB-Stick mit Lubuntu 14.04 erstellt und als Live-System getestet. Alles prima! WLAN funktioniert auf Anhieb, Performance war um Welten besser als vorher (lag sicherlich auch am Flash-Speicher!) und auch sonstige kleinere Spielereien ließen mich nicht daran zweifeln, dass ich Windows ablösen sollte.

Also ran an den Speck, per Live-System nachgeschaut, ob noch irgendwelche verwertbaren Daten auf dem Rechner sind und diese auf’s NAS kopiert. Danach „Installation auf Festplatte starten“. Sprache auf Deutsch angepasst und „Weiter“.

Folgende Auswahl der Partitionen hatte ich getroffen: „Alle Daten löschen“, Verschlüsselung aktivieren und LVM einrichten; dann „Weiter“. Doch nix war’s .. Abbruch mit Fehler „ubi-partman failed with exit code 141“ .. Auch ein erneuter Versuch ohne Verschlüsselung brachte keinen Erfolg – selber Fehler. Also Neustart und sofortige Lubuntu-Installation (ohne Start des Live-Systems). Doch auch jetzt Abbruch mit Fehler 141. „Das darf nicht sein“ dachte ich mir und zog die Internet-Community zu rate:

„From the bug description, looks like, problem is, when Ubuntu is installed on system, where are 2 OS and one of them is Ubuntu. Workaround could be to remove the old Ubuntu partition before you install a new one.“ [askubuntu.com]

Das „Problem“ war also bekannt: die Installationsroutine hatte Probleme mit dem bereits installierten Betriebssystem! Also ein erneuter Versuch mit manuellem Löschen der Partitionen. Aber auch das war eine Sackgasse, da es mir nicht erlaubt war, die unter sda eingebundenen Partitionen zu verändern („Partition durch linux-vg in Verwendung“). Neustart und „Lubuntu installieren“. Mit der Auswahl „Alle Daten löschen“ und ohne Verschlüsselung und ohne LVM lief die Installation dann doch an. Die Verschlüsselung der privaten Daten (/home/usr) konnte allerdings in einem späteren Schritt nachgeholt werden.

Nach ca. 30 Minuten hatte ich ein – für Netbook-Verhältnisse – flottes Lubuntu laufen. Beim weiteren Einrichten fielen dann doch noch kleinere Schwachstellen auf, z.B. war der Einstellungsdialog des Firefox zu hoch für das auf 1024×768 maximal eingestellten Displays, sodass der Schließen-Button am unteren Ende nicht sichtbar war. Durch die sichtbare Fensterleiste kein wirkliches Problem, aber dennoch eine (kleiner) Minuspunkt.

Die Sache mit der Telekom ..

Internet ist schon ne prima Angelegenheit – wenn es denn funktioniert!

Nun hat die Telekom ja beschlossen, die analogen DSL-Anschlüsse (ADSL) zu kappen und und komplett auf Digitalisierung zu setzen, Stichwort VDSL. Hier werdet ihr über meine Erfahrungen während der Umstellung von ADSL 6000 auf VDSL 50 lesen können.

Mitte Juli 2014 erfuhr ich von der Telekom-Hotline, dass bei mir VDSL 50 verfügbar sei und eine Umstellung von ADSL bevorstehen würde. Ich war dem gegenüber positiv aufgeschlossen und so wurde ein Umstellungstermin Mitte September vereinbart. So weit, so gut. Mit VDSL funktioniert bekanntlich die analoge Telefonie (ohne Telefonanlage) nicht weiter und so musste ein neuer Router her. Bislang verrichtete ein Draytek Vigor 2920n sein Geschäft sehr souverän, allerdings war ein ADSL-Modem (TP-Link) vorgeschalten und eben kein VoIP möglich.

Auf Grund der Tatsache, dass ich auf kein VPN verzichten wollte und weiterhin ein detaillierter Benutzerfilter vorhanden sein sollte, fiel die Liste der möglichen Router recht kurz aus. Hier noch einmal die von mir als Ziel gesetzten Routerfunktionen:

  • integriertes VDSL-Modem
  • integrierte VoIP-Telefonie
  • VPN-fähig
  • Firewall / User-Filter
  • WLAN n-Standard, möglichst Dualband

Da die Zeit mittlerweile recht fortgeschritten war und ich mich noch nicht zu einer größeren Investition breitschlagen ließ, besorgte ich zum Übergang erstmal einen Speedport W724V.

Nun musste aber doch eine Entscheidung pro VPN getroffen werden und meine Entscheidung fiel schließlich auf einen Dratyek Vigor 2820Vn – da ich mit den Produkten dieser taiwanesischen Firma bisher sehr gute Erfahrungen machte.  Mit großer Freude nahm ich das Gerät in Betrieb und konnte schnell den DSL-Anschluss in Betrieb nehmen – einschließlich VPN und umfangreicher Filterregeln. Das Handling der Draytek-Router und deren GUIs unterscheiden sich kaum und so konnte ich viele Einstellungen 1:1 übernehmen. Nun musste allerdings noch die Telefonie in Betrieb genommen werden, und da kam die große Ernüchterung: es funktionierte (auch nach viel Konfigurations-Rumgespiele) einfach nicht. Also musste der Speedport wieder übergangsweise ran – damit der Rest der Familie wenigstens telefonieren konnte. 😉

Nach einigen Telefonaten mit den netten Telekom-Hotline-Mitarbeitern und einem Gespräch mit dem deutschen Draytek-Support (Telefon-Nr. +49 621 7176670) dann die schlechte Nachricht: die aktuelle Firmware des Vigor kann nicht mit dem SIP-Gateway von T-Online kommunizieren, dies würde erst in der übernächsten Firmware-Version behoben (Stand 22.11.2014)! Also aus der Traum von einem Gerät für alle meine (Online-)Wünsche, ein separates IP-Telefon musste her. Ich entschied mich für das erstbeste (und einzige), das ich im MediaMarkt fand: ein Gigaset C430 IP. Dazu musste zwar die Firewall noch angepasst werden, aber zumindest funktioniert jetzt alles so wie gewünscht!

Speedport W724V – ein Wunder der Technik

Router mit VDSL-Modem und integrierter VoIP-Anlage sind selten (vor Allem, wenn AVMs Fritz!Box aussen vor bleiben soll) und auch recht preisintensiv. Um in die VDSL-Technik reinzuschnuppern legte ich mir somit ein günstiges Speedport W724V zu: gabs bei Reichelt für ca. 115€.

Anfangs war alles prima, DSL schnell eingerichtet, WLAN aktiviert und der Familie bekanntgegeben. Da einige Netzwerkkomponenten allerdings nicht WLAN-fähig waren (NAS, PC, Radio), existieren Powerline-Adapter (Devolo dLAN 500), von denen einer direkt hinter dem Speedport hing. Mehrere Tage lief der Router klasse, bis zum Zeitpunkt, als sich die Telefonie (per analoges Gigaset-Telefon) verabschiedete: die Telefonie-LED am Speedport war aus. Eine halbe Stunde später verabschiedete sich ebenfalls das WLAN (obwohl die LED aktiv blieb) und das Speedport verband keine internen LAN-Geräte mehr ins Internet – obwohl das Administrations-GUI eine intakte DSL-Verbindung darstellte. Ein Reset des Routers half bisweilen. Circa aller 12 Stunden dann das selbe Spiel, bis ich auf den Trichter mit dem Powerline-Adapter kam: Verbindung getrennt und der Speedport lief tagelang stabil.

Da die o.g. nicht WLAN-fähigen Geräte allerdings wieder ins Netz integriert werden sollten, musste eine andere Lösung her. Ein separater WLAN-Accesspoint (AP) sollte die fehlende Powerline-Verbindung ersetzen. Die Entscheidung fiel auf einen TP-LINK <MODELL>. Die Installation verlief erstaunlich einfach und das Netz war wieder komplett. Doch nach einigen Stunden wieder ein Aussetzen der VoIP-Telefonie und keine Verbindung ins Internet. Nun musste doch die Telekom-Hotline helfen; Das tat sie auch. Die Service-Mitarbeiter waren nett und bemüht, eine Ursache für die Verbindungsabbrüche zu finden. Doch mehr als die Auskunft, auf Seiten des Providers treten keine Probleme oder Fehlermeldungen auf war nicht drin. Selbst ein (kostenfreier) Austausch meines Speedport durch ein Modell gleichen Typs brachte keinen Erfolg.

Letztendlich bleibt die Erkenntnis, dass das eingesetzte Speedport W724V für den allgemeinen Gebrauch ausreicht, aber für meine – in diesem Szenario aber recht geringen – Anforderungen mit konstanter (W)LAN-Verbindung nicht genügt. Da blieb nur der Wechsel zu einem „Profi-Gerät“ wie dem Draytek Vigor 2820.