Bernhard Häussner
Journal: Neueste Artikel erscheinen hier (Seite 9 von 23)

Howto: PHP5.3 parallel zu PHP5 installieren

27.10.2009, 17:49

Wenn man die neuen PHP-5.3-Funktionen testen will, aber trotzdem für die meisten Projekte aus Kompatibilitätsgründen eine ältere PHP(5)-Version benutzen will, kann man PHP 5.3 parallel als CGI-Modul installieren. Dazu sind folgende Schritte möglich:

Zunächst benötigt man den Quelltext (Sourcecode) der aktuellen php5.3-stable Version. Er ist zu finden auf der PHP-Download-Seite bzw. Version 5.3.0 kann so direkt heruntergeladen werden:

wget http://de2.php.net/get/php-5.3.0.tar.gz/from/this/mirror
tar xzfv php-5.3.0.tar.gz
cd php-5.3.0/

Dann muss die PHP-Installation konfiguriert werden. Dazu benutzt man zunächst in der Ausgabe von phpinfo() das "Configure Command" als Basis. In diesem ändert man dann in den Dateipfaden php5 zu php53 und man setzt --bindir=/usr/bin/php53, um Konflikte mit anderen php5-Binaries zu vermeiden. Das sieht z.B. so aus:

./configure --prefix=/usr/share/php53\
 --datadir=/usr/share/php53\
 --mandir=/usr/share/man\
 --bindir=/usr/bin/php53\
 --with-libdir=lib64\
 --includedir=/usr/include\
 --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

Eine Liste mit allen Optionen zeigt ./configure --help. Das Konfigurieren überprüft alle Einstellungen und wird eine Weile laufen - und meistens nicht beim ersten Mal klappen, was meistens bedeutet, dass --with-xyz verwendet wurde, ohne dass die entsprechenden Libraries gefunden wurden. Dann muss man das Modul deaktivieren oder nach einer Lösung googeln/bingen. Manchmal fehlen auch Header, welche, je nach Distribution, in einem Paket ähnlich wie [lib]xyz-dev[el] zu finden sind.

Als nächstes wird das ganze kompiliert und (als root/superuser) die neue PHP-Version installiert:

make
# optional, dauert, findet aber Fehler:
make test
# bringt die Dateien an ihren Platz: 
sudo make install

Jetzt muss noch Apache über das neue CGI-Modul informiert werden. Dazu müssen die folgenden Konfigurationen gesetzt werden (z.B. elegant in einer neuen Datei /etc/apache2/conf.d/php53cgi.conf):

# Damit mod_mime die neue Dateierweiterung erkennt:
AddHandler php53-cgi .php53
# Damit die Binaries aufgerufen, nicht versendet, werden:
ScriptAlias /bin-php53 /usr/bin/php53/
# Was eigentlich passieren soll:
Action php53-cgi /bin-php53/php-cgi
# Und noch ein paar Einstellungen für die Binaries:
<Directory /usr/bin/php53>
    # Kein .htaccess:
    AllowOverride None
    # CGI aktivieren, softlinks folgen
    Options +ExecCGI +FollowSymLinks
    # normalerweise ist der Zugriff auf alle „sonstigen“ Dateien gesperrt, 
    # daher hier wieder freigeben: 
    Order allow,deny
    Allow from all
</Directory>

Zum Testen kann man z.B. eine phpinfo.php53-Datei anlegen und man sollte die neue PHP-Verion angezeigt bekommen. Auf dieser Info-Seite kann man dann prüfen, ob alle Module verwendbar sind, die Zeitzone gesetzt ist und anderen potentielle Konfigurationsfehler auf die Schliche kommen. PHP 5.3 wird auch seine eigene php.ini in /etc/php53/apache2/php.ini verwenden, wohin man vielleicht zunächst die alte Konfigurationsdatei kopieren will.

# php.ini replazieren:
sudo cp /etc/php5/apache2/php.ini /etc/php53/apache2/php.ini
# im Webroot phpinfo mit namespace-Spielerei anlegen :)
echo "<?php namespace YEEES; phpinfo();" > phpinfo.php53

Nach den Schritten dieses Tutorials dürfte dann PHP 5.3 mehr oder weniger optimal laufen, ohne dass die Funktion alter Scripte eingeschränkt werden muss, und es lässt sich einfach die Interkompatibilität zwischen den Versionen testen.

Keine Garantie, Verwenden auf eigenes Risiko.

Edit 2009-10-28: On-the-fly zu PHP5.3 Wechseln

Das ständige Umbenennen von Dateien kann natürlich sehr mühsam sein. Leicht wechselt man ganze Verzeichnisse zu PHP5.3 indem man folgendes in ihrer .htaccess-Datei einfügt:

AddHandler php53-cgi .php

So kann man dann auch zum Testen schnell den ganzen Server zwischen den Versionen wechseln.

Kommentare: 7 Einträge

VNC mit openSUSE oder Debian Linux (Howto)

22.10.2009, 09:13

Die Verwendungsmöglichkeiten einer Remote-Desktop-Lösung reichen von Fernadministration bis Support. VNC erlaubt den Fernzugriff auf graphische Benutzeroberflächen. Eine Kurzanleitung zur Installation von VNC-Server und -Client unter openSUSE und/oder Debian:

Server

Zunächst benötigt man auf dem Server (der Computer dessen Bildschirm übertragen werden soll) einen VNC-Server, wie z.B. x11vnc:

sudo zypper install x11vnc
#oder Debian:
sudo aptitude install x11vnc

Als nächstes legt man eine Passwort-Datei an, in der das Passwort für den Fernzugriff gespeichert wird:

mkdir ~/.vnc
x11vnc -storepasswd ~/.vnc/passwd
#(fragt nach einem neuen Passowrt)
chmod 0600 ~/.vnc/passwd

Da die Firewall den benutzen Port 5900 blockieren sollte, wird das Passwort nur gebraucht, da sich nicht jeder Benutzer des Server-Computers in den Desktop einklinken können soll. Nun könnte auf dem Server schon der VNC-Server gestartet werden, doch das mache ich dann vom Client:

Client

Zunächst stellen wir sicher, dass es ein VNC-Client installiert ist:

sudo zypper install tightvnc
#oder Debian:
sudo aptitude install xtightvncviewer

Da die Verbindung sicher sein soll und Firewalls umgehen soll, wird das ganze über SSH getunnelt (Mehr zum SSH-Tunnel am Beispiel MySQL), und der Server gleich mit gestartet, durch dieses kleine Script: (Es setzt eine konfigurierte OpenSSH Public Key Authentication voraus)

#!/bin/bash
SSHLOGIN=user@vncserver
ssh -L 5900:localhost:5900 $SSHLOGIN "x11vnc -localhost -display :0 -rfbauth ~/.vnc/passwd" &
sleep 3
vncviewer localhost

Optional kann man auch die SSH-Option -C angeben, die bei Netzwerkverbindungen mit geringer Bandbreite (Internet) die Daten komprimiert und somit alles schneller läuft. Theoretisch.

Arbeitet man auf verschiedenen remote Desktops kann man $SSHLOGIN durch $1 ersetzen und dann das Script mit der passenden User/Server-Kombination für SSH starten.

Das Script verlangt die Eingabe des des oben gesetzten VNC-Passworts, dann müsste der Remote Desktop zu sehen sein.

Kommentare: 5 Einträge

Italienreisen 2 (3D)

28.09.2009, 14:22

In den 4 Wochen, die ich während meiner (voraussichtlich letzten) Schulferien in Italien war, konnte ich selbstverständlich einiges an Inspiration sammeln. Darum hier einige weitere „italienische Produkte“:

Aus dem Knoten von Ravello ist diese noch kleine Architekturstudie entstanden:

Und auch dieses abstrakte Gebilde:

So sieht der Knoten dreidimensional aus: (Allerdings stimmen die Überschneidungen nicht überein, da sonst die Gefälle zu groß werden. )

Und dieses Objekt ist auch ein Derivat des Knotens:


Ravello Knot 3D Glass

Edit 2009-10-02

Ein anderes Mosaik hatte eine eher sechseckige Form. Nach eingehender Meditation habe ich zunächst dieses Objekt mit dem orthographischen Modus des blender-Renderes erstellt:

Und noch etwas 2x6-eckiges:

Und noch ein bisschen 6-eckiges:

Kommentare: keine

Twitter - What am I doing?

27.09.2009, 16:13

Everyone is writing about twitter now. Everyone is thinking he's missing things going on at twitter. Newspapers report about eyewitnesses tweeting things. Twitters user count and press representation is was rapidly growing. So what's it all about? Essentially, it's about a microblogging service that started in 2006 as a small project of Biz Stone and Evan Williams, who wanted their colleagues to answer the simple question "What are you doing?".

I have been a member of Twitter since March 17, 2007 and have tweeted 439 times since then until now (actually not too many updates). Anyway, I noticed a change in how people use twitter. This usage history resulted in a rich variety of uses of twitter. Here are some behaviours I collected over the years:

The What-are-you-doing-guys

There are some users that nearly only answer THE question when it comes to twitter. You are likely to find mostly tweets like "@having breakfast" or "preparing lunch" in their profiles.

It's really funny to follow one of those What-Are-You-Doing-Guys and then meet them. You won't have anything to say, because you do already know (nearly) everything about your fellow tweople.

Also you do really have a log about all the small things you did in life. This might be very interesting some years later.

The Chatroommates

These tweople that only use twitter like a chat are a bit incompatible to the others. They have evolved in the SMS times, when twitter was THE way to text your friends. You might find many senseless tweets like "ok pals I'm off" or "@yomama sure".

The 140-Excited

Some people seem to not want to tell everyone what they are doing and don't have too many friends on twitter, so they don't really have to use twitter. But everyone does, so do they. This is why they seem to focus on (bad?) jokes, proverbs and short quotes.

The Newsfeedorz

When you have found a stream with only headlines and links or 6 of 7 tweets starting like "new blog post:" you know you have found a Newsfeedor. They use twitter only for posting "news". There are famous ones like CNN and rather not too famous ones. And of course many advertisers have found a new channel at twitter. The very bad thing about them: It's usually not original content and it's most of the times better available through RSS.

The Readers

This group is a bit underrepresented. Some of them don't even have a twitter account. They are reading through someones profile (subscribing their stream as RSS) or using one of the services that aggregates twitter messages, like delicious.com. Or they use twitter as a real-time opinion-of-the-tweeting-world search engine. I think the twitter makers had a good reason to change their homepage to a mere search page.

The Retweeters and Answerers

A phenomenon at twitter is retweeting. If you want to pull the attention of your readers to a statement of someone else you retweet that (you just tweet it again putting RT @name in front of it). Or you tell everyone your opinion about it (like: opinion (via @name)) or as direct answer (@name blaaa). Now some tweople only do this. If you look through their stream you will find dozens of answers and you don't get what it's all about. This is a true Retweeter/Answerer.

The Trendy

This is by definition a very popular behaviour: Commenting on the trending topics on twitter. Some "answers" are really funny - and of course it's a cool way to share personal experiences. It's a kind of very fast global FB. Just don't overdo it. (And don't just write "#iamsinglebecause it's trendy". )

So what's correct?

As always - nothing. So what do I do? Simple: Mix. I retweet what I like or want others to know, I answer questions, I keep a log of some things I did, I stay informed about my friends, and I post stuff I put into the cloud.

You can always find new scenarios where you can use a 140-char-messages-posting-page. For example I have started to collect new/strange/biased/funny (German) words. And sometimes I post cryptic messages. For example this one related to the sense of life, a movie, Alice in Wonderland and the time I arrived at school that day.

And because it's always 140-character limited you can display your twitter status e.g. on your website. I do that through my lifestream. My homeserver that serves as a very neat clock too also shows my twitter status to my family.

Kommentare: keine

Italienreisen

19.09.2009, 16:16

In den 4 Wochen, die ich während meiner (voraussichtlich letzten) Schulferien in Italien war, konnte ich selbstverständlich einiges an Inspiration sammeln. Darum hier einige „italienische Produkte“:

Drei Bilder, nach einem in den Straßen Pompeis entdeckten Wandmosaik erdacht:

Das Konzept dieser Figur ist recht interessant, da alle Strecken gleich lang, alle Winkel ganzzahlige vielfache von 30°, und alle Eckpunkte auf 3 konzentrischen Kreisen sind. Zudem findet man einige regelmäßige Vielecke. Mit geometrischem Wissen kann man hier die Entfernungen zweier beliebiger Punkte oft im Kopf ausrechnen bzw. wissen.

Dieser Knoten stammt aus der Kanzel im Dom von Ravello, wo er als Mosaikornament zu sehen ist:

Tags:
Kommentare: keine
 
Χρόνογραφ
© 2008-2018 by Bernhard Häussner - Impressum - Login
Kurz-Link zu dieser Seite: http://1-co.de/bj