Solr Multicore: Installation, Configuration

If you start Solr with the default configuration, there will be only one instance running. That’s enough if you have only one website which you want to index but if you have several websites, you probably don’t want them to share an index as you then would get search results from both websites.
Luckily Solr already brings the so called multicore feature with it. It allows you to run multiple instances that use different configuration sets and indexes.

This little howto will show you how to install / configure Solr to make use of the multicore feature.
Weiterlesen

Redmine, Apache, Subversion: Could not read status line

If you use a combination of Redmine.pm, Apache and SVN and are wondering about error messages telling you "COPY of ‘foobar’ : Could not read status line: connection was closed by server" or "COPY of ‘foobar’ : Could not read status line: secure connection truncated" you probably will want to switch to apache2-mpm-prefork to get rid of them.

A combination of Redmine.pm, apache2-mpm-worker and Redmine.pm doesn’t seem to be stable at all.

How-to: Debian: Automatically mounted loopback images with dm-crypt, LUKS, pam_mount

How to create encrypted loopback images with dm-crypt and LUKS + automatically mounting them after login with pam_mount

I recommend using debian squeeze for this scenario as lenny includes a very old version of libpam-mount and I had lots of problems when I tried using it.
Using only the libpam-mount package and its dependencies from squeeze maybe (I didn’t try it and I wouldn’t recommend it either) does the job too, but at least has a very bitter after taste if you take a closer look at the dependencies.
Weiterlesen

Debian Lenny: pam_mount, files and loop devices

When I was trying to automatically mount an encrypted image at login using pam_mount, I encountered a strange problem:
I wasn’t able to find any errors in my configuration (at least none connected to this behaviour), but mount.crypt was unable to mount the image.
Weiterlesen

TYPO3 HTML save cropping

Meistens reicht die Methode tslib_cObj::crop vollkommen aus, um Texte – etwa für eine Listenansicht – zu kürzen. Wenn jedoch RTE formatierte Texte im Spiel sind und die Formatierung in der gekürzten Version beibehalten werden soll, ist es reine Glückssache, kein invalides (X)HTML durch nicht geschlossene bzw. “verkrüppelte” Tags zu generieren. Abhilfe schafft die folgende crop-Methode, die eine Portierung der Javascript-Version von Steven Levithan darstellt.
Weiterlesen

suPHP und PHP Opcode Caches

Eigentlich ist suPHP eine nette Sache. Das Apache Modul mod_suphp sorgt in Kombination mit einem SetUID Binary dafür, dass PHP-Skripte mit den Berechtigungen des Benutzers, dem sie gehören, ausgeführt werden. Damit das funktioniert muss man in Binär-Distributionen wie etwa Debian Linux nicht mehr tun, als dass Modul zu installieren, einen Blick auf dessen Konfiguration zu werfen und es anschließend zu aktivieren. Vielleicht ist es gerade diese Einfachheit (deren Preis die Starrheit ist), die es so beliebt macht.

Ein großes Problem tut sich aber dann auf, wenn man PHP-Caches wie APC, TurckMM oder eAccelerator verwenden möchte. Denn all diese Caches funktionieren nicht im Zusammenspiel mit suPHP. Zwar lässt sich eine solche Kombination verwenden, doch ist sie leider nutzlos, da nichts gecached wird.
Weiterlesen

XEN Loop Disk Image vergrößern

Das Loop Disk Image einer XEN DomU ist zu klein geworden? Solang die Festplatte des Hypervisors noch genügend Platzreserven hat, ist das glücklicherweise kein unlösbares Problem. Loop Disk Images können mit Bordmitteln vergrößert werden. Zwei kleine Beispiele für die Vorgehensweise bei EXT2, EXT3 und XFS Dateisystem.
Weiterlesen