Interessante WordPress Plugins

Diese Sammlung besteht aus WordPress Plugins die ich öfters nutze.

Antispam:

Akismet

Ein Antispam Plugin das direkt mitinstalliert wird. Um es zu nutzen muss man einen API Key beantragen. Für private Seiten ist der Key kostenfrei.

Anti-Captcha

Transparente Captcha Lösung. Der Benutzer muss kein Feld ausfüllen. Stattdessen wird das Captcha per Javascript ausgegeben. Die meisten Bots verarbeiten kein Javascript, weswegen diese Beiträge dann automatisch als Spam markiert werden.

http://wordpress.org/extend/plugins/anti-captcha/

Antispam Bee

Auch hier geht es um die Bekämpfung von Spam. Unter anderem lässt sich eine Sprache einstellen in der Kommentare akzeptiert werden sollen. Ausserdem kann es das Honepot Project (API Key benötigt) mit einbeziehen. Kommentare lassen sich aus bestimmten Ländern komplett verhindern.

http://wordpress.org/extend/plugins/antispam-bee/

Stop Spammer Registrations

Dieses Plugin nutzt die Datenbank von StopForumSpam.com, Project Honepot und BotScout um Spamkommentare oder Spamregistrierungen zu verhindern.

http://wordpress.org/extend/plugins/stop-spammer-registrations-plugin/

 

Metatags / SEO

Google XML Sitemaps

Automatische Generierung der sitemap.xml die Suchmaschinen hilft Ihr Blog zu indexieren. Die Sitemap kann automatisch nach der Erstellung neuer Artikel aktualisiert werden.

http://wordpress.org/extend/plugins/google-sitemap-generator/

Meta-Tag Manager

Meta Tags für die gesamte Webseite bzw. nur für die Startseite definieren.

http://wordpress.org/extend/plugins/meta-tag-manager/

All in One SEO Pack

Automatische SEO Optimierungen.

http://wordpress.org/extend/plugins/all-in-one-seo-pack/

 

Kontaktformular

Contact Form 7

Kontaktformulare mal ganz einfach erstellen. Es bietet zusätzlich die Möglichkeit mehrere Formulare zu definieren und den Inhalt der resultierenden Mail flexibel anzupassen.

http://wordpress.org/extend/plugins/contact-form-7/

 

Bookmarks / Teilen

SexyBookmarks

Einfaches einfügen von diversen Bookmark Diensten. Bisher waren alle Dienste die mich interessiert haben enthalten Smiley

http://wordpress.org/extend/plugins/sexybookmarks/

Plus One

Google +1 Knopf in Artikel einfügen.

http://wordpress.org/extend/plugins/plus-one/

WP Facebook Like

Einfaches einbinden des Facebook Like Buttons in Artikel.

http://wordpress.org/extend/plugins/wp-facebook-like/

 

Rechte / Sicherheit

Capability Manager

Ein Plugin um die Rechte und Möglichkeiten der WordPress Benutzer ändern kann.

http://wordpress.org/extend/plugins/capsman/

Private! WordPress Access Control Manager

Teile eines Blogs oder auch gesamte Blogs als Privates Blog zu verwenden. Zb. in Kombination mit NextGen Gallery um ein Familienfotoalbum zu erstellen, das nicht die ganze Welt sehen kann.

http://wordpress.org/extend/plugins/private-wordpress-access-control-manager/

WP htaccess Control

Anpassungen der Permalinks weit über die Optionen hinaus die WordPress standardmässig bietet. Zusätzlich noch die eine oder andere Sicherheitseinstellung.

http://wordpress.org/extend/plugins/wp-htaccess-control/

WordPress Database Backup

Manuelles oder automatisches Datenbank Backup mit einer Funktion zum versenden des Dumps an eine eMail Adresse.

http://wordpress.org/extend/plugins/wp-db-backup/

Replace WP-Version

Verstecken des Meta Tags mit der WordPress Version:

<meta name="generator" content="WordPress 3.3.1" />

http://wordpress.org/extend/plugins/replace-wp-version/

 

Erweiterte Funktionen

WP-GeSHi-Highlight

Dieses Plugin nutzt GeSHi um Syntaxhighlighting für diverse Sprachen in WordPress zu ermöglichen

http://wordpress.org/extend/plugins/wp-geshi-highlight/

NextGEN Gallery

Die integrierte Medienbibliothek von WordPress hat nicht sehr viele Möglichkeiten. Viel mehr bietet das umfangreiches Gallerie Plugin für WordPress.

http://wordpress.org/extend/plugins/nextgen-gallery/

Google Analyticator

Einfaches einbauen des Codeschnipsels für Google Analytics und Widgets um die Statistiken darzustellen.

http://wordpress.org/extend/plugins/google-analyticator/

Recently Popular

Mit diesem Plugin lässt sich eine Liste der meisbesuchten Artikel/Seiten ausgeben.

http://wordpress.org/extend/plugins/recently-popular/

 

Caching

WP Super Cache

Erstellt statische Seiten des Blogs und hält diese für Besucher vor um die Systemlast zu reduzieren.

http://wordpress.org/extend/plugins/wp-super-cache/

1wire

Wikipedia zum Thema 1wire:

1-Wire bzw. One-Wire oder Eindraht-Bus beschreibt eine serielle Schnittstelle, die mit einer Datenader (DQ) auskommt, die sowohl als Stromversorgung als auch als Sende- und Empfangsleitung genutzt wird. Der Begriff 1-Wire ist irreführend, weil zudem noch eine Masse-Verbindung (GND) erforderlich ist. Diese Masseverbindung wird bei Knopf-förmigen Anordnungen über eine gegenseitige Isolation der Gehäusehälften erreicht. Tatsächlich werden immer zwei physikalische Leiterverbindungen benutzt (GND, DQ).

Verfügbar sind integrierte Bausteine zur Temperaturmessung, Akkuüberwachung, Echtzeituhr, kleine Speicher etc. Die Technik wurde zur Kommunikation zwischen den Komponenten eines Gerätes entwickelt, z. B. zur Erfassung des Akkuzustandes in einem mobilem Datenerfassungsgerät (PDA).

Quelle: http://de.wikipedia.org/wiki/1-Wire

Die Hardware:

Die Software:

Durch owfs wird der 1wire Bus mittles Fuse als Dateibaum ansprechbar. Gemountet sieht das so aus:

# mount | grep 1wire
OWFS on /srv/1wire type fuse.OWFS (rw,nosuid,nodev)
# ls /srv/1wire/ -1
10.0A04E6010800
10.472701020800
10.89FFE5010800
10.E02D01020800
81.F6D42D000000
alarm
bus.0
settings
simultaneous
statistics
structure
system
uncached

 

Hier sind 10.0A04E6010800, 10.472701020800, 10.89FFE5010800 und 10.E02D01020800 die DS18S20 Temperatursensoren. Aktuell im Testbetrieb 2 innen, 2 außen. 81.F6D42D000000 ist der USB 1wire Adapter selbst.

Das folgende Script liest per cron jede Minute die 4 Temperaturwerte aus, updated  eine RRD Datenbank/Grafiken und schreibt die 4 Werte in eine MySQL Datenbank (Teilweise von http://owfs.org/index.php?page=garden).

#!/bin/bash
 
for i in `cat /proc/mounts | cut -d' ' -f2`; do
        if [ "/srv/1wire" = "$i" ]; then
                echo "owfs mounted, starting...."
                echo "reading sensors..."
                # Read data from sensors
                inside1=`cat /srv/1wire/10.89FFE5010800/temperature`
                inside2=`cat /srv/1wire/10.0A04E6010800/temperature`
                outside1=`cat /srv/1wire/10.472701020800/temperature`
                outside2=`cat /srv/1wire/10.E02D01020800/temperature`
 
                echo "format data..."
                # Format reading
                inside1=`echo $inside1 | cut -c -4`
                inside2=`echo $inside2 | cut -c -4`
                outside1=`echo $outside1 | cut -c -4`
                outside2=`echo $outside2 | cut -c -4`
 
                if ([ $inside1 == "0" ] &amp;&amp; [$inside2 == "0"]); then
 
                echo "update rrd..."
                # Update database
                rrdtool update database.rrd N:$inside1:$inside2:$outside1:$outside2
                echo "update mysql..."
                # Insert into mysql
                mysql -h MYSQL_SERVER -u MYSQL_USER --password=MYSQL_PASSWORT 1wire <<EOF
                INSERT INTO temperature VALUES (0, NOW(),'$inside1','$inside2','$outside1','$outside2');
EOF
                echo "fertig... !"
                exit
        fi
done
 
echo "owfs not mounted on /srv/1wire, aborting !!!"
CREATE TABLE IF NOT EXISTS `temperature` (
  `idx` int(11) NOT NULL AUTO_INCREMENT,
  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `inside1` float NOT NULL,
  `inside2` float NOT NULL,
  `outside1` float NOT NULL,
  `outside2` float NOT NULL,
  PRIMARY KEY (`idx`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 ;

Datenbankstruktur die im Beispiel verwendet wurde.

Update alle 15 Minuten

System neu booten und vorher nächsten Timer per SVDRP checken

Habe mir letzte Woche ein bash Skript zusammengebastelt um unseren VDR einmal täglich neu zu booten (diverse Timer sind ins leere gelaufen weil entweder das CI Modul oder das Alphacrypt Modul hingen). Also morgens um 6 täglich neu booten und vorher prüfen ob in den nächsten 5 Minuten ein Timer startet bzw. gerade aktiv ist:

!/bin/bash
# Inform user what will happen
/usr/bin/svdrpsend MESG "Daily Reboot, checking Timers...."
# Result is time until next timer starts in seconds, if result is negative, a recording is currenly made
nxttmr=`svdrpsend NEXT rel | egrep "^250" | cut -d ' ' -f3 | tr -d '\r'`
 
if [ $nxttmr -gt 300 ]; then
 
	/usr/bin/svdrpsend MESG "Naechster Timer in $nxttmr sek. Daily Reboot in 10 sek..."
	/bin/sleep 10
	/usr/bin/sudo /sbin/shutdown -r now
else
	/usr/bin/svdrpsend MESG "Naechster Timer in unter 300 sek oder gerade aktiv...Reboot abgebrochen :("
fi

Ubuntu Server Raid 1 Plattentausch

espeichert. Dazu waren bisher 2 * Samsung 320GB SATA Platten eingbaut die per Linux Software Raid gespiegelt sind (Level 1). Nachdem die Kapatität langsam dem Ende zugeht und die Platten bereits 3 Jahre auf dem Buckel haben, habe ich mich zu 750 GB Seagate 24/7 Modellen entschieden.

Meine Vorgehensweise habe ich hier aufgeführt. ACHTUNG: Während dieses Vorgangs besteht natürlich keine doppelte Datensicherheit für das Raid 1 da nur eine der beiden Platten aktiv ist. Im Falle eines Fehlers hat man aber eine vollständige “Kopie” des Laufwerks (ausgebaut)

 

     

  1. Server herunterfahren
  2.  

  3. Eine der beiden bestehenden Raid Platten ausbauen und stattdessen eine der neuen Platten einbauen
  4.  

  5. Server hochfahren (bei karmic wurde das degraded Raid 1 nicht automatisch gestartet, hierzu habe ich “mdadm –assemble –run /dev/md0 /dev/sda1” verwendet)
  6.  

  7. mit fdisk auf der neuen Platte die Raid Partition(en) erstellen und den Typ “fd” nicht vergessen
  8.  

  9. Ein neues Raid mit der neuen Platte bauen und eine der beiden Member als missing angeben:
    mdadm --create /dev/md1 --level 1 --raid-devices=2 missing /dev/sdb1
  10.  

  11. Nun per rsync oder cp oder wie auch immer die Daten von der alten Platte auf die neue kopieren/schieben
  12.  

  13. Server herunterfahren
  14.  

  15. Die alte Platte ausbauen und die 2te neue Platte hinzufügen
  16.  

  17. Server hochfahren und das Raid “reparieren” (“sfdisk -d /dev/sda |sfdisk /dev/sdb” um die Partitiontabelle von sda auf sdb zu übertragen und “mdadm –assemble –run /dev/md0 /dev/sda1 /dev/sdb1” verwendet)
  18.  

  19. Dann kann unter /proc/mdstat der Fortschritt des syncs betrachten (“watch cat /proc/mdstat” zeigt die Ausgabe alle 2 s). Man kann während des syncs schon auf die Daten zugreife, sollte das jedoch zumindest schreibend unterlassen:

    md0 : active raid1 sda1[2] sdb1[0]

    732571904 blocks [2/1] [U_]

    [==>..................]  recovery = 12.8% (94198720/732571904) finish=206.3min speed=51553K/sec

     

  20.  

  21. THAT’s IT xD
  22.  

DVB-S2 mit easyVDR 0.7.10 (BETA!)

Nachdem ich kürzlich eine Mystique Satix DVB-S2 samt CI erworben habe, stand heute der Umbau des VDR auf HD Input an. Die Ausgabe wir die ganze Zeit schon auf 1080 hochgerechnet.
(Die komplette Hardwareliste siehe #1)

Hier die Schritte die nach der Basisinstallation der Beta nötig waren:

  • s2-liblianin Treiber installieren
  • Alternativ: aktualisierten v4l Treiber installieren
    #

  • Meine Soundkarte hat per SPDIF nur Dolby Digital an meinen Surround Receiver ausgegeben, siehe unten. (siehe #2)
  •  

  • lircd.conf aus meinem alten System kopiert (siehe HIER)
  • Nebenbei fragte mich die Setup Prozedur erstmals nach VDPAU (ich denke da eine passende GraKa gefunden wurde) und aktivierte dies automatisch ”;-)”

     

    Hardware Konfiguration Konfiguration:

     

    Mainboard: ASRock P4 dual 915GL
    CPU: Intel(R) Core(TM)2 6300 @ 1.86GHz
    Speicher: 4GB (waren noch übrig, Board erkennt jedoch nur 3200MB, mir wurscht)
    Festplatte 1 (Boot): Hama SSD 40GB (MTRON MSD-SATA3035)
    Festplatte 2 (Video): NFS Mount von Ubuntu 9.10 Server (–> 2* 320GB Seagate als Raid 1)
    Grafikkarte: Geforce 9600GT
    DVB: Mystique Satix DVB-S2 (KNC ONE) mit CI
    Sound (#2):

     

    Obligatorisches vorausgehendes Alsamixer unmuten brachte nichts, die Korrekten Kanäle für SPDIF waren bereits aktiv. Sound funktionierte, wenn der Sender “Dolby Digital” anbot. Stereo war leider Stille angesagt.

     

    Die passende Lösung (zumindest für mich) habe ich hier gefunden:

     

    http://www.vdr-portal.de/board/thread.php?threadid=71413

     

    In der Datei..

     

    ~/.xine/config_xineliboutput

     

    …folgende Zeile(n) ergänzen:

     

    # device used for stereo output
    # string, default: plug:front:default
    audio.device.alsa_front_device:plug:iec958

     

    Nachdem das System nun soweit läuft…Fazit:

     

    Der WAF Faktor ist akzeptabel wobei mir die neuen Treiber bzw. die Sat Karte noch nicht ganz symphatisch sind. Die alte Nexus-S 2.1 hat schneller umgeschaltet (bilde ich mir zumindest ein) und es bilden sich beim Umschalten mit der neuen Karte Artefakte bzw. das Bild stottert kurz. Das kann jedoch auch am nun aktivierten VDPAU hängen. Wie dem auch sei, das ist für eine Beta Version für mich vollkommen akzeptabel. Ausserdem ist meine Freundin genauso interessiert am Thema HDTV. Bald gibts Tatort in HD (sobald die den in HD produzieren, anfangs wird sicher nur hochgerechnet).

     

    Wo die CPU vorher bei ARD DVB-S mit ca. 20-25% pro Kern ausgelastet war komme mein System nun gerade einmal auf ca 3-7% pro Kern. Das steigt auch bei HD Fernsehen nur geringfügig an, zumindest was ich bisher testen konnte.

    Starface vergessene Passwörter

    Mit folgenen Kommandos lassen sich vergebene Passwörter einsehen:

    psql asterisk SELECT * FROM accountlogin
     
    Ausgabe:
    id | accountid | login | password | loginfrom | loginto
    ------+-----------+-------+-----------+----------------------------+---------------------
    1000 | 1000 | 0001 | password | 2009-08-12 12:45:10.743821 | 5999-12-31 23:59:59
    (1 Zeile)