Terug naar hoofdinhoud
Installer in Joomla
Op deze pagina
# Topics

Installer in Joomla

18 juni 2026

Elke Joomla-site groeit door er dingen aan toe te voegen: een back-uptool, een formulierbouwer, een nieuwe template, een taalpakket. Een enkel core-component regelt dit allemaal. Het installeert het bestand, houdt het up-to-date en verwijdert het weer wanneer je klaar bent. Dat component is com_installer, en je komt het tegen elke keer dat je het menu Systeem opent.

Dit artikel legt uit hoe de Joomla Installer-component echt werkt. Het behandelt de basis voor website-eigenaren en redacteuren, de dagelijkse schermen voor beheerders en de technische details voor ontwikkelaars: de weergaven, de installatiepijplijn, het updatesysteem, de databasetabellen, de Opties en de REST API.

Een component, zes schermen en die ene pijplijn die alles wat je aan Joomla toevoegt installeert, bijwerkt en verwijdert.

Het doel is simpel: je com_installer goed genoeg leren begrijpen zodat je met vertrouwen extensies kunt installeren, bijwerken en problemen kunt oplossen.

1. De basis

1.1 Wat com_installer is

com_installer is het core Joomla-component dat de hele levensloop van een extensie beheert: installeren, inschakelen, uitschakelen, bijwerken en verwijderen. Het heeft geen eigen menu op het hoogste niveau. In plaats daarvan verschijnt het als een groep schermen onder Systeem in de beheeromgeving.

Het is zelf een extensie (een component met de naam com_installer) en het is gemarkeerd als beschermd, zodat je het niet per ongeluk kunt verwijderen. Zonder dit component zou je niets anders kunnen toevoegen of bijwerken.

Als een scherm je een extensie laat toevoegen, bijwerken of verwijderen, dan kijk je naar com_installer.

1.2 Waar je het vindt

Alle installerschermen staan onder het menu Systeem, verdeeld over drie groepen:

Systeem
 ├─ Installeren
 │   └─ Extensies         (nieuwe toevoegen)
 ├─ Bijwerken
 │   └─ Extensies         (openstaande extensie-updates)
 └─ Beheren
     ├─ Extensies         (in-/uitschakelen / verwijderen, alle records zien)
     ├─ Updatesites       (waar updates vandaan komen)
     ├─ Detecteren        (bestanden registreren die al op de schijf staan)
     ├─ Database          (het schema controleren en herstellen)
     └─ Waarschuwingen    (problemen met de omgeving)

Elke regel is een andere weergave van hetzelfde component. De URL verraadt het: elk van deze schermen is index.php?option=com_installer&view=... in de beheeromgeving.

1.3 Wat het niet is

com_installer beheert extensies: de uitbreidingen die je aan Joomla vastmaakt. Het werkt de Joomla-core zelf niet bij. Dat is een apart component, com_joomlaupdate, te bereiken via Systeem → Bijwerken → Joomla. Mensen verwarren de twee vaak, dus houd het onderscheid in gedachten: com_installer voor je uitbreidingen, com_joomlaupdate voor het CMS.

Naar boven

2. De anatomie van het component

2.1 Een component, veel weergaven

com_installer volgt de standaard Model-View-Controller (MVC) structuur van Joomla. Elk scherm dat je onder Systeem zag, is een weergave met een eigen model en template. De namen van de weergaven kennen helpt wanneer je een URL of een bugmelding leest.

WeergaveSchermTaak
install Installeren → Extensies Een pakket uploaden, ophalen of aanwijzen en installeren
manage Beheren → Extensies Alle geinstalleerde extensies tonen; in-/uitschakelen, verwijderen
update Bijwerken → Extensies Openstaande extensie-updates tonen en toepassen
updatesites Beheren → Updatesites De update-URL's die Joomla raadpleegt tonen en opnieuw opbouwen
discover Beheren → Detecteren Manifesten op de schijf vinden die geen databaserecord hebben
database Beheren → Database Het databaseschema vergelijken en herstellen
warnings Beheren → Waarschuwingen Omgevingsproblemen tonen die de installer heeft gevonden
languages Talen installeren Taalpakketten installeren vanuit de officiele lijst

2.2 Het gedeelde basismodel

De lijstweergaven (manage, update, discover, updatesites, languages) breiden allemaal een gedeeld model uit, InstallerModel. Daarom zien ze er hetzelfde uit en gedragen ze zich hetzelfde: hetzelfde zoekvak, dezelfde filters, dezelfde paginering. Elke weergave voegt alleen toe wat voor haar speciaal is.

2.3 De controllers

Elke actie die je aanklikt verwijst naar een controller. De namen lezen als de knoppen:

  • InstallController verzorgt de eigenlijke installatie vanaf upload, map of URL.
  • ManageController verzorgt inschakelen, uitschakelen en verwijderen (intern "remove").
  • UpdateController downloadt en past openstaande updates toe.
  • DiscoverController voert de schijfscan uit en registreert gevonden extensies.
  • DatabaseController voert het schemaherstel ("Fix") uit.
  • UpdatesiteController en UpdatesitesController bewerken en herbouwen updatesites.

Je raakt deze namen zelden direct aan, maar ze verschijnen in het task-deel van een URL, bijvoorbeeld task=update.update, en in de toegangscontroles die later worden beschreven.

Naar boven

3. Extensies installeren

3.1 De vier manieren om te installeren

De weergave install biedt vier tabbladen. Ze eindigen allemaal in dezelfde pijplijn; ze verschillen alleen in hoe het pakket de server bereikt.

MethodeHoeWanneer te gebruiken
Pakketbestand uploaden Sleep een .zip of kies er een van je computer De normale manier - je hebt het bestand
Installeren vanuit map Geef een serverpad naar een al uitgepakte map Grote pakketten, of bestanden geupload via FTP
Installeren vanaf URL Plak een directe link naar een .zip De leverancier geeft je een downloadlink
Installeren vanaf het web Blader door de Joomla Extensions Directory binnen Joomla Ontdekken en installeren op een plek

"Installeren vanaf het web" is een app-store-ervaring die in de backend is ingebouwd. Het communiceert met de Joomla Extensions Directory (JED) via een aparte plugin, en je moet eenmalig de voorwaarden accepteren voordat het verschijnt.

3.2 Wat "installeren" eigenlijk doet

Welke methode je ook kiest, com_installer een pakket aanreiken start dezelfde vaste volgorde:

 1. Pak het pakket uit in een tijdelijke map
 2. Vind en verwerk het manifest    → lees type, files, sql, scriptfile
 3. Voer het script preflight() uit → kan de installatie afbreken
 4. Kopieer bestanden naar hun plek  → components/, modules/, plugins/, media/
 5. Voer de install-SQL uit          → CREATE TABLE #__example...
 6. Registreer de PSR-4-namespace
 7. Schrijf het #__extensions-record + manifest_cache
 8. Registreer eventuele updatesites uit het manifest
 9. Voer het script postflight() uit → basisdata, toon een bericht
10. Verwijder de tijdelijke map

Als een stap mislukt, draait com_installer het geheel terug. Je houdt nooit een half geinstalleerde extensie over die wel op de schijf staat maar in de database ontbreekt.

3.3 De maximale uploadgrootte

De meest voorkomende installatiefout heeft niets met Joomla te maken. Een grote .zip kan de PHP-instellingen upload_max_filesize of post_max_size overschrijden, en dan stopt de upload gewoon. Wanneer een groot pakket niet wil uploaden, gebruik dan Installeren vanuit map (upload de uitgepakte bestanden eerst via FTP) of Installeren vanaf URL. Het scherm Waarschuwingen, dat later aan bod komt, toont deze PHP-limieten zodat je ze in een oogopslag ziet.

Naar boven

4. Detecteren: bestanden installeren die al op de schijf staan

4.1 Waarom Detecteren bestaat

Soms komen extensiebestanden binnen zonder via de installer te gaan: een FTP-upload, een Git-checkout of een map die van een andere site is gekopieerd. De bestanden staan op de schijf, maar er is geen record in de tabel #__extensions, dus Joomla doet alsof de extensie er niet is.

4.2 Hoe het werkt

Beheren → Detecteren
   → scant de standaardmappen op niet-geregistreerde manifesten
   → toont wat het vindt
   → je selecteert ze en klikt op Installeren
   → de ontbrekende #__extensions-records worden aangemaakt

Detecteren kopieert geen bestanden. De bestanden staan al waar ze horen. Het maakt alleen de databaserecords aan die Joomla bewust maken van hun bestaan. Het is de brug tussen "bestanden op de schijf" en "een extensie die Joomla echt beheert".

Als een Detecteren-scan niets vindt nadat je bestanden hebt gekopieerd, controleer dan of het manifest-XML in de map staat die Joomla voor dat type verwacht, en of de mapnaam overeenkomt met de elementnaam.

Naar boven

5. Het scherm Beheren

5.1 Je bedieningspaneel

Systeem → Beheren → Extensies is de hoofdweergave van com_installer. Het toont elk record in de tabel #__extensions: core en van derden, in- en uitgeschakeld, elk type.

ActieEffect
Inschakelen / Uitschakelen Wisselt de kolom enabled - een uitgeschakelde extensie draait niet
Verwijderen Verwijdert de bestanden, voert de uninstall-SQL uit, wist het record
Filteren Op type, op locatie (site of beheer), op status, op map
Zoeken Op naam; sorteren op naam, type, versie, datum of auteur

5.2 Beschermd en vergrendeld

Twee markeringen voorkomen dat je de site per ongeluk kapotmaakt:

  • Beschermd (protected = 1) betekent dat de extensie niet kan worden verwijderd. Core-extensies zoals com_content dragen deze markering.
  • Vergrendeld (locked = 1) betekent dat de extensie niet kan worden uitgeschakeld of bewerkt.

Daarom weigert het scherm Beheren je com_installer zelf te laten verwijderen of de standaardtaal uit te schakelen. De knoppen worden voor die records simpelweg niet aangeboden.

5.3 Filteren op core versus niet-core

Een verse Joomla 6-installatie wordt geleverd met ongeveer 150 extensies. Om je eigen uitbreidingen daartussen te vinden, stel je de locatie- en statusfilters in, of gebruik je het "core"-filter dat de API beschikbaar maakt (later beschreven). Het meeste dagelijkse werk gaat over de kleine set extensies die je zelf hebt toegevoegd.

Naar boven

6. Het updatesysteem

6.1 Updatesites: hoe Joomla weet dat er een update is

com_installer gokt nooit. Elke extensie kan een of meer updatesites registreren: URL's die Joomla raadpleegt om te vragen "is er een nieuwere versie?". Ze staan in #__update_sites, gekoppeld aan extensies via #__update_sites_extensions.

#__extensions --< #__update_sites_extensions >-- #__update_sites
   (com_example)                                  (https://.../update.xml)

Geen updatesite betekent dat com_installer nooit een update voor die extensie kan aanbieden. Dit is de meest voorkomende reden dat een handmatig geinstalleerde extensie nooit een updatemelding toont.

6.2 Het scherm Updatesites

Beheren → Updatesites toont elke geregistreerde update-URL en laat je deze inschakelen, uitschakelen of verwijderen. Er is ook een knop Opnieuw opbouwen. Opnieuw opbouwen leest elk geinstalleerd manifest opnieuw en maakt de updatesite-records helemaal opnieuw aan. Gebruik het wanneer updates niet meer verschijnen en je vermoedt dat de lijst met updatesites uit de pas is geraakt.

6.3 De updatestroom

Geplande controle / paginalading / "Zoek updates"
   ↓
Joomla haalt de XML van elke updatesite op
   ↓
Vergelijkt de geadverteerde versie met de geinstalleerde versie
   ↓
Nieuwer? → een record in #__updates → getoond onder Bijwerken → Extensies
   ↓
Je klikt op Bijwerken → Joomla downloadt het pakket
   ↓
...en voert exact dezelfde installatiepijplijn uit (method="upgrade")

Een update is gewoon een installatie van een nieuwer pakket bovenop het oude. Hetzelfde manifest, dezelfde SQL-stap, dezelfde veilige terugdraaibaarheid. Er is niets bijzonders aan "bijwerken" behalve dat de extensie al bestaat.

6.4 De updatecontrole cachen

Elke updatesite bij elke paginalading raadplegen zou traag zijn, dus com_installer cachet het resultaat. De optie Update-cachetijd (standaard 6 uur) bepaalt hoe lang Joomla de laatste controle vertrouwt voordat het opnieuw vraagt. Als je net een nieuwe versie hebt uitgebracht of geinstalleerd en de update verschijnt niet, gebruik dan de knop Zoek updates om een verse controle te forceren, of verlaag de cachetijd tijdelijk.

Naar boven

7. Het scherm Database

7.1 Het schema synchroon houden

Beheren → Database vergelijkt de SQL-updatebestanden die in elke extensie worden meegeleverd met wat er werkelijk in je database staat. Wanneer een update nieuwe bestanden heeft gekopieerd maar de bijbehorende SQL nooit is uitgevoerd, raken de tabellen achter. Dit scherm vindt dat gat.

  • Het toont elke extensie waarvan de databasestructuur verouderd is.
  • Een knop Herstellen speelt de ontbrekende schemawijzigingen opnieuw af.
  • Het is de oplossing voor de rode waarschuwing "Databaseschema is verouderd" op het dashboard.

7.2 Hoe het dit weet: #__schemas

De controle werkt via een kleine tabel, #__schemas, die de hoogste toegepaste schemaversie per extensie vastlegt.

#__schemas
 extension_id   | version_id
 27  (com_content)   | 6.0.0
 10000 (com_example) | 1.1.0

De updatemap van elke extensie bevat SQL-bestanden die naar versies zijn vernoemd, bijvoorbeeld sql/updates/mysql/1.1.0.sql. Na het uitvoeren ervan schrijft Joomla de hoogste toegepaste versie naar #__schemas. Dus #__extensions.manifest_cache bewaart de versie van het bestand, terwijl #__schemas de versie van de database bewaart. Wanneer de twee niet overeenkomen, is dat de waarschuwing, en Herstellen speelt de ontbrekende SQL opnieuw af om het gat te dichten.

Naar boven

8. Het scherm Waarschuwingen

8.1 Wat het meldt

Beheren → Waarschuwingen toont omgevingsproblemen waar de installer om geeft, voordat ze een mislukte installatie veroorzaken. Typische vermeldingen zijn:

  • PHP-instellingen die uploads beperken, zoals upload_max_filesize en post_max_size.
  • Ontbrekende PHP-extensies die een installatie nodig kan hebben, zoals zip.
  • Mappen die niet schrijfbaar zijn, zodat bestanden niet gekopieerd kunnen worden.
  • Achtergebleven bestanden van een eerder mislukte installatie.

8.2 Wanneer je hier moet kijken

Controleer dit scherm wanneer een installatie "slaagt" maar de extensie zich vreemd gedraagt, of wanneer een upload zonder duidelijke reden mislukt. De getallen die het toont voor PHP-uploadlimieten verklaren de meeste "mijn pakket wil niet uploaden"-problemen in enkele seconden.

Naar boven

9. Onder de motorkap (ontwikkelaarsblik)

9.1 De tabellen die com_installer raakt

TabelBevat
#__extensions Een record per geinstalleerde extensie - het register van de site
#__update_sites De update-URL's die Joomla raadpleegt
#__update_sites_extensions Koppelt updatesites aan de extensies die ze bedienen
#__updates Openstaande updates gevonden bij de laatste controle
#__schemas De toegepaste databaseschemaversie per extensie

9.2 De Installer-klasse en haar adapters

Geen van de schermen bevat de echte installatielogica. Ze roepen allemaal een framework-klasse aan, Joomla\CMS\Installer\Installer, die de hele volgorde regisseert: uitpakken, het manifest verwerken, bestanden kopieren, SQL uitvoeren, het record schrijven, events afvuren, opruimen.

Het slimme is dat Installer niet weet hoe een specifiek extensietype wordt geinstalleerd. Dat delegeert het aan een passende adapter. Elk extensietype heeft een eigen adapterklasse onder Joomla\CMS\Installer\Adapter:

AdapterInstalleert het type
ComponentAdapter component (com_)
ModuleAdapter module (mod_)
PluginAdapter plugin (plg_)
TemplateAdapter template (tpl_)
LanguageAdapter language (xx-XX)
LibraryAdapter library (lib_)
PackageAdapter package (pkg_)
FileAdapter file

Bij het installeren leest Installer het attribuut type uit het manifest, laadt de adapter met die naam en draagt het werk over. Daarom gaan een component, een plugin en een taalpakket allemaal door "de installer", maar belandt elk op een andere plek met andere databasewijzigingen. Ondersteuning voor een gloednieuw extensietype toevoegen zou betekenen dat je een nieuwe adapter schrijft, niet dat je Installer zelf wijzigt.

Nog twee klassen maken het plaatje compleet: InstallerAdapter is de gedeelde basis die elke adapter uitbreidt, en InstallerScript is de basis voor het eigen preflight/postflight-script van een extensie (behandeld in het extensies-artikel).

9.3 Installer-events: inhaken op installeren en bijwerken

com_installer vuurt events af rond elke installatie, update en verwijdering. Elke ingeschakelde plugin kan meeluisteren, waardoor deze kan reageren wanneer een andere extensie wordt geinstalleerd of bijgewerkt. Zo voegen commerciele leveranciers een downloadsleutel toe op het moment van bijwerken, zonder de core te wijzigen.

EventVuurt af
onInstallerBeforePackageDownload Vlak voordat een pakket wordt gedownload - voeg een sleutel toe, wijzig de URL
onExtensionBeforeInstall / onExtensionAfterInstall Rond het installeren van een extensie
onExtensionBeforeUpdate / onExtensionAfterUpdate Rond het bijwerken van een extensie
onExtensionBeforeUninstall / onExtensionAfterUninstall Rond het verwijderen van een extensie
// Een leveranciersplugin voegt zijn abonnementssleutel toe aan de download-URL:
public function onInstallerBeforePackageDownload(&$url, &$headers)
{
    if (str_contains($url, 'example.org')) {
        $url .= '&key=' . $this->params->get('download_key');
    }
}

9.4 Programmatisch installeren

Je kunt de installer vanuit je eigen code aansturen met diezelfde Installer-klasse. Dit is wat scripts, migraties en de CLI onder de motorkap gebruiken; het kiest op basis van het manifest de juiste adapter voor je.

use Joomla\CMS\Installer\Installer;

$installer = new Installer();

// Installeren vanuit een al uitgepakte map:
if ($installer->install('/path/to/unzipped/extension')) {
    // gelukt
}

9.5 De beveiligingsgrens

Een extensie installeren betekent code kopieren en uitvoeren op je server, dus com_installer is een echte beveiligingsgrens. Het controleert bij elke installatie verschillende dingen:

  • Toegangscontrole: het definieert eigen ACL-acties in access.xml, vooral core.manage (de schermen gebruiken) en core.admin (volledige controle). Beperk deze tot beheerders die je vertrouwt. Een gebruiker die extensies kan installeren, kan in feite elke code op je server uitvoeren.
  • CSRF-tokens: elke installatie-, update- en verwijderaanvraag draagt een eenmalig token mee, zodat een aanvaller een ingelogde beheerder niet via een vervalste link iets kan laten installeren.
  • Een schrijfbare tijdelijke map: pakketten worden uitgepakt in de tmp-map van Joomla voordat er iets wordt gekopieerd. Als die map ontbreekt of niet schrijfbaar is, mislukt de installatie vroegtijdig. Het scherm Waarschuwingen signaleert dit.
Naar boven

10. Opties en configuratie

10.1 Waar de opties staan

Klik op Opties op een willekeurig installerscherm, of open Systeem → Beheren → Extensies en gebruik de werkbalk, om bij de eigen instellingen van com_installer te komen. Ze worden als JSON opgeslagen in het #__extensions-record van het component, net als de Opties van elke andere extensie.

OptieStandaardWat het doet
Update-cachetijd (cachetimeout) 6 uur Hoe lang Joomla de laatste updatecontrole vertrouwt voordat het opnieuw raadpleegt
Minimale stabiliteit (minimum_stability) Stabiel De laagste releasestabiliteit die de updater zal aanbieden

10.2 Minimale stabiliteit

De optie Minimale stabiliteit bepaalt welke geadverteerde versies com_installer bereid is je te tonen. De niveaus, van soepelst tot strengst, zijn:

Development < Alpha < Beta < Release Candidate < Stabiel

Laat het op Stabiel staan voor productiesites, zodat je alleen afgeronde releases ziet. Verlaag het alleen op een testsite waar je bewust pre-releaseversies van een extensie wilt proberen. Een veelvoorkomende verrassing is een update die "niet verschijnt" omdat het een beta is terwijl de instelling op Stabiel staat: dan werkt de optie precies zoals bedoeld.

Naar boven

11. Web Services API

11.1 Extensies opvragen via REST

com_installer stelt zijn Beheren-lijst beschikbaar via de Joomla Web Services API. Met de API ingeschakeld en een token aangemaakt onder je gebruikersprofiel kun je de lijst met geinstalleerde extensies van buiten Joomla uitlezen. De route is:

GET /api/index.php/v1/extensions
curl -H "X-Joomla-Token: <token>" \
     "https://example.test/api/index.php/v1/extensions"

11.2 De lijst filteren

Het eindpunt accepteert queryparameters die overeenkomen met de schermfilters, zodat je het resultaat kunt beperken tot wat je nodig hebt:

ParameterWaardenEffect
core true / false Alleen core, of alleen niet-core extensies
type component, plugin, ... Een extensietype
status geheel getal Filter op in- of uitgeschakelde status
curl -H "X-Joomla-Token: <token>" \
     "https://example.test/api/index.php/v1/extensions?core=false&type=plugin"

Dit is handig voor monitoring: een script kan de lijst met niet-core extensies over veel sites ophalen en alles markeren wat uitgeschakeld, verouderd of onverwacht is. Let op: de publieke API dekt het uitlezen van de lijst; installeren en bijwerken gebeurt nog steeds via de backendschermen of de CLI.

11.3 Het CLI-alternatief

Voor automatisering die dingen wijzigt, kan de Joomla-opdrachtregeltool controleren op core-updates en deze toepassen en geplande taken uitvoeren. Voor extensiebeheer blijven de backendschermen en de framework-klasse Installer de belangrijkste hulpmiddelen.

Naar boven

12. SEO en metadata

com_installer is een component alleen voor beheer. Het heeft geen frontend-weergave, geen menu-itemtype en levert geen openbare pagina's. Dat betekent dat het geen directe SEO-voetafdruk heeft: zoekmachines zien het nooit, en het heeft geen metadata, SEF-instellingen of sitemap-vermeldingen nodig.

De verbinding met SEO is indirect maar reeel. De extensies die je via com_installer installeert, bepalen de snelheid, de opmaak en de gestructureerde data van je site. Een opgeblazen stapel ongebruikte extensies vertraagt pagina's en schaadt de ranking. De geinstalleerde set slank houden, met het scherm Beheren, is goed onderhoud dat zich uitbetaalt in prestaties.

Naar boven

13. Veelgemaakte fouten en valkuilen

13.1 Extensie-updates verwarren met Joomla-update

Symptoom: Je voert trouw Systeem → Bijwerken → Joomla uit, maar extensies blijven verouderd.

Oplossing: Dit zijn twee componenten. Extensie-updates staan onder Systeem → Bijwerken → Extensies (com_installer); de core staat onder Bijwerken → Joomla (com_joomlaupdate). Controleer beide.

13.2 Een pakket dat niet wil uploaden

Symptoom: Een grote .zip mislukt of blijft hangen bij Pakketbestand uploaden.

Oplossing: Het bestand overschrijdt de PHP-instellingen upload_max_filesize of post_max_size. Controleer de limieten op het scherm Waarschuwingen en gebruik daarna Installeren vanuit map of Installeren vanaf URL.

13.3 Er verschijnt nooit een updatemelding

Symptoom: Een handmatig geinstalleerde extensie biedt nooit een update aan.

Oplossing: Waarschijnlijk heeft deze geen updatesite. Open Beheren → Updatesites, controleer of de site bestaat en is ingeschakeld, en gebruik Opnieuw opbouwen als de lijst er verkeerd uitziet.

13.4 De update lijkt laat

Symptoom: Er is een nieuwe versie uit, maar Joomla toont deze niet.

Oplossing: De updatecontrole is gecacht. Klik op Zoek updates om een verse controle te forceren, of verlaag Update-cachetijd in de Opties. Controleer ook of Minimale stabiliteit geen pre-release verbergt.

13.5 Bestanden kopieren zonder Detecteren

Symptoom: Je hebt de map van een extensie via FTP geupload, maar Joomla ziet deze niet.

Oplossing: Bestanden op de schijf zijn pas een geinstalleerde extensie als ze een #__extensions-record hebben. Voer Beheren → Detecteren uit om ze te registreren, of installeer de zip op de normale manier.

13.6 De schemawaarschuwing negeren

Symptoom: Een rode melding "Databaseschema is verouderd" die je steeds wegklikt.

Oplossing: Het betekent dat een SQL-migratie niet is uitgevoerd. Ga naar Beheren → Database en klik op Herstellen voordat er vreemde bugs verschijnen.

Naar boven

14. Best practices

Als je maar een paar dingen uit dit artikel onthoudt, onthoud dan deze:

  • com_installer beheert je uitbreidingen; com_joomlaupdate werkt de core bij. Houd beide up-to-date.
  • Installeer alleen vanuit de JED of rechtstreeks bij de ontwikkelaar; behandel installeren als het uitvoeren van code op je server.
  • Wanneer een groot pakket niet wil uploaden, schakel over naar Installeren vanuit map of URL, en lees het scherm Waarschuwingen.
  • Als updates niet verschijnen, controleer dan Updatesites, de update-cachetijd en Minimale stabiliteit, in die volgorde.
  • Los schemawaarschuwingen op zodra ze verschijnen, op het scherm Database.
  • Verwijder extensies die je niet meer gebruikt - een kleinere stapel is sneller en veiliger.
  • Beperk wie core.manage en core.admin op com_installer heeft.
Naar boven

15. In het kort

INSTALLEREN   Systeem → Installeren → Extensies (Upload / Map / URL / Web)
BEHEREN       Systeem → Beheren → Extensies (in-/uitschakelen / verwijderen)
BIJWERKEN     Systeem → Bijwerken → Extensies (openstaande updates)
CORE-UPDATE   Systeem → Bijwerken → Joomla (com_joomlaupdate, apart)
UPDATESITES   Beheren → Updatesites (opnieuw opbouwen als updates verdwijnen)
DETECTEREN    Beheren → Detecteren (bestanden op de schijf registreren)
DATABASE      Beheren → Database (ontbrekende SQL opnieuw afspelen met Herstellen)
WAARSCHUWING  Beheren → Waarschuwingen (PHP-limieten, schrijfbare mappen)
OPTIES        cachetimeout (6u) . minimum_stability (Stabiel)
REST          GET /api/index.php/v1/extensions ?core= &type= &status=
TABELLEN      #__extensions . #__update_sites . #__updates . #__schemas
Naar boven

16. Samenvatting

com_installer is het ene core-component dat de hele levensloop van elke extensie die je aan Joomla toevoegt beheert. Het staat niet onder een eigen menu; het verschijnt als een set schermen onder Systeem.

Zodra je het ziet als een enkel component met meerdere weergaven, valt alles op zijn plek:

  • Een pijplijn: upload, map, URL en web eindigen allemaal in dezelfde installatievolgorde, met terugdraaien als een stap mislukt.
  • Beheren toont elk record in #__extensions en laat je in-/uitschakelen en verwijderen.
  • Detecteren registreert bestanden die al op de schijf staan; Database herstelt het schema; Waarschuwingen meldt omgevingsproblemen.
  • Updatesites en de updatestroom maken van een extern versienummer een update met een klik - apart van Joomla-update voor de core.
  • Opties regelen de updatecache en de minimale stabiliteit; de REST API stelt de extensielijst beschikbaar op /v1/extensions.

Of je nu een Joomla-site plant, worstelt met een update die niet wil verschijnen, of je zorgen maakt dat een verouderde uitbreiding je site in gevaar brengt: het loont om te begrijpen hoe com_installer werkt. Het is de poortwachter voor elk stukje code dat op je site draait, dus zijn schermen kennen hoort bij het snel, actueel en veilig houden van die site.

Naar boven
Installer in Joomla
Peter Martin
Peter Martin

Joomla specialist en Linux admin voor snelle, veilige en schaalbare websites.