Upgrade Prosody from version 0.8.x to version 0.9.x

When I tried to upgrade Prosody on my Debian server, I had errors, that one would not necessarily expect from just reading the release notes. Thankfully, the problem was easily solved.

Cet article est aussi disponible en français.

Let me first explain my situation: my server is built on an ARM architecture (armel); thus, I cannot use Debian packages: the deb configuration instruction is available (though not for my architecture), but deb-src is not… I first met this difficulty while installing Prosody 0.8.2 on Debian Lenny, and nothing has changed since then; the only solution was, and still is, to install Prosody from the source code: simple and quickly done :-) Good.

When I tried the migration to version 0.9.2, I checked all prerequisites: they have not changed. As a consequence, I only had to compile Prosody’s source code. I always run the final installation step through the checkinstall tool; this generates a look-alike Debian package, which integrates much better in the system, and secures upgrades. Of course, I also made sure to adapt my configuration file, to take recent changes into account.

And yet, it did not work: Service was unavailable in Jappix, and I saw many occurrences of the following error message:

WARNING:  there is already a transaction in progress

Apart from that, the upgrade seemed to have gone well. The above message led me naturally to a known issue with Prosody.

With the help of Zash on Jabber (prosody@conference.prosody.im), we eliminated by logic a number of possible causes for the error, and we came to the conclusion that the issue was probably with the component that Prosody is using to access the database (PostgreSQL in my case): LuaDBI. This component was not available in Debian when I first installed Prosody; now it is. So I replaced the version I had installed from source code a couple of years ago, with the version from latest stable Debian: lua-dbi-postgresql for armel, version 0.5+svn78-4.

The error message is gone :-)

But the service was still unavailable! The message, a warning actually, was not related to my issue, after all… While reading again the documentation for configuring Prosody, I realized that the problem was with the configuration of Nginx; it evolved.

With version 0.8.x of Prosody, the following configuration of Nginx was suitable:

location /http-bind/ {
proxy_pass http://localhost:5280/http-bind/;
proxy_set_header Access-Control-Allow-Origin "*";

With version 0.9.x of Prosody, the configuration of Nginx must be replaced with one like this:

location /http-bind {
        proxy_pass http://localhost:5280/http-bind;
        proxy_set_header Host $host;
        proxy_buffering off;
        tcp_nodelay on;

Problem solved.

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

La discussion continue ailleurs

URL de rétrolien : http://yalis.fr/cms/index.php/trackback/42

Fil des commentaires de ce billet