Joomla och tredjepartskomponenter i en virtuell Apachevärd

Posted on 1 april, 2009 in Datorer, Palm, Windows, Linux, Övrigt

Om du ska sätta upp en webbplats på en apacheserver som hanterar flera virtuella värdar (eng. virtual hosts) så är risken stor att Joomla är lite för smart för din webbplats bästa.

Tredjepartskomponenter som t.ex. docman och fireboard kommer inte att att använda korrekt bas-url (definierad i din configuration.php som live_site) för att anropa sina tjänster, utan istället en ip-adress av formen 127.0.0.1 (loopback) och ett portnummer där den virtuella värden huserar. Du får, kort sagt, ett felmeddelande att sidan inte finns när Joomla försöker gissa rätt adress.

Lösningen på detta är ett fulhack i följande fil: libraries/joomla/environment/uri.php och alldeles i början av funktionen getInstance enligt nedan:

function &getInstance($uri = 'SERVER')
{   $config =& JFactory::getConfig();
$live_site = $config->getValue('config.live_site');
if($uri == 'SERVER') {
if(trim($live_site) != '') {
$uri = $live_site;
// If the query string exists append it to the URI string
if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
$uri .= '?' . $_SERVER['QUERY_STRING'];
}
}
}

Vad hacket gör är att det kontrollerar om $uri är en referens till servern, d.v.s. är en 127.0.0.1-adress, och i så fall använder det istället variabeln live_site från filen configuration.php för att skapa url:en samt lägger till eventuella parametrar som skickades med i slutet på den.

Var uppe till sent igår och gladdes med en nattradiopratare som hade vunnit sexsiffrigt på en skraplott. Jag lyssnade andäktigt när han beskrev känslan som han fick när han insåg faktum att han nu var rik. I nästa andetag erkände han att det bara var ett första aprilskämt, haha Har du råkat ut för något aprilskämt idag?

Mumsar på ekologiska cashewnötter och de smakar ypperligt gott som förrätt, medan citronfisken gör sig klar i ugnen. Inga glasbitar i den, hoppas jag, till skillnad mot Kronfågelns kyckling? Det är lillelördag och småpyssel hemma — och så ska jag se det senaste avsnittet av So you think you can dance Australia (bara åtta dansare kvar nu).

comments: Closed