Archiv der Kategorie: Allgemein

Mehrere PHP Versionen innerhalb von Plesk 11.5

Bei der Arbeit mit Plesk kann es sinnvoll sein mehrere unterschiedliche Versionen von PHP innerhalb von Plesk zur Verfügung zu haben. Zum einen erleichtert es doch immens die Arbeit bei der Migration von Webseiten, zum anderen kann man so individueller auf die Bedürfnisse der Umgebung eingehen. Ziel ist es die jeweils zu verwendende PHP Version innerhalb des Plesk Panels auswählen zu können.

Grundsätzlich werden alle PHP Versionen als FastCGI zur Verfügung gestellt.

Das diese Pakete nicht vorkompiliert zur Verfügung stehen muss selbst hand angelegt werden. Hier gibt es diverse Anleitungen im Netz wie man unter Debian das alle Voraussetzungen schafft um ein sauberes Kompilat zu erhalten. Als hilfreich hat sich folgende Umgebung herausgestellt:

apt-get install apache2-suexec libpcre3-dev libpcre++-dev libpng12-dev libbz2-dev libcurl4-openssl-dev libc-client2007e-dev libjpeg-dev libgif-dev libgif4 libpthread-stubs0 libpthread-stubs0-dev libx11-dev libxau-dev libxcb1-dev libxdmcp-dev libxpm-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev xtrans-dev libxml2-dev libmysqlclient-dev libfreetype6-dev build-essential make wget build-essential

An dieser stelle muss nach Bedarf ergänzt werden, was man braucht oder aber eben nicht.

Nun fangen wir an mit der Einrichtung von PHP 5.3:
cd /usr/src
wget http://de1.php.net/get/php-5.3.28.tar.gz/from/this/mirror -O php.tar.gz
tar xzvf php.tar.gz
cd php-5.3.28

ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a

./configure –prefix=/usr/share/php53 –datadir=/usr/share/php53 –mandir=/usr/share/man –bindir=/usr/bin/php53 –with-libdir=lib/x86_64-linux-gnu –includedir=/usr/include/php53 –sysconfdir=/etc/php53/apache2 –with-config-file-path=/etc/php53/apache2 –with-config-file-scan-dir=/etc/php53/conf.d –enable-libxml –enable-session –with-pcre-regex=/usr –enable-xml –enable-simplexml –enable-filter –disable-debug –enable-inline-optimization –disable-rpath –disable-static –enable-shared –with-pic –with-gnu-ld –with-mysql –with-gd –with-jpeg-dir –with-png-dir –with-xpm-dir –enable-exif –with-zlib –with-bz2 –with-curl –with-ldap –with-mysqli –with-freetype-dir –enable-soap –enable-sockets –enable-calendar –enable-ftp –enable-mbstring –enable-gd-native-ttf –enable-bcmath –enable-zip –with-pear –with-openssl=/usr/ –with-imap –with-imap-ssl –with-kerberos –enable-phar –enable-pdo –with-pdo-mysql –with-mysqli

make
make test
make install

Wenn alles durchgelaufen ist, erhalten wir eine interessante Übersicht:
Installing PHP SAPI module:       cgi
Installing PHP CGI binary: /usr/bin/php53/
Installing PHP CLI binary:        /usr/bin/php53/
Installing PHP CLI man page:      /usr/share/man/man1/
Installing build environment:     /usr/share/php53/lib/php/build/
Installing header files:          /usr/include/php53/php/
Installing helper programs:       /usr/bin/php53/
program: phpize
program: php-config
Installing man pages:             /usr/share/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment:      /usr/share/php53/lib/php/
[PEAR] Archive_Tar    – already installed: 1.3.11
[PEAR] Console_Getopt – already installed: 1.3.1
[PEAR] PEAR           – already installed: 1.9.4
Wrote PEAR system config file at: /etc/php53/apache2/pear.conf
You may want to add: /usr/share/php53/lib/php to your php.ini include_path
[PEAR] Structures_Graph- already installed: 1.0.4
[PEAR] XML_Util       – already installed: 1.2.1
/usr/src/php-5.3.28/build/shtool install -c ext/phar/phar.phar /usr/bin/php53
ln -s -f /usr/bin/php53/phar.phar /usr/bin/php53/phar
Installing PDO headers:          /usr/include/php53/php/ext/pdo/

Das ist aus dem Grund interessant, weil es und etwas anschaulicher zeigt wo unsere
Datein liegen.

Nun kopieren wir noch die Beispielkonfigurationsdatei:
cp php.ini-production /etc/php53/apache2/php.ini

Wenn das erledigt ist, können wir Plesk mitteilen, wo es unser neues PHP findet, wie es heißen soll und was es damit anfangen soll:

/usr/local/psa/bin/php_handler –add -id PHP-5.3.28 -displayname NEWPHP-5.3 -path /usr/bin/php53/php-cgi -type fastcgi -phpini /etc/php53/apache2/php.ini

Haben wir das erledigt brauchen wir einfach nur noch unseren Apache neu starten und haben in den Hostingeinstellung der Pleskdomain unsere neue Version PHP mit dem Namen NEWPHP-5.3 zur Verfügung.

 

Quellen:

  • http://massivelydigital.com/run-two-versions-of-php-on-one-plesk-11-server/
  • http://blogs.reliablepenguin.com/2013/10/01/plesk-11-5-with-multiple-php-versions
  • http://zgadzaj.com/how-to-install-php-53-and-52-together-on-ubuntu-1204
  • http://wiki.apache.org/httpd/php-fcgid
  • http://www.soeren-hentzschel.at/technik/linux-server/2013/05/17/php-5-3-und-5-4-unter-debian-7-wheezy-parallel-installieren/

Ohne Datenbank-Power

Wer mich kennt, der weiß, dass ich es gern einfach mag. Wir verkomplizieren die einfachsten Dinge und sind gradezu meisterhaft darin uns das Leben selbst schwer zu machen.

Aus diesem Grund entwickelte sich irgendwann im laufe der Zeit eine Art Abneigung gegen alles was unnötig kompliziert, unangemessen aufwändig oder gar aus der Faulheit heraus aufgebläht wird.

Eine dieser Dinge sind CMS (Content Management Systeme). Wir alle nutzen sie in der ein oder anderen Art und Weise und tragen somit zum Ausbau des Internet, Intranet oder ähnlichem bei. Eine ordentliche Datenhaltung ist an dieser Stelle schon die Vorstufe zum schwarzen Gürtel. Aus diesem Grund legen wir die Verwaltung und Haltung von Daten gern in die Hände von Systemen. Soweit auch alles ok.

Wenn ich mir die technische Komplexität vieler Webvisitenkarten oder etwas aufwändigerer Präsenzen anschaue wird mir ein wenig bange. Datenbanken, Skriptsprachen, Erweiterungen und dergleichen prägen die Serverlandschaften und verschwenden unfassbar viel Energie, Speicherplatz und so weiter. Für den Kunden so lange uninteressant wie er nicht upgraden oder warten muss. An dieser Stelle wird  es oft teuer, weil ein Techniker ran muss der glaubt die Dinge zu beherrschen. Wofür das alles? Für 10-20 Seiten die nur dazu dienen sich zu präsentieren? Aus meiner Sicht unverhältnismäßig.

An dieser Stelle nutze ich gern kleine Systeme, mit so wenig Abhängigkeiten wie möglich. Natürlich darf es bequem sein und ich sage nicht, dass jeder seine Seiten wieder von Hand schreiben soll.

Get-Simple als vollwertiges, erweiterbares, einfach zu erlernendes/zu vermittelndes CMS ist für mich oft die Wahl. Es speichert seine Daten in XML Dateien ab, ist auf einfache Art und Weise erweiterbar, benötigt minimale Anforderungen an neues Skriptsprachen und ist somit auf lange sicht sehr gut wartbar und weniger anfällig für Serverseite Veränderungen. Zudem kann ich per Skript die komplette Präsenz eines Kunden herunterladen und so direkt lauffähige Backups seiner Webseite bereithalten.

Dem Anschließen möchte ich seit neuestem noch das NibbleBlog-System. Ähnlich aufbaut, mit ein wenig mehr optischem Schnick-Schnack ist es ein leistungsfähiges, schnelles und vor allem zeitgemäßes Blogsystem.

Windows 7/8 bootable USB Stick am Mac erstellen

Es kommt hin und wieder vor, dass ich ein Windows installieren muss/kann/soll. Damit ich nicht immer mit einem CD/DVD Medium durch die Gegend renne oder mir gar ein externes Laufwerk zulegen muss, erstelle ich mir einen USB-Stick der für mich die Installationsdaten bereit hält.

Das sich irgendwann in den letzten Jahren die Eigenschaft von Apples Bootcamp geändert hat mir einen USB Stick aus einer ISO-Datei oder einem Datenträger zu erstellen, muss ich ab und an suchen, was ich zu tun habe um mir die Funktion wieder zurück zu holen.

Zunächst einmal muss ich mir den Paketinhalt der von Bootcamp anzeigen lassen (rechts Maustaste; Paketinhalt nazeigen). Anschließend suche ich die Datei

info.plst

und kopiere sie auf den Schreibtisch um sie von dort aus zu bearbeiten. Ziemlich am Ende sucht ich nach „PreUSB“ und entferne das „Pre“. Nun wird die gespeicherte Datei wieder zurück in das Paket von Bootcamp kopiert und das ganze noch im Terminal über die folgende Zeile signiert.

„sudo codesign -fs – /Applications/Utilities/Boot\ Camp\ Assistant.app“

Ist das Getan hat man auch wieder den Fehlenden Eintrag zurück der es einem erlaubt am Mac einen installatiosfähigen Windows USB Stick zu erstellen.

Das dieser Text meine Gedächtnisstütze ist, kann sich jeder gern das folgende Video anschauen um das ganze nochmals nachzuvollziehen.

Warum Jörg manchmal recht hat

Natürlich lautet die Konfiguration der Sortierung der Posts auf der Startseite einer WordPress-Seite order=DSC und nicht order=ASC wenn man die aktuellen Einträge oben haben möchte.

Warum man das aber nicht per WP-Standard-Button definiert hat, habe ich trotzdem noch nicht verstanden. Hm. Egal, läuft.

index.php:

[ … ]
<?php global $query_string; query_posts($query_string . „&order=DSC“); /* Miro war hier */ ?>
<?php
if ( have_posts() ) :
// Start the Loop.
[ … ]

 

Vertrauenssache

Aufgrund eines der letzten Podcasts von Holgi, greife ich das Thema “ Vertrauen“ mal für mich auf.

Das Thema ist aus meiner Sicht ein sehr verkommenes. Oft wird es von vielen als Erkenntnis oder gar Totschlagargument genutzt. Jeder hat Angst davor es zu verlieren und ist damit in keiner günstigen Position objektiv darüber nachzudenken. Die Angst hinter dem Thema verleitet viele zu für mich nicht nachvollziehbaren Handlungen. So wird es oft voran geschoben als indirekte Drohung oder als Karussell innerhalb von Beziehungen eingebaut. Im Zweifelsfall ist es ein nicht greifbares, hoch brisantes emotionales Buschfeuer.

Dabei glaube ich dass wir in den vergangenen Jahren die Thematik völlig missinterpretiert haben und weiterhin Fehldefinieren werden.
Wenn ich auf die von mir gemachten Erfahrungen zurückblicken, dann ist Vertrauen meist im Zusammenhang mit Enttäuschungen und ähnlichen emotionalen Konstrukten genannt worden. Oft immer nur zum Schluss ohne eine konkrete Vorgeschichte. Dabei spielt Vertrauen an vielen – schon kleinen – verschiedenen Stellen eine entscheidende Rolle.

  • Ich vertraue darauf dass die Kassiererin mir das korrekte Wechselgeld herausgibt.
  • Ich vertraue darauf dass der Lieferant mir die von mir bestellte Ware bringen.
  • Ich vertraue darauf das mein Chef die „richtige“ Entscheidung für das Unternehmen und damit für meinen Arbeitsplatz.

Diese Liste lässt sich vermutlich beliebig weit fortführen und noch stärker ausbauen, wenn es in den privaten Bereich geht. Das überlasse ich aus strategischer Sicht dem geneigten Leser – ansonsten habe ich die Befürchtung das es emotional ungerührt wird.
Was ich damit sagen möchte ist, das in jeder Situation in der es Vertrauen geht immer beide Parteien involviert sind. In den vergangenen Jahren beobachte ich allerdings zunehmend, dass für einen „Vertrauensmissbrauch“ immer nur eine Seite verantwortlich gemacht wird. Das hat den Effekt, das meist auch nur eine Seite sich verantwortlich fühlt und gegebenenfalls – bei entsprechender persönlicher Eignung – diese Position für sich nutzt. Bei weniger Skrupel kann ein Arbeitgeber sich die Taschen voll stopfen während die Arbeitnehmer einfach nur schimpfen, enttäuscht werden, und von Vertrauensmissbrauch sprechen ohne allerdings selbst aktiv zu werden oder im Vorfeld gar Weichen zu stellen. Im Umkehrschluss entsteht bei den Befähigten, also diejenigen welche bereit sind Vertrauen bidirektional zu betreiben, ein gewisses ‚mehr‘ an Verantwortung die sie oft nicht bereit sind zu tragen. Das übt einen immensen Druck aus und bringt denjenigen der davon betroffen ist ein eine unangenehme Situation. Diese Menschen sind in der Regel  dazu geneigt „Führungspositionen“ einzunehmen (hiermit ist nicht der Abteilungsleiter gemeint, sondern derjenige der Verantwortung übernimmt und zu führen). Oft an für  sie  passenden Positionen (nicht zu vergleichen mit dahingezüchtetem Führungspersonal). Durch das breitflächige betreiben von Unidirektionalem Vertrauen wächst allerdings sowohl der Druck in Richtung dieser Personen als auch wie Verantwortung damit umzugehen. Demgegenüber steht sinkender Motivation, steigender Unmut aufgrund der des (direkt oder indirekt) gefühlten Vertrauensmissbrauchs und Unlust sich mit der Thematik auseinander zusetzen.  Gegebenenfalls ist sogar das Vertrauen in die ausführenden Personen, bei denen ist mittlerweile eine hohe Verdrießlichkeit eingekehrt ist, erschüttert und bedarf eines Aufbaus. Dieses Gesamtkonstrukt wird fälschlicherweise als Leidensweg interpretiert und führt dazu das Vertrauen/Vertrauensmissbrauch ein so heikles Thema ist.

Die Lösung dazu wäre denkbar einfach wenn an entsprechenden Stellen (ich spreche hier ganz bewusst nicht von jedem) eine gewisse Skepsis beziehungsweise kognitive Leistung erbracht werden würde vertrauen bidirektional zu halten. Das Selbstverständnis der eigenen Position und der des Gegenübers muss aufgelöst werden. Der verantwortliche/die Führungsposition muss aufhören den Lohn als gerechtfertigt anzusehen für seine schwere Aufgabe.

Im Alltag bedeutet das folgendes:

  • Ich gestehe der Kassiererin das Recht zu sich beim Wechselgeld verzählt zu haben und zähle ggf. selbst nach.
  • Ich ziehe in Betracht das etwas dazwischen kommen kann, wenn Menschen sich um eine Aufgabe kümmern und nehme es nicht persönlich wenn meine Bestellung nicht 100% dem entspricht was ich erwartet habe.
  • Ich gestehe meinem Chef zu nicht alles überblicken zu können und nehme selbst Teil an den Geschicken der Abteilung, der Aufgabe und/oder des Unternehmens.

Das bringt jeden in eine sehr vorteilhafte Ausgangsposition: Zum einen minimiert sich der Druck alles „richtig“ zu machen. Zum anderen entspannt es die eigene Position bei der Problemlösung mit externen Faktoren.

Wenn von einem Missverständnis ausgegangen wird ist Vertrauen aussen vor. Vertrauen zu missbrauchen ist eine Bewusste Handlung. Vertrauen zu jemandem zu haben eine Erfahrung. Wenn jemand kognitiv nicht in der Lage ist etwas kontinuierlich durchzuführen, dann kann ich nicht darauf vertrauen das er es tut. Jetzt kann ich nicht von einem Vertrauensmissbrauch gesprochen werden, da ich niemals die Erfahrung gemacht habe, dass mein Gegenüber überhaupt in der Lage ist. Anders herum kann mein Gegenüber mich  auch nicht in die Situation bringen von missbrauchten Vertrauen betroffen zu sein. Ich selbst werde von diesem Standpunkt aus meine Ansprüche an das Gegenüber verändern und erfahren, wie konstruktiv und funktionstüchtig dieses Konstrukt ist.

Zeit nutzen

Die meisten von uns werden es kennen: Arbeitswege!

Diese undankbare Zeit kann und wird von dem ein oder anderen konstruktiv genutzt werden. Zum einen Ist es möglich seinen Frust auf der Autobahn abzubauen indem man ein wenig mehr aufs Gaspedal gerückt. Alternativ kann man auch seinen fehlenden Schlaf in einen meditativen Zustand etwas ausbessern oder ganz einfach diese Zeit konstruktiv nutzen.

In meinem Fall komme ich – seit einigen Jahren mal wieder – in den Genuss morgens eine halbe Stunde auf der Autobahn verbringen zu müssen. Diese Zeit habe ich von Anfang an damit verbracht Podcasts zu hören. Ein absolut netter Nebeneffekt für mich ist, dass ich zum einen einer verschollenen Leidenschaft frönen kann und gleichzeitig das Gefühl habe etwas wie Weiterbildung zu erfahren. Da der Heimwegs sich ähnlich gestaltet, kann ich meinen Arbeitstag meistens mit dem wohligen Gefühl beenden etwas getan zu haben.

Die neue Technik (auch wenn diese gar nicht so neu ist) bringt einen zudem in die vorteilhafte Position während des Autofahrens seine Gedanken in etwas produktives umwandeln zu können. Siri und sonstige $Spracherkennungsprogramme helfen dabei seinen E-Mail Verkehr auch während der Autofahrt abhandeln zu können.

Wenn man jetzt meint, das ist nur etwas für workerholics, so sehe ich das vollkommen anders. Insgesamt befinden wir uns – meiner Ansicht nach – in einer sehr bequemen und dadurch verwöhnten Gesellschaft. Nur wenige schaffen es die zur Verfügung stehende Zeit und/oder die vorhandenen technischen Mittel so einzusetzen, dass Sie entweder die Zufriedenheit steigern, die anfallende Arbeit erledigen, oder gar einfach Spaß machen (was auch wieder zur Zufriedenheit gehört).

Viele meiner besten Ideen/Konzepte, Planungen und Korrespondenzen sind mit Hilfe von Spracherkennung und sonstigen kleinen Helfern entstanden. Sie versetzt mich in die Lage mein Gedankengut auf einfachste Weg in Text umzusetzen. Dieser ist sicherlich nicht perfekt-allerdings ist das Ergebnis eine ziemlich gute Skizze für mein eigenes Brainstorming. Insofern ist mein mentaler Arbeitsspeicher meistens leer und bietet Raum für Neues. Selbst dieser Blogeintrag ist morgens auf der Autobahn unter Zuhilfenahme von Spracherkennung auf dem Smartphone entstanden.

Schöne Welt

Reload 2.0

An einem recht lustigen Abend bei und mit Jörg wurde ein sehr altes Thema aufgegriffen. Was zum Teufel ist mit unseren Projekten?! Wir waren uns ziemlich sicher, dass wir noch ein paar offene Punkte auf unserer gemeinsamen ToDo-Liste hatten.

Hier also ein (erneuter) Reload.

🙂