Raspberry Pi als Owncloud Server

Die eigene Cloud für Zuhause ist immer eine Alternative zu den vielen kommerziellen Anbieter, her kommt der Rasperry Pi ins Spiel. Hardware sollte ein Raspberri Pi Typ 3 sein, dazu benötigen wir folgende Dinge:

  • Raspberry Pi Typ II oder III
  • Image von raspberrypi.org
  • Netzwek, HDMI und USB Kabel
  • SD Karte mit min 64GB
  • Tastatur

Kaufen könnt Ihr einen Raspberry Pi und das Zubehör im Netz oder bei einem Händler, eine Beschreibung wir richte ich den Raspberry ein findet Ihr unter raspberrypi.org. Hinweis: Die Graphische Oberfläche wird nicht benötigt und würde nur Speicher und CPU verschwenden. Nach der ersten Konfiguration mit sudo raspi-config sollte das System auf einen aktuellen Stand gebracht werden mit sudo apt-get update -y und sudo apt-get upgrae -y

Falls notwendig kann auch noch ein Raspberry Pi Firmware-Update durchgeführt werden mit sudo rpi-update Hinweis: Bitte nur durchführen falls es notwendig ist!

Folgende Packete müssen nun installiert werden:

  • sudo apt-get install apache2
  • sudo apt-get install php5 php5-gd php5-sqlite php5-curl sqlite oder mysql
  • sudo apt-get install mc nmap

Die Owncloude muss leider anders installiert werden, dafür sind folgende Schritte notwendig:

  • Unter der URL https://owncloud.org/install/ kann die Software heruntergeladen werden
  • cd /var/www
  • mkdir owncloud
  •  wget https://download.owncloud.org/community/owncloud-9.1.0.zip  Hinweis: bitte den Dateinamen anpassen!
  • Der Apache muss nun noch angepasst werden
    • Die Datei mit dem Befehl aufrufen und anpassen:
      • nano /etc/apache2/sites-enabled/000-default.conf
      • Eintrag: DocumentRoot /var/www/owncloud eintragen

Die IP Adresse des Raspberry Pi kann per DHCP vergeben werden oder auch fest eingestellt werden, jeder aktuelle Router kann aber eine feste IP und auch einen Namen zuweisen, das erleichtert die Einrichtung und Verwendung erheblich.

Mit dem Befehl sudo init 6 wird der Raspberry Pi nun neu gestartet, solltet Ihr eine mysql verwenden muss noch ein Passwort für die Datenbank vergeben werden und eine Datenbank angelegt werden, wie das geht findet Ihr im Netz.

Nun rufen wir die URL unseres Raspberry Pi (http://IP) auf und folgen der Installation von Owncloud.

Hinweis: Nextcloud kann auch verwendet werden, der Ablauf ist der selbe, dar aktuell beiede Varianten ähnlich sind.

Solltet Ihr auch von unterwegs die Cloud aufrufen wollen sind folgende Schritte notwendig:

  • openvpn installieren
  • eine externe IP Adresse besorgen z.B. www.noip.com
  • Router für den Port VPN Port einrichten (Portmapping)
  • Zertifikate erstellen, hierführ gibt es ein gutes Tool OpenVPN-Setup
    Mit cd in das Home wechseln und danach:
  • git clone git://github.com/StarshipEngineer/OpenVPN-Setup
  • cd OpenVPN-Setup
  • sudo chmod +x openvpnsetup.sh
  • sudo ./openvpnsetup.sh

 

Downloads

Nützliche Apps für Android 4.0

Sammlung Tablett 2012 I

3D Digital Weather Clock

aCalendar

AlarmDroid

Android Booster

Animated Weather: White Skin

AntTek Cloud Explorer

AntTek Explorer

App Cache Cleaner

AutoRotate OnOff

BatteryLife

Beautiful Notes

Brücken-, Feier- & Ferientage

Cool Tool (Beschreibung: Echtzeit-Systemüberwachung)

Countdown Widget

Cover Art Grabber

Crystal Clock Pack

Currents

dailyme

DB Navigator

Digital & Analog World Clock Widget

DiskUsage

Dropbox

PHP effektiv gegen Hacker-Angriffe absichern

PHP kann Dateien auf den Server schreiben, ausführbaren Code von Webadressen nachladen oder Linux-Systemkommandos mit den Rechten des Webservers ausführen. Meist sind diese Möglichkeiten nützlich und notwendig. Doch viel zu oft lässt sich, dank Fehlern, eine Funktion von außen missbrauchen, um Schädlingsprogramme auf dem Webserver zu installieren.

Deshalb sollte sich jeder Webserver-Administrator dringend mit den Konfigurationsmöglichkeiten von PHP4 beziehungsweise PHP5 vertraut machen, und nur so viele Funktionen zulassen, wie auf dem Server auch tatsächlich benötigt werden. Die dafür zuständige Datei heißt php.ini und liegt, je nach Version von Webserver und PHP, in einem der folgenden Verzeichnisse:

/etc/php4/apache/

/etc/php4/apache2/

/etc/php5/apache/

/etc/php5/apache2/

Nach jeder Änderung empfiehlt sich ein

apachectl restart

oder

apache2ctl restart

Erst mit dem Neustart werden die Änderungen wirksam. Das graceful-Kommando des Skripts apachectl reicht dazu nicht immer aus.

Gehen Sie die folgenden Anweisungen Schritt für Schritt durch und setzen Sie den vorgeschlagenen Wert in Ihrer php.ini. Setzen Sie den Wert auch, wenn er die Voreinstellung (default) ist. Denn die jeweils gültigen Voreinstellungen ändern sich des öfteren von PHP-Version zu PHP-Version. Angegeben sind die Defaults für PHP5, bei PHP4 sind sie sehr versionsabhängig.

Und das sind die Befehle:

register_globals = off ;(php5-default: off)

verhindert, dass beliebige Variable im PHP-Code durch GET- oder POST-Parameter überschrieben werden können. Beim Aufruf der URL http://server/page.php?login=true ist beispielsweise der Wert in der Variablen $_GET[„login“] abgelegt. Mit

register_globals=on

wird zusätzlich alleine über den URL-Parameter die PHP-Variable $login gesetzt. Dieser Parameter sollte darum heutzutage unter keinen Umständen mehr auf on gesetzt werden.

memory_limit = 12M ;(default: 8M)

begrenzt den Speicher (in Megabyte), der bei jedem einzelnen Aufruf eines Skripts verbraucht werden darf. So wird beispielsweise verhindert, dass eine versehentlich programmierte Endlosschleife den kompletten verfügbaren Speicher belegt. Viele PHP-Anwendungen sind recht speicherhungrig, so dass der Wert eventuell höher gewählt werden muss. Das CMS Typo3 benötigt beispielsweise eine Grenze von mindestens 16MB.

max_execution_time = 60 ;(default: 30)

begrenzt die Zeit, die ein Script für die Ausführung bekommt. Auch das verhindert Probleme mit versehentlichen Endlosschleifen. Allerdings darf der Wert nicht zu niedrig sein – schließlich soll auch bei voller Serverlast etwa eine aufwendige Datenbankabfrage ohne Fehlermeldung bearbeitet werden.

max_input_time = 60 ;(default: 60)

begrenzt die Zeit, die ein Script mit dem Einlesen der übergebenen Parameter verbringen darf.

default_socket_timeout = 60 ;(default: 60)

begrenzt die Zeit, die PHP bei der Ãœbertragung von Streams auf die Gegenseite wartet.

allow_url_fopen = off ;(default: on)

Defaultmäßig erlaubt es PHP, bei allen Befehlen, die Dateien öffnen, statt eines lokalen Dateinamen auch eine URL anzugeben. Das betrifft beispielsweise die Befehle require, include oder fopen. Setzen Sie diesen Wert nur auf on, wenn Sie diese Funktionalität unbedingt benötigen. Denn schon ein include($_GET[„filename“]) stellt ein erstklassiges Sicherheitsrisiko dar. Hier sind allerdings auch die PHP-Programmierer gefragt. Denn solche Konstruktionen sind leichtsinnig.

open_basedir = /var/www/:/usr/share/pear/ ;(default:nicht gesetzt)

Dieser Parameter schränkt das Öffnen von Dateien weiter ein. PHP läßt nur noch den Zugriff auf solche Dateien zu, die in oder unterhalb der angegebenen Pfade gespeichert sind. Allerdings sollten Sie hier nicht zu restriktiv sein: Liegt ein PHP-Programmpaket, wie etwa phpMyAdmin, in einem Pfad außerhalb des üblichen www-Verzeichnisses, muss dieser Pfad mit aufgeführt werden, sonst wird das Programmpaket nicht mehr funktionieren.

session.save_path = /var/tmp/www ;(default: nicht gesetzt)

gibt das Verzeichnis an, in dem PHP seine Session-Informationen ablegt.

Aus Sicherheitsgründen sollte dafür nicht das Standard-Tempverzeichnis genutzt werden.

upload_tmp_dir = /var/tmp/www ;(default: nicht gesetzt)

gibt das Verzeichnis an, in dem PHP hochgeladene Dateien ablegt. Auch dafür sollte keinesfalls das Standard-Tempverzeichnis verwendet werden.

upload_max_filesitze = 2M ;(default: 2M)

begrenzt die Größe der Dateien in Megabyte, die via PHP-Funktionen hochgeladen werden können. Der ideale Wert hängt davon ab, für welche Anwendungen PHP eingesetzt wird. Sie können auch einen größeren Wert, etwa 20M wählen, nur unbegrenzt sollte die Dateigröße nicht sein.

enable_dl = off ;(default: on)

Die Standardeinstellung aktiviert den PHP-Befehl dl(), der PHP-Extensions im Programmcode nachlädt. So verlieren Sie aber die Kontrolle, welche Extensions auf Ihrem Webserver verwendet werden. Stellen Sie diesen Parameter also besser auf off und laden Sie Extensions über die php.ini, etwa

extension=mysql.so

PHP-Parameter individuell einstellen

Aufwendiger wird die Einstellung, wenn nicht für den Webserver einheitliche Werte gelten sollen, etwa, weil der Server unter verschiedenen URLs verschiedene PHP-Anwendungen anbietet. Doch auch dann ist es möglich, sichere Einstellungen zu erreichen. Dazu setzt man zunächst in der php.ini alle global geltenden Werte. Alles Weitere passiert dann in den Config-Dateien des Apache-Werbservers. Dafür gibt es zwei Config-Befehle:

php_admin_flag

php_admin_value

Diese beiden Befehle können auch innerhalb eines

Blocks verwendet werden, so dass sie für einen virtuellen Server gelten. Beispiel:

(…)

php_admin_flag allow_url_fopen off

php_admin_value memory_limit 10M

php_admin_value open_basedir /home/ vserver1/:/usr/share/ pear/

Beachten Sie die Schreibweise ohne =-Zeichen.

Wenn auf Apache mehrere virtuelle Server laufen, sollten Sie open_basedir, session.save_path und upload_tmp_dir für jeden Host getrennt setzen.

Achtung, Fußangel

Nicht alle Beschränkungen, die Sie in der php.ini setzen, können in der Apache-Config wieder aufgehoben werden. Ist in der php.ini etwa allow_url_fopen auf off gesetzt, bleibt es auf off, was auch immer Sie in Apache einstellen.

Verwenden Sie in diesem Fall folgenden Trick:

allow_url_fopen = on

in der php.ini.

php_admin_flag allow_url_fopen off

in der globalen Apache-Konfiguration. Und dann wiederum

php_admin_flag allow_url_fopen = on

innerhalb des Virtualhosts, der diese Funktion benötigt. Um zu überprüfen, welche Einstellungen innerhalb eines Hosts tatsächlich gelten, verwenden Sie ein kurzes Skript mit dem Befehl phpinfo().

Noch mehr Sicherheit für PHP

Darüber hinaus gibt es weitere Parameter, um PHP noch stärker abzusichern, etwa

safe_mode =

disable_functions =

Setzt man allerdings diese Parameter auf sichere Werte, schränkt man die Funktionalität von PHP so stark ein, dass viele Anwendungen nicht mehr oder nur noch eingeschränkt funktionieren. Wer diese Parameter ändert, sollte deshalb danach seine Anwendungen ausführlich testen.

Add to Del.icio.us

SQL-Referenz Mini

Datentypen in SQL

Die wichtigsten SQL-Datentypen sind

bool TRUE oder FALSE
int Ganzzahlen
char () String fester Länge
varchar () String variabler Länge mit festgesetztem Maximum
long varchar (unter einigen Datenbanken: Text mit mehr als 2048 Zeichen)
dec (, ) Offensichtlich Festkomma. übersteigt ein Wert die Zahl der möglichen Stellen wird der höchstmögliche Wert gespeichert (bei dec(3,3) und 4321.4321 ist das z.B. 999.999).
float () Fließkommazahl
date Datumsangabe. Vorsicht: Datumsformate unterscheiden sich in den Datenbanken, MySQL möchte z.B. Daten in der Form 4 Zeichen für Jahr, 2 für Monat und 2 für Tag in der Formatierung YYYY-MM-DD. Außerdem werden Daten meist als Strings übergeben (also bei INSERT unbedingt auf Hochkomma achten). Angesichts all dieser Probleme und den Schwierigkeiten, z.B. herauszufinden wie viele Tage zwischen zwei DATEs lagen, beschränke ich meine Programmierung auf Unix-Timestamps: Die haben den Wert int.

SELECT

Einfaches SELECT
select ist der erste Schritt für eine Ausgabe aus einer Datenbank. Die Syntax ist
SELECT FROM [WHERE ]. Es werden immer alle Zeilen einer Datenbank angesprochen, sind alle Spalten gemeint genügt ein *, ansonsten werden Spaltennamen (genau wie Tabellennamen) durch ein Komma getrennt. example.
select * from hauptbuchselektiert alle Zeilen mit allen Spalten aus hauptbuch. Mit Funktionen, die die Programmiersprachen dann zur Verfügung stehen, können selektierte Einträge z.b. in Strings gespeichert werden (siehe: Eine kleine ODBC-Referenz).
select transaktion, datum from hauptbuchgewährt dann nur Zugriff auf die Spalten transaktion und datum (nur wenige Spalten auszuwählen vergrößert oft übersicht und verschnellert).

SELECT mit Bedingungen

select * from hauptbuch where (transaktion>40000)selektiert nur die Zeilen (alle Spalten, da *) einer Tabelle, bei denen Transaktion>40000 ist. Ein weiteres Beispiel ist
select kundennr, letztebestellung from faktura where
(kundennr=192)

SELECT mit Sortierung

Syntax ist
order by [ascending/descending]select * from hauptbuch where (transaktion>40000) order by transaktion descendingselektiert z.b. bei einer Tabelle mit den Werten
wobei descending eine fallende Reihenfolge symbolisiert, ascending oder keine Angabe der Reihenfolge sortiert die Selektion in die andere Richtung.

JOINS

Oft werden die Einträge aus einer Tabelle in einer anderen Tabelle als Schlüsselwerte benutzt. Schlüsselwerte sind Werte, die in jeweils nur einer Zeile der Tabelle vorkommen. Z.B. wäre einen Kundendatenbank, in der jedem Kunden eine eindeutige Kundennummer zugeordnet ist, eine Datenbank mit Schlüsselwerten. Haben wir zwei Tabellen Können wir in SQL auch in einem Schritt nach einem Kundennamen suchen und den Zeitpunkt der letzten Bestellung ausgeben. Das nennt man dann einen JOIN aus beiden Tabellen.
Um gleichnamige Spaltennamen in verschiedenen Tabellen unterscheiden zu können schreibt man den Tabellennamen mit einem Punkt vor den Spaltenname:
select hauptbuch.transaktion, hauptbuch.datum from
hauptbuch
sieht zwar dumm aus, das ändert sich aber bei
select * from kunden, bestellungen where ((kunden.kundennr=bestellungen.kundennr) AND (kundenname=’Fr. Brisbois‘)) liefert Kundennr und Bestellzeitpunkt von Andreas Mühl zurück.
Die letzte anweisung ist für konventionelle Programmierer (zumindest ging es mir so) erst einmal schwer zu verdauen. Es zeit aber auch, das ein where kein if ist: where wird alle Spalten aller Datenbanken angewendet. So funktioniert die Geschichte auch wenn z.B. Anderas Mühl in der Kundendatenbank die erste Zeile innehat, in der Bestelldatenbank aber nur die 5te oder 1000ste.

CREATE

create ist für uns nur im Zusammenhang mit create table interessant. Es erzeugt eine neue Tabelle in einer Datenbank. der Syntax ist
create table [,(… ] )z.B.:
create table kunden (kundennr int, name varchar(50))

INSERT

insert into < Tabellenname > values ([,…])Beachten Sie, dass der Wert sowohl bei Datumsangaben (i.d.r in der Form ‚JAHR-MO-TG‘) als auch bei Varchars (Strings) in Hochkomma (‚) eingeschlossen sein muss.
Eine Insert-Anweisung führt logischerweise zu Fehlern, falls nicht die gleiche Anzahl Werte in die Tabelle eingefügt werden soll, wie Spalten vorhanden sind.
Hin und wieder passiert es, dass ein Programmierer insert into tabelle1 value (2001, ‚Jahr‘) schreibt. Ein fehlendes s mach es dem Programmierer da bei der Fehlersuche schwer weil (nicht das korrekte values) value auch als Schlüsselwort erkannt wird.

DELETE

Zeilen löscht man in SQL mit
DELETE FROM WHERE < Bedingung >Beispiel:
DELETE FROM ANTIQUES WHERE ITEM = ‚Ottoman‘;

DROP

Drop ist das delete für ganze Tabellen. Mit
DROP löschen Sie die ganze Tabelle. Ich verwende es oft in den setup-Dateien, den Dateien, die Tabellen in den Datenbanken aufbauen. Vor dem Erstellen der Tabellen versuche man sie oft zu löschen, da ein Erstellen mit geänderten Spalten nicht möglich ist wenn die Tabelle noch in anderer Form existiert.

ALTER

Mit ALTER TABLE ADD/DROP COLUMN /kann man Tabellen im Nachhinein ändern — praktisch.
Spalten hinzufügen
Spalten hinzufügen kann man z.B. mit
ALTER TABLE ANTIQUES ADD COLUMN (PRICE INT); Spalten löschen
… und Spalten löscht man mit ALTER….DROP:
ALTER TABLE ANTIQUES DROP COLUMN PRICE;

UPDATE

UPDATE SET = WHERE ändert einen Eintrag in einer Datenbank (und ist als solches sehr praktisch in Administrationsseiten wo desöfteren in den Datenbankinhalten etwas geändert wird. Man denke nur an Preisänderungen in Online-Shops.)
UPDATE ANTIQUES SET PRICE = 500.00 WHERE ITEM = ‚Chair‘;

WordPress Performance verbessern

Vor einiger Zeit wurde auf Noupe.com ein Artikel zum Thema WordPress-Performance veröffentlicht – 13 Great WordPress Speed Tips & Tricks for MAX Performance. Im folgenden findet ihr eine kleine Zusammenfassung des Artikels (und 2 zusätzliche Tipps von mir :-)):
1.WordPress stets aktuell halten- gerade der Sprung von einer älteren Version auf die neuen 2.7er-Versionen von WordPress kann die Performance stark steigern
2.Unnötige PlugIns entfernen und benötigte stets aktuell halten- selbst wenn man die Funktionalität eines PlugIns nicht nutzt kostet jedes installierte PlugIn Rechenzeit weil WordPress z.B. prüfen muss ob es aktiviert ist, etc. – von daher sollte man keine PlugIns installieren die man nicht nutzt. Installierte PlugIns sollte man stets aktuell halten – alleine schon wegen potentieller Sicherheitslücken und zum Teil besserer Performance.
3.Die Menge an ausgeführten PHP-Code und Datenbankabfragen reduzieren – man sollte nach Möglichkeit unnötige Datenbankabfragen und die Ausführung von Datenbankabfragen verhindern indem man z.B. auf statisches HTML ausweicht (siehe auch 7. !)
4.Die Datenbank optimieren und reparieren – man sollte immer darauf achten, dass die WP-Datenbank sowohl optimiert als auch repariert ist. Ich empfehle hierfür das WP-Optimize PlugIn (siehe 14.).
5.Nutzung eines Image-Hosting Services – wenn man das nötige Kleingeld dafür übrig hat, sollte man CSS-Dateien, JavaScript-Dateien und Bilder auf einen Dienst wie Amazon S3 auslagern. Das reduziert einerseits die Bandbreite die auf dem eigenen Server verbraucht wird als auch die Prozessorlast auf dem eigenen Server.
6.Optimiere alle Bilder – man sollte alle Bilder die man auf der Seite benutzt optimieren. Dafür gibt es z.B. Online-Dienste wie smushit.com oder auch Shrink-O-Matic (eine Adobe-AIR Anwendung) die Bilder ohne sichtbaren Qualitätsverlust verkleinern können.
7.WP-SuperCache nutzen – das WP-SuperCache PlugIn reduziert die Serverlast drastisch indem es einen Großteil der Seite als statische HTML-Seiten erzeugt und diese ausliefert statt jedes mal die Datenbank abzufragen.
8.PHP Speedy WP benutzen – dieses PlugIn bindet PHP Speedy in WP ein – eine Bibliothek die die zu übertragende Datenmenge durch Kompression stark verringert. ACHTUNG! Das PlugIn arbeitet nicht ohne Anpassungen mit WP SuperCache zusammen! Am besten lest ihr den Artikel auf Noupe für mehr Details!
9.WP CSS – diese PlugIn komprimiert CSS Dateien und liefert diese aus statt der normalen Version
10.DB Cache – speichert Ergebnisse von Datenbankabfragen im Dateisystem zwischen
11.Nutzung der AJAX Libraries API- diese API ist ein Angebot von Google die es erlaubt die ”großen” JavaScript-Frameworks (jQuery, prototype, dojo, usw.) von den Google-Servern aus einzubinden statt sie auf dem eigenen Server zu hosten. Dies hat den Vorteil, dass die Google-Server im Allgemeinen besser ans Internet angebunden sind als die eigenen  Außerdem speichern Browser die Bibliothek zwischen – was ein Vorteil ist wenn viele Seiten diesen Mechanismus nutzen da die Bibliothek nur einmal geladen wird
12.Die Anzahl Datenbank-Queries und die Seitenladezeit anzeigen- wenn man seine WP-Installation optimiert sollte man sich diese Werte anzeigen lassen um ggf. sofort zu sehen was die Optimierungen bringen (mehr Infos + Code findet sich bei Noupe)
13.Optimize DB nutzen- dieses PlugIn bietet eine ähnliche Funktionalität wie das weiter oben erwähnte WP-Optimize.
14.WP-Optimize nutzen- dieses PlugIn kann einerseits die Datenbank optimieren aber zusätzlich noch ein paar Dinge mehr. Das PlugIn kann z.B. Artikel-Revisionen löschen, Spam-Kommentare aus der Datenbank entfernen, uvm.
15.Anzahl Artikel-Revisionen reduzieren- In den neueren Versionen legt WordPress bei Änderungen an Artikeln Kopien der Artikel in der Datenbank an. Dies ist nützlich um z.B. bequem einen älteren Stand eines Artikels wiederherzustellen wenn man z.B. aus Versehen einen Teil gelöscht hat oder Ähnliches. Das Problem ist, dass WP standardmässig bis zu 10 Versionen eines Artikels in der Datenbank anlegt und dadurch sehr viel “Müll” in der Datenbank entsteht. Daher empfehle ich das Revision Control PlugIn. Mit ihm kann man das Revisionsmanagement bequem in der Admin-Oberfläche von WP konfigurieren (an-/abschalten, Anzahl der Revisionen für Seiten und Artikel festlegen). Durch weniger Revisionen wird die Datenbank entlastet.

WordPress erfreut sich von Version zu Version immer größere Beliebtheit. Leider sieht man auch immer heufiger Blogs die aus sicht der Geschwindigkeit zu wünschen übrig lassen. Die Ursach hierfür liegt meistens am Blog selber. Es gibt einige Punkte die beachtet werden sollten.

  1. WordPress stets aktuell halten, ab Version 2.7  wurde die Performens deutlich gesteigert.
  2. Nur wirklich benötigte PlugIns verwenden und stets aktuell halten. „Weniger ist meist mehr“, da  jedes installierte PlugIn Rechenzeit kostet.
  3. PHP-Code und Datenbankabfragen reduzieren,  oder Seiten nur über einen Cach bedienen.
  4. Die Mysql Datenbank per cron immer optimieren und reparieren lassen.
  5. Nur optimierte  Bilder verwenden, Bilder sollten nur die benötigt Größe haben, Tip Blogdesk hilft hierbei.
  6. WP-Cache nutzen, ab Version 2.8 ist dieser besser als  WP-SuperCache. Beide PlugIns reduziert die Serverlast drastisch.

8.PHP Speedy WP benutzen – dieses PlugIn bindet PHP Speedy in WP ein – eine Bibliothek die die zu übertragende Datenmenge durch Kompression stark verringert. ACHTUNG! Das PlugIn arbeitet nicht ohne Anpassungen mit WP SuperCache zusammen! Am besten lest ihr den Artikel auf Noupe für mehr Details!

9.WP CSS – diese PlugIn komprimiert CSS Dateien und liefert diese aus statt der normalen Version

10.DB Cache – speichert Ergebnisse von Datenbankabfragen im Dateisystem zwischen

11.Nutzung der AJAX Libraries API- diese API ist ein Angebot von Google die es erlaubt die großenJavaScript-Frameworks (jQuery, prototype, dojo, usw.) von den Google-Servern aus einzubinden statt sie auf dem eigenen Server zu hosten. Dies hat den Vorteil, dass die Google-Server im Allgemeinen besser ans Internet angebunden sind als die eigenen  Außerdem speichern Browser die Bibliothek zwischen – was ein Vorteil ist wenn viele Seiten diesen Mechanismus nutzen da die Bibliothek nur einmal geladen wird

12.Die Anzahl Datenbank-Queries und die Seitenladezeit anzeigen- wenn man seine WP-Installation optimiert sollte man sich diese Werte anzeigen lassen um ggf. sofort zu sehen was die Optimierungen bringen (mehr Infos + Code findet sich bei Noupe)

13.Optimize DB nutzen- dieses PlugIn bietet eine ähnliche Funktionalität wie das weiter oben erwähnte WP-Optimize.

14.WP-Optimize nutzen- dieses PlugIn kann einerseits die Datenbank optimieren aber zusätzlich noch ein paar Dinge mehr. Das PlugIn kann z.B. Artikel-Revisionen löschen, Spam-Kommentare aus der Datenbank entfernen, uvm.

15.Anzahl Artikel-Revisionen reduzieren- In den neueren Versionen legt WordPress bei Ãnderungen an Artikeln Kopien der Artikel in der Datenbank an. Dies ist nützlich um z.B. bequem einen älteren Stand eines Artikels wiederherzustellen wenn man z.B. aus Versehen einen Teil gelöscht hat oder Ãhnliches. Das Problem ist, dass WP standardmässig bis zu 10 Versionen eines Artikels in der Datenbank anlegt und dadurch sehr viel Müll in der Datenbank entsteht. Daher empfehle ich das Revision Control PlugIn. Mit ihm kann man das Revisionsmanagement bequem in der Admin-Oberfläche von WP konfigurieren (an-/abschalten, Anzahl der Revisionen für Seiten und Artikel festlegen). Durch weniger Revisionen wird die Datenbank entlastet.

Admin Blog

www.knebler.de
Assign a menu in the Left Menu options.
Assign a menu in the Right Menu options.