Kategorien
Kurztipp Linux Open Source Tutorial

Linux: Musik verstummt plötzlich

Man hört Musik, bekommt eine Email – und die Musikanwendung ist plötzlich stumm. Dahinter steht ein Problem in einem Modul von PulseAudio, das aber recht einfach zu beheben ist.

Kategorien
Open Source SEO Tutorial WordPress

WordPress Beine machen

WordPress ist eine nicht gerade kleine Software. Deshalb kann es durchaus vorkommen, dass das Laden von Artikel viel Zeit in Anspruch nimmt. Das ist nicht nur nervig, sondern auch unvorteilhaft für das Suchmaschinenranking. Man kann aber etwas dagegen tun: Caches.

Zunächst einmal ist es wichtig, eine PHP-Version mit Caching einzusetzen. Ab PHP 5.5 wurde OPCache per Default mitgeliefert. PHP 7 ist gegenüber PHP 5 aufgeräumt wurden, was es zusätzlich flotter macht.

Als zweiten Punkt sollte man Caching von WordPress selbst ins Auge fassen. Es gibt etliche Plugins in WordPress‘ Plugin-Directory, die man benutzen kann. Das beliebte W3 Total Cache ist übrigens mit WordPress 4.7.1 nicht mehr kompatibel. Update: Dieser Effekt betrifft scheinbar nicht alle WordPress-Installationen bzw. PHP-Konfigurationen.

Ich benutze daher WP Super Cache, was auch für Laien recht einfach zu benutzen ist, weil es diverse Einstellungen als empfohlen markiert. Daran kann man sich beim Einstellen orientieren.

Wenn man diesen Schritten folgt, baut WordPress die Seiten und Artikel schon ein gutes Stück schneller auf. Aber mitunter noch ausbaufähig. Eine weitere Möglichkeit ist ein auf Redis basierender Cache wie Redis Cache. Redis ist eine NoSQL-Datenbank mit einfacher Key-Value-Struktur.

In meinem Falle hat dieses Plugin den Seitenaufbau nochmals spürbar beschleunigt. Man verbindet das Plugin in den Einstellungen mit dem Redis Server (was z. B. über einen Unix-Socket läuft) und anschließend cached WordPress auch über Redis, was sich (zumindest in meinem Fall) fast schon deutlicher als die vorherigen Schritte bemerkbar gemacht hat. Nachteil hier ist eben nur, dass man sich um einen Redis-Server kümmern muss. Wenn man auf dem Webserver nur noch begrenzt Ressource frei hat, sollte man auf diese Maßnahme eher verzichten.

tl;dr

  • Benutze PHP 7 oder eine PHP Version mit Opcache
  • Benutze Caching Plugins wie WP Super Cache
  • Benutze Redis Cache, falls möglich (benötigt zusätzlichen Redis-Server)

 

Kategorien
Open Source Tutorial Unix

FreeBSD: SSHFS benutzen

Ich benutze unter Linux oft gvfs-mount zum Einhängen entfernter SFTP-Verzeichnisbäume. Ich selbst habe dieses unter FreeBSD nicht zum laufen bewegen können. Daher habe ich mich nach Alternativen umgesehen und bin auf sshfs gestossen, dass im Endeffekt das Gleiche wie gvfs-mount tut (im Hintergrund ist das Ganze natürlich etwas anders).

Am Anfang gibt es ein paar mögliche Fehler, die ich lange Recherchieren musste. Ich sammle hier einige Fehler und deren Lösungen, die auf meinem nahezu frisch installierten FreeBSD 10.3 aufgetreten sind. Vielleicht erspart das dem ein oder anderen ellenlanges Recherchieren.

Vorweg: Ich habe sshfs über pkg als Binärpakete installiert, nicht über den Ports-Tree. In meiner /etc/sysctl.conf steht zusätzlich noch ein vfs.usermount=1, damit „normale“ Benutzer auch mounten können.

Folgende Pakete sind installiert:

# pkg info  | grep fuse
fusefs-libs-2.9.5              FUSE allows filesystem implementation in userspace
fusefs-sshfs-2.7               Mount remote directories over ssh

sshfs funktioniert im Grunde ganz einfach. Man hängt den entfernten Baum in einem Verzeichnis (aka Mountpoint) ein, z. B. in (das man zuvor selbst anlegt). Anschliessend kann man mitsshfs user@server:/path/ das Verzeichnis anhängen. Mit mount kann man nachgucken, ob der Baum noch eingehängt ist und umount /dev/fuse kann man den Baum dann auch aushängen.
Es gibt zum Aushängen des Baums (zumindest unter Linux) wohl auch ein fusermount -u , dass ich aber inpkg` nicht finden konnte.

Fehler: Prozess kann das FUSE-Device nicht finden

Das liegt daran, dass die Device-Datei /dev/fuse über das Kernelmodul fuse erzeugt bzw. verwaltet wird. Daher muss man es mit kldload fuse laden. Mit kldstat kann man prüfen, ob es auch wirklich geladen wurde.

# kldstat 
Id Refs Address            Size     Name
 1    3 0xffffffff80200000 17bc680  kernel
# kldload fuse
# kldstat
 1    3 0xffffffff80200000 17bc680  kernel
 2    1 0xffffffff81a11000 df9a     fuse.ko

Damit man das nicht jedes Mal tun muss, kann man fuse_load="YES" in die Datei /boot/loader.conf eintragen. Dann wird das Modul beim Booten automatisch mitgeladen.

Fehler: Prozess kann das FUSE-Device nicht benutzen

Fehlermeldung: unable to open FUSE device: Permission denied

Per Default sind die Berechtigungen auf dem Device /dev/fuse auf root:operator. Ist der Benutzer nicht in der Gruppe drin, kann er folglich auch nicht darauf zugreifen.

user@boexli [13:53:31] [ 
-> % ls -la /dev/fuse*
crw-rw----  1 root  operator  0x55 Sep 22 13:50 /dev/fuse

# pw usermod user -G operator

Nachdem der Benutzer sich einmal wieder neu angemeldet hat, sollte der Fehler nicht mehr auftreten.

Problem: Symlinks sind kaputt

Wenn man einen entfernten Server ohne Optionen einbindet, sind die Symlinks kaputt (File not found). Das kann man recht leicht beheben, indem man den Parameter -o follow_symlinks sshfs mitgibt. Dann funktionieren auch Symlinks. Ursprünglich war die Option mal transform_symlinks, funktioniert aber schon seit ca. 2011 so nicht mehr.

Der volle Befehl lautet dann `sshfs -o follow_symlinks user@server:/dir/ .


FreeBSD Logo: https://www.freebsd.org/de/logo.html

Kategorien
Atom Open Source Tutorial

Im Test: Atom

Es gibt ja etliche Texteditoren. Von Vi(m) über nano bishin zu Gedit, Leafpad und Sublime. Heute möchte ich den Editor Atom vorstellen. > Im Test ist Version 0.187.0

Atom ist Texteditor, der sehr erweiterbar ist. Die Standardfunktionalitäten pendeln sich vergleichbar irgendwo zwischen Gedit und Sublime Text ein. Atom-Screenshot

Atom kann auch sehr minimalistisch eingerichtet werden Atom kann durch Pakete erweitert werden, die direkt im Programm über eine Art Paketverwaltung ausgesucht werden können. Dadurch lässt sich schnell der Standardumfang – welcher sich kaum von dem von anderen unterscheidet – deutlich erweitern. Atom verfügt über eine intergrierte Paketverwaltung Ich habe in meiner Konfiguration folgende Pakete installiert: – Autocomplete plus

  • Zen
  • column-select (für das markieren von Spalten, z. B. in CSV-Dateien)
  • minimap

Atom’s Konfiguration wird in json oder cson Dateien durchgeführt – so macht es Sublime Text auch. Im Gegensatz zu Sublime Text besteht aber auch die Möglichkeit, Teile der Einstellungen über einen Dialog durchzuführen.Atom verfügt über eine intergrierte Paketverwaltung

Die Einstellungen lassen sich in Atom zum Teil auch im Programm ändernDie Einstellungen lassen sich in Atom zum Teil auch im Programm ändern Es hakt noch hier und da Atom ist noch nicht ganz fertig. Das merkt man spätestens daran, dass es notwendig ist, einige Workarounds einzufügen. Um Beispielsweise zu ermöglichen, @ und \ auf einem deutschen Layout tippen zu können, muss folgender Inhalt in die keymap.cson-Datei eingefügt werden. Diese kann geöffnet werden, in dem man Unter „Settings“ -> „Keybindings„-> „your keymap file“ auswählt.
‚.platform-win32 .editor‘:
‚ctrl-alt- https://github.com/atom/atom-keymap/issues/35https://atom.io,Bildquelle Beitragsbild: atom.io