Optimierung
1. Cache Funktion für Images
Zeitaufwand: 1-5 MinutenDie Nutzung der Cache Funktion spart zum einen viel Traffic und zum anderen sind auch größere Spiele in wenigen Sekunden installiert. Selbstverständlich können Sie einen Imageserver mit Symlinks aufbauen, welches noch weitere Vorteile bietet, jedoch beschränken wir uns hier auf die normale Cache Funktion und Installation von vollwertigen Images.
Damit das ganze problemlos läuft benötigen Sie auf dem Imageserver von jedem Image eine .md5 Datei. Bei Counter-Strike heißt das Spieleimage zum Beispiel cs.tar demnach müsste die md5 Datei cs.tar.md5 genannt werden und wird wiefolgt erstellt:
md5sum cs.tar > cs.tar.md5
Das war es auch schon. Wenn die Spiele Images geupdatet werden, müssten auch die md5 Dateien neu erstellt werden. Damit Sie sich die Arbeit einwenig erleichtern, haben wir ein kleines Skript erstellt, welches für alle Images eine md5 Datei erstellt. Legen Sie eine md5create.sh Dateien mit folgendem Inhalt auf Ihrem Imageserver an und setzen Sie den chmod danach auf 755.
#! /bin/bash
for LINE in *.tar
do
rm $LINE.md5
md5sum $LINE | awk '{print $1}' > $LINE.md5
done
exit 0
2. CMS Optimierung
Zeitaufwand: 30 Minuten2.1 Doctype
Für einige Skripte ist es notwendig einen bestimmten Doctyp zu verwenden. Erstellen Sie dazu in themes/ihr_theme eine doctype.php und fügen Sie zum Beispiel folgenden Code hinzu:
<?php echo '<!DOCTYPE html>'; ?>
Auch können Sie hier weiteren Code vor dem head Bereich Ihrer Webseite einfügen.
2.2 Meta-Tags und Javascripte
Auch wenn google bereits vor einiger Zeit verkündet hat, dass zur Bewertung einer Seite keine Meta-Tags mehr berücksichtigt werden, so gibt es noch genug andere Suchmaschinen, welche mit Meta-Tags arbeiten. Zusätzlich können Sie hier auch Javascripte einfügen, welche unbedingt im Head Bereich der Seite geladen werden müssen. Ansonsten ist es ratsam, diese Skripte am Ende der Seite in der footer.tpl Ihres Designs zu laden. Erstellen Sie in themes/ihr_theme eine meta.php und fügen Sie zum Beispiel folgenden Code hinzu:
<?php
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta http-equiv="expires" content="0">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="audience" content="all">
<meta name="author" content="">
<meta name="copyright" content="Copyright (c) ">
<meta name="robots" content="index, follow">
<meta name="revisit" content="30">
<meta name="rating" content="general">
<meta name="language" content="german">
<meta name="publisher" content="">
<meta name="page-topic" content="">
<meta name="page-type" content="">
?>
Auch können Sie hier weiteren Code in den head Bereich Ihrer Webseite einfügen.
2.3 Ressourcen cachen
Damit das Laden Ihrer Seiten beschleunigt wird, sollten Sie zum einen die Komprimierung aktivieren und zum anderen die Cache Funktion des Browsers nutzen. In dem nachfolgenden Beispiel aktivieren Sie die Cache Funktion für Bilder, CSS und Javascript Dateien. Dazu erstellen Sie im Hauptverzeichnis eine .htaccess Datei und fügen den Inhalt hinzu:
Options +FollowSymLinks
<ifmodule mod_expires.c>
ExpiresActive On
ExpiresByType image/x-icon "access plus 7 days"
ExpiresByType image/gif "access plus 7 days"
ExpiresByType image/jpg "access plus 7 days"
ExpiresByType image/png "access plus 7 days"
ExpiresByType text/css "access plus 7 days"
ExpiresByType text/javascript "access plus 7 days"
ExpiresByType application/javascript "access plus 7 days"
ExpiresByType application/x-javascript "access plus 7 days"
</ifmodule>
<ifmodule mod_headers.c>
<filesmatch ".(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "max-age=604800, public"
</filesmatch>
<filesmatch ".(css)$">
Header set Cache-Control "max-age=604800, private"
</filesmatch>
<filesmatch ".(js)$">
Header set Cache-Control "max-age=604800, private"
</filesmatch>
Header unset ETag
</ifmodule>
FileETag None
2.4 SEO Links
Das CMS bietet Ihnen im Adminbereich die Möglichkeit, für die "eigene Seite" individuelle Beschreibungen, Suchwörter und Suchmaschinenfreundliche Links via .htacces zu verwenden. Öffnen Sie dazu die .htaccess Datei oder falls nicht vorhanden, erstellen Sie eine .htaccess Datei mit folgendem Inhalt:
Options +FollowSymLinks
RewriteEngine On
#RewriteCond %{HTTP_Host} ^www.ihre_domain.de$ [NC]
#RewriteRule ^(.*)$ http://ihre_domain.de/$1 [R=301,L]
# Blog Modul
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^./]+)/([^/.]+)/([^/.]+)/([^/.]+)/$ modules.php?name=blog&vara=$1&varb=$2&varc=$3&vard=$4 [L]
RewriteRule ^([^./]+)/([^/.]+)/([^/.]+)/$ modules.php?name=blog&vara=$1&varb=$2&varc=$3 [L]
RewriteRule ^([^./]+)/([^/.]+)/$ modules.php?name=blog&vara=$1&varb=$2 [L]
RewriteRule ^([^./]+)/([^/.]+)/([^/.]+)/([^/.]+)$ modules.php?name=blog&vara=$1&varb=$2&varc=$3&vard=$4 [L]
RewriteRule ^([^./]+)/([^/.]+)/([^/.]+)$ modules.php?name=blog&vara=$1&varb=$2&varc=$3 [L]
RewriteRule ^([^./]+)/([^/.]+)$ modules.php?name=blog&vara=$1&varb=$2 [L]
# Module allgemein
RewriteRule ^startseite$ index.php
RewriteRule ^impressum$ modules.php?name=impressum
RewriteRule ^kontakt$ modules.php?name=feedback
RewriteRule ^news$ modules.php?name=news
# Artikel allgemein
RewriteRule ^artikel_([0-9]+)$ modules.php?name=shop&op=details&ids=$1
RewriteRule ^artikel-([0-9]+)$ modules.php?name=store&op=details&ids=$1
# Oder Artikel speziell verlinkt. Bitte Autoreifen durch den gewünschten Namen
# und IDS durch die richtige IDS ersetzen, siehe Adminbereich -> CMS Module -> Artikel Übersicht
RewriteRule ^autoreifen$ modules.php?name=shop&op=details&ids=IDS
RewriteRule ^autoreifen$ modules.php?name=store&op=details&ids=IDS
# Kategorien allgemein
RewriteRule ^kategorie_([0-9]+)$ modules.php?name=shop&op=category&id=$1
RewriteRule ^kategorie-([0-9]+)$ modules.php?name=store&op=category&ids=$1
# Oder Kategorien speziell verlinkt. Bitte Autoersatzteile durch den gewünschten Namen
# und IDS durch die richtige IDS ersetzen, siehe Adminbereich -> CMS Module -> Kategorien Übersicht
# Für die Warenkorb Version bitte shop durch store im Link ersetzen.
RewriteRule ^autoersatzteile$ modules.php?name=shop&op=category&ids=IDS
RewriteRule ^autoersatzteile$ modules.php?name=store&op=category&ids=IDS
# Modul Shop Artikel berechnen
RewriteRule ^berechnen$ modules.php?name=shop
# Modul Shop Bestellvorgang
RewriteRule ^bestellen$ modules.php?name=shop
# Modul Store Artikel hinzufuegen
RewriteRule ^einpacken$ modules.php?name=store
# Modul Store Warenkorb
RewriteRule ^warenkorb$ modules.php?name=store&op=basket
# Modul Store Bestellvorgang
RewriteRule ^bestellvorgang$ modules.php?name=store
# FAQ Modul
# config.php hinzufügen: $seo_faq = 1;
RewriteRule ^faq/([^./]+)/([0-9]+)$ modules.php?name=faq&op=view&ids=$2
RewriteRule ^faq/([^./]+)/([0-9]+)/([^./]+)/([0-9]+)$ modules.php?name=faq&op=view&fids=$2&ids=$4
# Eigene Seiten allgemein
RewriteRule ^seite_([0-9]+)$ modules.php?name=sections&ids=$1
# Oder Eigene Seiten speziell verlinkt. Bitte technik durch den gewünschten Namen
# und IDS durch die richtige IDS ersetzen, siehe Adminbereich -> CMS Module -> Eigene Seiten Übersicht
RewriteRule ^technik$ modules.php?name=sections&ids=IDS
Als nächstes müssen Sie noch die config.php bearbeiten, damit die Verlinkung im Shop Modul richtig übernommen wird. Dazu tragen Sie folgendes in die config.php ein:
$startsitepath = "startseite";
$feedbackpath = "kontakt";
$shopdetails = "artikel_";
$shopaddpath = "berechnen";
$shopcheckoutpath = "bestellen";
$storedetails = "artikel-";
$storeaddpath = "einpacken";
$storebasketpath = "warenkorb";
$storecheckoutpath = "bestellvorgang";
2.5 Shop Erweiterung
Wenn Sie beim Bestellvorgang einige Felder unf Funktionen nicht benötigen, können Sie diese mit wenigen Handgriffen in der config.php ausblenden. Dazu gehört das Telefonfeld, der Kunden Login, die Lieferanschrift, die Erstellung des Kundenaccounts und die Versandart.
Telefon- 0 Pflichtfeld
- 1 kein Pflichtfeld
- 2 Telefonfeld ausgeblendet
- 0 Kunden Login eingeblendet
- 1 Kunden Login ausgeblendet
- 0 Lieferanschrift eingeblendet
- 1 Lieferanschrift ausgeblendet
- 0 Kundenaccounts erstellen
- 1 Kundenaccounts nicht erstellen
- 0 Versandart eingeblendet
- 1 Versandart ausgeblendet
- 0 Wiederrufsrecht eingeblendet
- 1 Wiederrufsrecht ausgeblendet
- 0 Rechnungsversand eingeblendet
- 1 Rechnungsversand ausgeblendet
Würde also in der config.php der Eintrag $shopcodes = "2010000"; stehen, so wäre das Telefonfeld ausgeblendet, der Kunden Login aktiv, die Lieferanschrift ausgeblendet und die Erstellung eines Kundenaccounts wäre auch aktiviert.
TelefonNicht immer muss das Telefonfeld ein Pflichtfeld sein oder es möchte der ein oder andere Anbieter nicht. Daher kann man das Telefonfeld auch als freiwillige Angabe festlegen oder ganz ausblenden. Dazu öffnen Sie die config.php und fügen folgenden Eintrag hinzu bzw. ändern ihn ab:
$shopcodes="X000000";
Kunden Login
Anbieter die keine Kundenaccounts mit dem TekBASE verwalten möchten können die Einblendung des Kunden Logins beim Bestellvorgang ausblenden, da dieser dann unnötig wäre. Dazu öffnen Sie die config.php und fügen folgenden Eintrag hinzu bzw. ändern ihn ab:
$shopcodes="0X00000";
Lieferanschrift
Wenn ein Anbieter nur Gameserver, Streamserver oder sonstiges vermietet, so benötigt er die Felder für die Lieferanschrift nicht unbedingt. Daher können diese ausgeblendet werden. Dazu öffnen Sie die config.php und fügen folgenden Eintrag hinzu bzw. ändern ihn ab:
$shopcodes="00X0000";
Kundenaccounts
Bei einigen Shops wird nicht zwingend ein Kundenaccount benötigt, mit dem sich der Kunde dann im Kundenbereich einloggen kann. Daher kann man die Funktion zum automatischen erstellen eines Kundenaccounts deaktivieren. Dazu öffnen Sie die config.php und fügen folgenden Eintrag hinzu bzw. ändern ihn ab:
$shopcodes="000X000";
Versandarten
Wenn ein Anbieter nur Gameserver, Streamserver oder sonstiges vermietet, so benötigt er die Auswahl für die Versandarten nicht unbedingt, da der Versand der Logindaten in der Regel per Email erfolgt. Daher können diese ausgeblendet werden. Dazu öffnen Sie die config.php und fügen folgenden Eintrag hinzu bzw. ändern ihn ab:
$shopcodes="0000X00";
Wiederrufsrecht
Sie wollen den Kunden darauf hinweisen, dass mit Bestellung das Widerrufsrecht erlischt und der Kunde dies per Checkbox bestätigen muss. Dazu öffnen Sie die config.php und fügen folgenden Eintrag hinzu bzw. ändern ihn ab:
$shopcodes="00000X0";
Rechnungsversand
Hier haben Sie die Möglichkeit, den automatischen Rechnungsversand zu deaktivieren, wenn Sie diese im Adminbereich vorher noch prüfen wollen. Dazu öffnen Sie die config.php und fügen folgenden Eintrag hinzu bzw. ändern ihn ab:
$shopcodes="000000X";
3. CMS Bewertungssystem
Zeitaufwand: 1-5 MinutenUm das bereits im TekBASE integrierte Bewertungssystem zu nutzen, aktivieren Sie die Bewertungsfunktion im Adminbereich unter Setting Module -> Einstellungen. Danach integrieren Sie das Bewertungs Widget in Ihr Design. Dazu öffnen Sie die betreffende *.tpl Datei in unserem /themes/THEMENAME/templates Verzeichnis oder im Adminbereich bei CMS Module -> Seiten und fügen an der gewünschten Position folgendes ein:
<script src="ratings.php?op=widget" type="text/javascript"></script>
Wenn neue Bestellungen eingehen, legen Sie dem Kunden einen Artikel im Kundenpaket unter Adminbereich -> Rechnungs Module -> Kundenpaket an. Nun dürfen Sie sich fortan über Bewertungen erfreuen und sparen gegenüber externen Lösungen viel Geld und Arbeitsaufwand.
4. Cronjobs
Zeitaufwand: 15-30 MinutenDaemon prüfen
Richten Sie einen Cronjob ein, der jede Minute überprüft, ob der Daemon noch läuft und wenn nicht, dass dieser neugestartet wird. Dazu erstellen Sie in /etc/cron.d eine Datei mit dem Namen tekbase_daemon und folgendem Inhalt.
*/1 * * * * user-webi cd /home/skripte;./tekbase 18 daemon
Jetzt müssen Sie cron neustarten. Das geschieht indem Sie folgenden Befehl ausführen:
/etc/init.d/cron restart
Datenbank Backup
Richten Sie einen Cronjob ein, der für Sie wöchtenlich ein Backup der Datenbank anlegt. Dazu erstellen Sie in /etc/cron.d eine Datei mit dem Namen tekbase_dbbackup und folgendem Inhalt um die Datenbank jeden Montag um 1 Uhr morgens nach /cache zu speichern. Bitte verwenden Sie eine .htacces um /cache vor Zugriffen zu schützen, siehe Sicherheit. Das Passwort finden Sie im Adminbereich unter Setting Module -> Einstellungen -> Autoscripte.
0 1 * * 1 root wget -q --post-data 'op=dbbackup&key=PASSWORT' -O - http://ihre_domain.de/pfad/automated.php
Jetzt müssen Sie cron neustarten. Das geschieht indem Sie folgenden Befehl ausführen:
/etc/init.d/cron restart
HlStatsX CE Awards
Richten Sie einen Cronjob auf jedem Rootserver ein, der dann täglich die HlStatsX CE Awards generiert. Dazu erstellen Sie in /etc/cron.d eine Datei mit dem Namen tekbase_hlstats und folgendem Inhalt um Awards täglich um 4 Uhr morgens zu generieren.
0 4 * * * root /home/skripte/hlstats.sh 7
Jetzt müssen Sie cron neustarten. Das geschieht indem Sie folgenden Befehl ausführen:
/etc/init.d/cron restart
Prepaid Server berechnen
Richten Sie einen Cronjob ein, der täglich die Prepaid Server abrechnet. Dazu erstellen Sie in /etc/cron.d eine Datei mit dem Namen tekbase_prepaid und folgendem Inhalt, um die Berechnung täglich um 5 Uhr morgens durchzuführen. Soll die Abrechnung 14 tägig erfolgen, müssten Sie anstelle von 1 einfach eine 14 bei days angeben. Das Passwort finden Sie im Adminbereich unter Setting Module -> Einstellungen -> Autoscripte.
0 5 * * * root wget -q --post-data 'op=prepaid&key=PASSWORT&days=1' -O - http://ihre_domain.de/pfad/automated.php
Jetzt müssen Sie cron neustarten. Das geschieht indem Sie folgenden Befehl ausführen:
/etc/init.d/cron restart
Rechnungen erstellen
Richten Sie einige Cronjobs ein, die dann für uns täglich, wöchentlich oder monatlich die neuen Rechnungen generieren. Dazu erstellen Sie in /etc/cron.d eine Datei mit dem Namen tekbase_createbill und wählen eines oder mehrere der angezeigten Beispiele. Das Passwort finden Sie im Adminbereich unter Setting Module -> Einstellungen -> Autoscripte.
Um 3 Uhr morgens werden die für diesen Tag gültigen Rechnungen erstellt.
0 3 * * * root wget -q --post-data 'op=createbill&key=PASSWORT&daily=yes' -O - http://ihre_domain.de/pfad/automated.php
Für alle Kunden Produkte die zwischen dem 01. bis 9. eines Monats bestellt wurden. (wird am 01. des Monats erstellt)
0 3 1 * * root wget -q --post-data 'op=createbill&key=PASSWORT&all=1' -O - http://ihre_domain.de/pfad/automated.php
Für alle Kunden Produkte die zwischen dem 10. bis 19. eines Monats bestellt wurden. (wird am 10. des Monats erstellt)
0 3 10 * * root wget -q --post-data 'op=createbill&key=PASSWORT&all=10' -O - http://ihre_domain.de/pfad/automated.php
Für alle Kunden Produkte die zwischen dem 20. bis 31. eines Monats bestellt wurden. (wird am 20. des Monats erstellt)
0 3 20 * * root wget -q --post-data 'op=createbill&key=PASSWORT&all=20' -O - http://ihre_domain.de/pfad/automated.php
Für alle Kunden die eine Rechnung bekommen. (wird am 1. des Monats erstellt)
0 3 1 * * root wget -q --post-data 'op=createbill&key=PASSWORT&all=99' -O - http://ihre_domain.de/pfad/automated.php
Jetzt müssen Sie cron neustarten. Das geschieht indem Sie folgenden Befehl ausführen:
/etc/init.d/cron restart
Rechnungen verschicken
Richten Sie einen Cronjob ein, der täglich die neuen Rechnungen verschickt, egal ob per Email oder per realem Postbrief. Dazu erstellen Sie in /etc/cron.d eine Datei mit dem Namen tekbase_sendbill und folgendem Inhalt um die Rechnungen täglich um 9 Uhr morgens zu verschicken. Das Passwort finden Sie im Adminbereich unter Setting Module -> Einstellungen -> Autoscripte.
0 10 * * * root wget -q --post-data 'op=sendbill&key=PASSWORT' -O - http://ihre_domain.de/pfad/automated.php
Jetzt müssen Sie cron neustarten. Das geschieht indem Sie folgenden Befehl ausführen:
/etc/init.d/cron restart