Synology und Mac OS X Server Open-Directory (LDAP)

Im aktuellen DSM von Synology (DSM 3.2 Beta) kann man auch LDAP-Nutzer und Gruppen einbinden. Die Konfiguration ist dabei recht einfach: In der Systemsteuerung den Eintrag »LDAP« auswählen und den Server-Namen eintragen (beim ersten Test am besten keine Verschlüsselung wählen). Der Basis-DN entspricht dem im Server-Admin eingetragenen LDAP-Suchbeginn und anmelden kann man sich z.B. mit einem eigenen Nutzer (diradmin o.ä.). Der Bind erfolgt mit vollständigem DN, also der Kombination aus Basis-DN und Nutzer (die in cn=users liegen). Wenn also der Basis-DN dc=ldap,dc=domain,dc=tld lautet, so erfolgt der Bind via User diradmin z.B. mit uid=diradmin,cn=users,dc=ldap,dc=domain,dc=tld

Eine Besonderheit fällt auf: Wenn für den Nutzer im Open-Directory über den Arbeitsgruppenmanager verschiedene Kurznamen (Reiter »Allgemein«) für einen Nutzer vergeben wurden, werden diese im Attribut uid gespeichert. Dies führt dazu, dass der LDAP-Nutzer auf der Synology unter dem letzten Kurznamen in der Liste auftaucht. Ist der normale Nutzer-Account z.B. user1 und dessen letzte Kurzname Vorname.Nachname so taucht dieser User als Vorname.Nachname@ldap.domain.tld auf.

HipHop für PHP

Der Schleier wurde gelüftet: Facebook hat mit »HipHop« einen Source Code Umwandler veröffentlicht, der PHP-Code in höchst-optimierten C++ Code konvertiert. Dieser wiederum wird dann mit g++ kompiliert um maximale Performance zu erreichen.

Bei Facebook brachte der Einsatz von HipHop eine durchschnittliche Reduzierung der CPU-Auslastung um 50% – natürlich abhängig von der jeweiligen Seite. Für Facebook bedeutet weniger CPU-Last weniger Server – und damit weniger Kosten. Aber natürlich bedeutet weniger Auslastung auch weniger Energieverbrauch.

In seinem Blog-Beitrag schreibt Haiping Zhao »We are proud to say that at this point, we are serving over 90% of our Web traffic using HipHop, all only six months after deployment.

How HipHop Works
The main challenge of the project was bridging the gap between PHP and C++. PHP is a scripting language with dynamic, weak typing. C++ is a compiled language with static typing. While PHP allows you to write magical dynamic features, most PHP is relatively straightforward. It’s more likely that you see if (…) {…} else {..} than it is to see function foo($x) { include $x; }. This is where we gain in performance. Whenever possible our generated code uses static binding for functions and variables. We also use type inference to pick the most specific type possible for our variables and thus save memory.

[…]

Overall HipHop allows us to keep the best aspects of PHP while taking advantage of the performance benefits of C++. In total, we have written over 300,000 lines of code and more than 5,000 unit tests. All of this will be released this evening on GitHub under the open source PHP license.

Der ganze Artikel (englisch) im Facebook Blog: http://developers.facebook.com/news.php?blog=1&story=358

Using mod_security 2.5 and Apache 2 on Mac OS X

Unfortunately recent MacPorts comes with mod_security 1.8.6 and the maintainer is not actively supporting updates (for details see this ticket). Since I wanted to test some settings on a local Apache installation on my Mac with the latest release (2.5.11) I used the information given in the ticket to patch and update my mod_security port.

This guide is straight forward and shows just the required changes, a working MacPorts installation with Apache 2 is mandatory. You simply have to edit the Portfile that contains the details for mod_security.

Step-by-step explanation

  1. Update your MacPorts installation by sudo port selfupdate and sudo port upgrade outdated (read this guide for more details on MacPorts selfupdate)
  2. Open the portfile for mod_security and replace the content of the file with the provided code. The portfile in my installation resides in/opt/local/var/macports/sources/rsync.macports.org/ release/ports/www/mod_security/Portfile


    Download the Portfile as text file

  3. Now you may install mod_security via MacPorts using this terminal command:sudo port install mod_security
  4. Open the Apache configuration file (/opt/local/apache2/conf/httpd.conf) in a text editor and add mod_security to the list.Open a new Terminal (the Termin.app resides in /Applications/Utilities on your harddrive) window and then type the following command to open and edit the file (the sudo command is required to get write-access to this file since it is normally not writable for you user account).sudo nano /opt/local/apache2/conf/httpd.confNow enter your password (the same you use to log in to your Mac). Use the cursor keys to scroll down to the section for the Dynamic Shared Object (DSO) Support and copy the following line below the last LoadModule… statement (see screenshot).LoadModule security2_module modules/mod_security2.so

    To save and leave the Nano editor press CTRL+X and confirm with Y (for Yes) to save.

  5. Reload the Apache server. The security module should now be loaded by Apache (start or restart Apache to commit changes).sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper restart

Websites in verschiedenen IE-Versionen überprüfen

Mit dem »Microsoft Expression Web SuperPreview für Windows Internet Explorer« soll man die so genannte »cross-browser compatibility« – also die Darstellung einer Site in verschiedenen Browsern (oder verschiedenen Versionen eines Browsers) – testen können. Microsoft stellt für den Internet Explorer ein solches Tool kostenlos zum Download bereit. Erfordert aber das .NET Framework (Version 3.5).

Die Installation ist etwas langsam und das Tool an sich auch. Größere Sites kann es nicht korrekt darstellen. Faiz: Nicht wirklich hilfreich.

Microsoft-Expression-Web-SuperPreview-EINSTIEG-450.png

Microsoft-Expression-Web-SuperPreview-DVGW-450.png

Using GnuPG with PHP

Using GnuPG with PHP: „

GnuPG is open-source software that makes it possible to encrypt your email and other messages so that they can only be read by the intended recipient (not unlike Jim Phelps and his briefing book). Unlike cleartext messages, which are unprotected and can be read by anyone who intercepts them, GnuPG-encrypted messages are ‘locked’ through cryptographic techniques and may be viewed only by a person with the correct ‘key’; everyone else will merely see gibberish. In today’s day and age, when hacking and phishing is common, such encryption plays an important role in protecting sensitive data like user names, passwords or credit-card information.

(Via Zend Developer Zone.)

»Drizzle« – Abspaltung von MySQL für Webanwendungen

Unter dem Namen „Drizzle“ haben MySQL-Entwickler eine neue Version der freien Datenbank angekündig, die sich auf die aus ihrer Sicht wesentlichen Aspekte konzentriert. Brian Aker nennt in seinem Blog als Einsatzmöglichkeiten dieses abgespeckten MySQL-Servers Webanwendungen, Datenbanken ohne eingebaute Geschäftsprozesse, Cloud-Umgebungen und Multi-Core-Architekturen.
Anzeige

Viele Features, die in den letzten Jahren auf Druck von MySQL-Nutzern aus Unternehmen hinzukamen, fehlen in Drizzle: Stored Procedures, Trigger, Prepared Statements und Views. Auch der Query Cache fällt weg; er beschleunigt das wiederholte Ausführen derselben SQL-Befehle. Möglicherweise würden in Zukunft einige dieser Funktionen wieder eingeführt, es sei jedoch keine vollständige Kompatibilität mit MySQL geplant. Wichtiger sei es, Drizzle als echtes Open-Source-Projekt zu betreiben. Die Entwickler wollen wann immer möglich freie Bibliotheken benutzen; als Datenbank-Engine soll das transaktionsfähige InnoDB zum Einsatz kommen.

MySQL verharrt seit Längerem bei der Versionsnummer 5.0, die 2005 als Produktionsversion erschien. Seit zweieinhalb Jahren arbeiten die Entwickler an dem Nachfolger 5.1, der bislang wegen zahlreicher Fehler nicht zum Produktionseinsatz freigegeben ist. Vor Kurzem rief der Chef-Entwickler Monty Widenius MySQL-Anwender zur Hilfe bei der Fehlersuche auf. Parallel zur Arbeit an 5.1 verläuft seit Mitte letzten Jahres die an Version 6, die die selbstentwickelte transaktionsfähige Storage-Engine Falcon enthält. Deren Chef-Architekt Jim Starkey hat das Projekt jedoch vor Kurzem verlassen.

Bislang gibt es keine produktionsreife Version von Drizzle. Interessenten können sich den Code von Launchpad herunterladen. Zu den Entwicklern gehören neben Brian Aker Zak Greant, Monty Taylor und Jay Pipes. „Drizzle“ ist das englische Wort für Nieselregen, der besonders häufig in Akers Heimatstadt Seattle auftreten soll.

Via heise online

Introducing xdebug

Introducing xdebug: „This article is the first installment of a five-part series of articles covering xdebug, a free and open source swiss army knife tool for PHP developers. xdebug is a PHP extension created by Derick Rethans, one of the PHP core developers. This week, we will show you how to install xdebug and introduce you to some of the basic features. In the subsequent parts of this article series, we will have a closer look at one of xdebug’s main features, namely tracing, profiling, debugging, and code coverage.

(Via Zend Developer Zone.)

Geschwindigkeitstest: Safari gegen Firefox und Internet Explorer

Geschwindigkeitstest: Safari gegen Firefox und Internet Explorer:

Ladezeiten Browser
„Eine Firma, die Geschwindigkeitsoptimierungen für Webseiten anbietet, schnappte sich die Windows-Beta von Safari 3 (3.0.3) und ließ diese gegen Firefox 2.0.0.6 und Internet Explorer 7.0.5730 antreten. Der Fokus lag dabei auf ‚Alltagsladezeiten‘, die beim Aufruf einiger vielbesuchten Webseiten wie Facebook, Google, YouTube, etc. gemessen wurden. Ergebnis: Safari 3 war am schnellsten – die Wartezeit für eine erstmals aufgerufene Seite war mit Apples Browser 1,4 Sekunden geringer als mit Firefox 2 und 1,1 Sekunden geringer als mit IE 7. Seiten die sich bereits im Cache tummelten, wurden von allen Browsern nahezu gleichschnell dargestellt. Der Versuchsaufbau und detaillierte Ergebnisse können bei Web Performance Inc. nachgelesen werden.“

(Via fscklog.)