Drupal mit neuen Google AdSense Werbeblöcken (Serverbasiert)

Neues AdSense


(Affilliate Link 🙂 ) sind neuerdings Serverbasiert. Das heisst: Aussehen, Inhalt, etc kann grösstenteils von der AdSense-Seite aus gemanaged und muss nicht mehr mühsam von Hand auf jeder Seite eingepflegt, geftpt und gecheckt werden. Das geniale Drupal AdSense Modul beherrscht diese neue Variante leider (noch) nicht von Haus aus. Mit einem kleinen Patch geht das aber.

Vorgehen

  1. Die Datei adsense.module mit diesem Patch so patchen, wie in diesem Beitrag beschrieben.
  2. Auf der Google AdSense Seite AdSense-Setup → Anzeigen Verwalten aufrufen und eine neue Anzeige designen.
  3. Den Code anzeigen lassen und die Slot-Nummer notieren. Es sollte etwas sein wie 2666876213.
  4. In Dupal als Administrator Administer → Site configuration → Google AdSense aufrufen und Custom Channels aufklappen.
  5. Die Slotnummer in einen Channel schreiben.
  6. Diesen Channel beim Block für die Anzeige einsetzen.
  7. Warten… Und sich freuen…

Claxan: Privater Server oder ‘Internet Appliance’

CLAXAN SA-200Ja, man hat ja zuviel Zeit… Ich hatte einen US-Robotics Router der wunderbar zuverlässig seinen Dienst verrichtet hat. Aber solch zuverlässige Geräte reizen, sie durch etwas mehr 1337 zu ersetzen 🙂 . Also habe ich mir für ca 145 € eine Server Appliance gekauft, ein Claxan SA-200, basierend auf einer MIPS-CPU. Das vorinstallierte Linux läuft immernoch zu stabil und darum habe ich die Firmware auf OpenMCT umgeflasht und nun läuft ein Debian Linux drauf. Die Jungs von OpenMCT sind klasse!!! Hilfreich in den Foren, engagiert und das „Produkt“ ist 1a! Vielen Dank an dieser Stelle.

Was kann die Maschine?

  • Dateiserver fürs Netzwerk
  • Backup
  • Router
  • Firewall
  • dns-Cache
  • dhcp-Server
  • Webserver mit PHP/MySQL
  • Durchsuchbare Datenablage

Was wird sie noch können?

  • Printserver

Und das alles innerhalb eines oder mehrer virtuellen Servern!
Wie geht man vor? Nun, zuerst muss man für den Zugriff auf die Administrationskonsole unter Linux den Agenten in ‚MSIE 5.5 on Windows 2000‘ ändern (Einfach möglich zum Beispiel mit Konqueror). Danach kann man die neue Firmware (OpenMCT_RC3_0x100_0x00_0x1001.bin) flashen. Um über telnet einzuloggen brauchts nach einem erfolgreichen Flash eine Verbindung auf dem WAN-Port im entsprechenden Subnetz:
IP Claxan: 192.168.1.254
username: root
password: 168Mct168
Und nun gehts ab:
Partitionieren:

fdisk /dev/discs/disc0/disc

Kontrollieren:

p (p)artition table anzeigen

d (d)elete partition

Anlegen Swap Partition:

n (neu)

p (p)rimary

1 partition (1)

enter (default cyl 1)

+512M (512 MB)

t (change (t)ype)

82 (swap partition)

Anlegen Daten Partition:

n

p

2

enter

enter (max size)

Kontrollieren, ob ok (als Beispiel mit meiner 200GB Platte):

Command (m for help): p

Disk /dev/discs/disc0/disc: 203.9 GB, 203928109056 bytes255 heads, 63 sectors/track, 24792 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System

/dev/discs/disc0/part1 1 63 506016 82 Linux swap/dev/discs/disc0/part2 64 24792 198635692+ 83 Linux

Speichern:

w (w)rite

q (q)uit

Formatieren der Partitionen

mkswap /dev/discs/disc0/part1

mkfs.ext3 /dev/discs/disc0/part2

Swap einschalten

vi /etc/rc.conf

Auf Position fahren und ‚i‘ für insert drücken

START_SWAP="yes"OPTIONS_SWAP="/dev/discs/disc0/part1"

Data Mounten

vi /etc/fstab

Kucken, dass folgende Zeile da ist:

/dev/discs/disc0/part2  /usr  ext3  defaults  0 0

VSERVER
Muss über Telnet gemacht werden, mit ssh klappts nitte… (export PATH=’/usr/sbin:/bin:/usr/bin:/sbin‘). Checken, ob /usr eingehängt ist.

cd /sbinwget http://www.openmct.org/pub/people/andi/RC3/debootstrap

chmod 755 debootstrapcd /usr/vservers/

newvserver --vsroot /usr/vservers --hostname vs1 --domain oncode.info  --mirror http://mirror.switch.ch/ftp/mirror/debian --ip 192.168.1.253

Grundidee
Das Grundsystem aktiviert eth0 (WAN) und erhält ein DHCP-Lease des Servers. Immer wenn eine IP-Adresse vergeben wird (renew und bound), wird ein Script aufgerufen das folgendes erledigt:

  • Anmelden bei Dyndns um einen Namen zu erhalten um von Aussen erreichbar zu sein
  • Alle VSERVER und dhcp-clients kommen aufs Netz bringen
  • VSERVER verbinden sich auf eth1
  • Portforwarding von eth0 auf eth1

Komponenten
In einem Vserver werwende ich dhcpd als DHCP Server und dnsmasq als DNS. Weiter vergebe ich allen bekannten Hosts fest verdrahtete IP’s. Aus Stromspargründen habe ich noch einiges getuned, so dass die HD eigentlich nix zu tun hat und fast nie aufwachen muss.
Code
Die Scripts fressen zuviel Platz als dass ich hier alle posten kann. Fragt mich bei Interesse, ich rücke sie sehr gerne raus….

Croquet: Die Zukunft des eLearning

Virtuelle Welten haben mich schon immer fasziniert. Wieso sollen wir uns mit den Limiten dieses reellen Dreckschollens begnügen auf dem wir hingeboren wurden? Etwas sehr schönes ist Croquet. Geschrieben in Smalltalk, eine lustige Sprache, die aber weh tut beim Programmieren. Da ist alles ein Bisschen anders…

CroquetNundenn, ich wollte einen Server ohne grafische Oberfläche, auf einem festen Port und dann loslegen. Es gibt viele Beispiele auf dem Web, aber entweder sind die für alte Versionen oder mein nichtvorhandenes Wissen über Smalltalk hat den Erfolg verhindert. Nach knapp 12 Stunden habe ich dann einiges herausgefunden… Das Teil stürt oft ab und hat immer mein Linux mitgerissen… In einer VM läuft es sauber, aber langsam wie ein Keks.
Nicht gemeistert habe ich einen äusserst blöden Fehler: In einer Funktion wollte Croquet einem nicht vorhandenen Objekt namens connection die Nachricht recvCypher nicht verstehen… Wie auch, war es doch klein und Null. Hab aber nicht aufgegeben und folgendes herausgefunden:

SimpleDemo (Master) ist fürs WAN vorbereitet. Der Port versteckt sich in Croquet-Harness -> CroquetHarness -> initialize -> CreateIsland ! Wenn man ihn dort setzt, dann hört der Router ganz friedlich und beständig da… Ebenfalls da sollte man die ID setzen:

id := TObjectID readHexFrom: 'ee3320a5924eaf79b1336d2151b80717'.

Nungut, wie startet man das Ganze nun kopflos? (Ohne grafische Anzeige) ?

Man macht ein kleines Script bbb-master.st:

bbbworld := SimpleDemoMaster new.
bbbworld setup.

Und startet es folgendermassen:

 /pfad/to/Croquet/bin/i686-pc-linux-gnu/squeak -plugins /pfad/to/Croquet/bin/i686-pc-linux-gnu  \
     -vm-display-X11 -swapbtn -headless /pfad/to/Croquet/Croquet1.0.10.image \
     /pfad/to/Croquet-Scripts/bbb-master.st

Was man auch automatisieren kann (/etc/init.d/bbb-master poste ich gerne auf Wunsch).

Zum Verbinden braucht es die IP und nicht den Namen!

Etwas das ich noch nicht herausgefunden habe wie man bei diesen Welten mit Menü ein 2D-Projekt als Portal übernimmt. Vielleicht sollte man eine andere Welt als Server wählen…? Ebenfalls schlecht ist die Uptime von 5 Minuten bei 4 aktiven Clients 🙁 … Aber es wird ja noch dran gearbeitet 🙂 ….