MageBooster
Vraag installatiehulp aan
Magento 2.4.9, Mage-OS of Hyvä, op jouw server of op de onze. We reageren binnen één werkdag met een plan.
✓ Serverinrichting en tuning✓ Installatie en extensies✓ Turkije, Duitsland, VK en Europa
Van een lege Ubuntu-server tot een draaiende Magento 2.4.9-webshop: serverkeuze, Linux-inrichting, tuned-adm, nginx, PHP 8.5, MariaDB, OpenSearch 3, Valkey en Varnish, en daarna Magento zelf via Composer, vanaf GitHub of uit een kant-en-klaar pakket.
Dit zijn de versies die Adobe opgeeft voor Magento Open Source en Adobe Commerce 2.4.9 op je eigen servers. Er is veel veranderd ten opzichte van 2.4.8: PHP 8.2, MariaDB 10.6, Elasticsearch en OpenSearch 2 worden niet meer ondersteund.
| Component | Ondersteund voor 2.4.9 |
|---|---|
| PHP | 8.5 |
| Composer | 2.10 |
| MariaDB / MySQL | MariaDB 12.3 of MySQL 8.4 |
| Zoeken | OpenSearch 3 |
| Cache en sessies | Valkey 9 |
| Full page cache | Varnish 8 |
| Webserver | nginx 1.30 |
| Message queue (optioneel) | RabbitMQ 4.3 |
Dimensioneer de server voor zoeken, indexeren en checkout, niet voor de homepage. Een catalogus van 50.000 producten heeft geheugen nodig voor OpenSearch en de database, lang voordat de storefront traag aanvoelt.
Tot ongeveer 5.000 producten en een paar honderd bestellingen per maand. Alles op één server.
Grotere catalogi, meerdere store views, Varnish ervoor. Nog steeds één server.
Database en OpenSearch op eigen servers, veel verkeer of veel integraties.
Deze stappen gaan uit van een verse Ubuntu 24.04 LTS-server en een gebruiker met sudo-rechten. Vervang voorbeeldnamen en -wachtwoorden door je eigen.
# een aparte gebruiker voor de shop adduser magento usermod -aG sudo magento # updates, tijdzone, swap apt update && apt upgrade -y timedatectl set-timezone Europe/Berlin fallocate -l 4G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile echo '/swapfile none swap sw 0 0' >> /etc/fstab # firewall: alleen SSH, HTTP en HTTPS ufw default deny incoming ufw allow OpenSSH ufw allow 80,443/tcp ufw enable # bescherming tegen brute force en automatische beveiligingsupdates apt install -y fail2ban unattended-upgrades
/etc/ssh/sshd_config (PasswordAuthentication no).127.0.0.1 en verder nergens. Ze hebben nooit een open poort nodig.tuned is een Linux-service die een set kernel- en systeeminstellingen toepast voor een bepaald type werklast: gedrag van de CPU-frequentie, diskscheduling, geheugen- en netwerkparameters. Je kiest één profiel, tuned past het toe en behoudt het na een herstart.
apt install -y tuned
systemctl enable --now tuned
tuned-adm recommend # wat tuned voor deze machine voorstelt
tuned-adm profile virtual-guest
tuned-adm active
tuned-adm verify| Profiel | Gebruik het als |
|---|---|
| virtual-guest | De server een VPS of cloudinstance is. Dit is de gebruikelijke situatie en wat wij draaien. |
| throughput-performance | Dedicated hardware waarbij de totale hoeveelheid werk het belangrijkst is. |
| latency-performance | Dedicated hardware waarbij elke milliseconde reactietijd telt. |
De eigen nginx van Ubuntu is ouder dan 1.30. Gebruik de repository van nginx.org:
curl -fsSL https://nginx.org/keys/nginx_signing.key | gpg --dearmor -o /usr/share/keyrings/nginx.gpg echo "deb [signed-by=/usr/share/keyrings/nginx.gpg] http://nginx.org/packages/ubuntu noble nginx" > /etc/apt/sources.list.d/nginx.list apt update && apt install -y nginx
add-apt-repository -y ppa:ondrej/php apt install -y php8.5-fpm php8.5-cli php8.5-bcmath php8.5-curl php8.5-gd php8.5-intl \ php8.5-mbstring php8.5-mysql php8.5-soap php8.5-xml php8.5-xsl php8.5-zip php8.5-sockets
Stel deze in in /etc/php/8.5/fpm/php.ini en in de CLI php.ini:
memory_limit = 2G
max_execution_time = 1800
realpath_cache_size = 10M
realpath_cache_ttl = 7200
opcache.memory_consumption = 512
opcache.max_accelerated_files = 130000
opcache.validate_timestamps = 0 # productie: herlaad PHP-FPM na elke deployGeef de shop een eigen PHP-FPM-pool die draait als de magento gebruiker, en stem pm.max_children af op het geheugen dat je hebt: grofweg vrij RAM gedeeld door 150 MB.
curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | bash -s -- --mariadb-server-version="mariadb-12.3" apt install -y mariadb-server mariadb-secure-installation mariadb -e "CREATE DATABASE magento; CREATE USER 'magento'@'localhost' IDENTIFIED BY 'change-this-password'; GRANT ALL ON magento.* TO 'magento'@'localhost';"
In /etc/mysql/mariadb.conf.d/90-magento.cnf begin met:
[mysqld] innodb_buffer_pool_size = 4G # ongeveer de helft van het RAM bij een setup op één server tmpdir = /dev/shm # tijdelijke tabellen in het geheugen log_bin_trust_function_creators = 1 # Magento maakt triggers aan
curl -fsSL https://artifacts.opensearch.org/publickeys/opensearch-release.pgp | gpg --dearmor -o /usr/share/keyrings/opensearch.gpg echo "deb [signed-by=/usr/share/keyrings/opensearch.gpg] https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/apt stable main" > /etc/apt/sources.list.d/opensearch-3.x.list apt update && OPENSEARCH_INITIAL_ADMIN_PASSWORD='Change-This-1!' apt install -y opensearch
In /etc/opensearch/opensearch.yml zet network.host: 127.0.0.1 en discovery.type: single-node. Stel de Java-heap in jvm.options in op 1–4 GB, afhankelijk van de grootte van de catalogus, en daarna systemctl enable --now opensearch.
Valkey vervangt Redis voor cache en sessies in 2.4.9 en gebruikt dezelfde Magento-instellingen. Ubuntu 24.04 levert alleen Valkey 7.2, dus installeer versie 9 vanaf de officiële release op valkey.io (compileren vanuit de broncode) of draai het als container. Ubuntu 26.04 heeft Valkey 9 in apt. Bind het aan 127.0.0.1 en gebruik aparte databasenummers voor cache, paginacache en sessies.
curl -s https://packagecloud.io/install/repositories/varnishcache/varnish80/script.deb.sh | bash apt install -y varnish
Varnish luistert op poort 80 achter je TLS-terminatie (nginx of Cloudflare) en praat met nginx op een interne poort zoals 8080. Genereer na de installatie van Magento de VCL met bin/magento varnish:vcl:generate.
curl -sS https://getcomposer.org/installer -o composer-setup.php php composer-setup.php --install-dir=/usr/local/bin --filename=composer composer --version
Er zijn drie manieren om de code binnen te halen. Gebruik voor een live webshop Composer: alleen zo krijg je later schone upgrades en beveiligingspatches.
Maak een gratis Adobe-account aan, open Commerce Marketplace › My profile › Access keys en maak een sleutelpaar aan. De publieke sleutel is de gebruikersnaam, de privésleutel het wachtwoord.
cd /var/www composer create-project \ --repository-url=https://repo.magento.com/ \ magento/project-community-edition=2.4.9 magento
De volledige broncode met historie. Goed om de code te lezen en bij te dragen, niet voor een live webshop.
git clone --branch 2.4.9 --depth 1 \ https://github.com/magento/magento2.git magento cd magento && composer install
Het 2.4.9-bronarchief van GitHub. Downloaden, uitpakken en daarna Composer de bibliotheken laten ophalen.
curl -LO https://github.com/magento/magento2/archive/refs/tags/2.4.9.tar.gz tar xzf 2.4.9.tar.gz && mv magento2-2.4.9 magento cd magento && composer install --no-dev
Stel eerst de eigenaar van de bestanden in en voer daarna de installer uit als de magento gebruiker:
cd /var/www/magento
chown -R magento:www-data .
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
bin/magento setup:install \
--base-url=https://www.example.com/ \
--db-host=localhost --db-name=magento --db-user=magento --db-password='change-this-password' \
--admin-firstname=Admin --admin-lastname=Store --admin-email=you@example.com \
--admin-user=youradmin --admin-password='a-long-unique-password' \
--backend-frontname=a-private-admin-path \
--language=en_US --currency=EUR --timezone=Europe/Berlin --use-rewrites=1 \
--search-engine=opensearch --opensearch-host=127.0.0.1 --opensearch-port=9200 \
--opensearch-enable-auth=1 --opensearch-username=admin --opensearch-password='Change-This-1!' \
--session-save=redis --session-save-redis-host=127.0.0.1 --session-save-redis-db=2 \
--cache-backend=redis --cache-backend-redis-server=127.0.0.1 --cache-backend-redis-db=0 \
--page-cache=redis --page-cache-redis-server=127.0.0.1 --page-cache-redis-db=1De redis opties werken met Valkey. Schakel daarna over naar production mode en richt cron en de indexers in:
bin/magento deploy:mode:set production bin/magento cron:install bin/magento indexer:set-mode schedule bin/magento indexer:reindex
'disable_locking' => '1' onder session › redis in app/etc/env.php. Op een van onze servers daalden de klantdata-requests na het laden van de pagina daarmee van 2,2 s naar 0,6 s.| Symptoom | Oorzaak en oplossing |
|---|---|
| Wijzigingen zijn niet zichtbaar na een deploy | Oude layout- of statische bestanden in de cache. Leeg de cache, en verandert de layout nog steeds niet, flush dan de Valkey-database met de cache van Magento (nooit de sessiedatabase). |
| De webshop is na elke deploy een uur traag | Het legen van de full page cache maakt heel Varnish leeg. Warm de meest bezochte pagina’s direct na de deploy op. |
| De eerste requests na een PHP-reload duren 2–3 seconden | OPcache is geleegd. Dat is normaal; stuur zelf een paar requests voordat klanten dat doen. |
| Buitengesloten van SSH | Een rate limit van de firewall op de SSH-poort. Sta je eigen IP-adres toe voordat je limieten inschakelt. |
| Zoeken levert niets op | OpenSearch is niet bereikbaar of de index is leeg. Controleer curl 127.0.0.1:9200 en draai bin/magento indexer:reindex catalogsearch_fulltext. |
MageBooster installeert en onderhoudt Magento-, Mage-OS- en Hyvä-webshops in Turkije, Duitsland, het Verenigd Koninkrijk en de rest van Europa. We kunnen de hele installatie voor je doen of de jouwe controleren.
Laat ons weten welke zin niet klopt en hoe het wel moet. Bedankt!
Bedankt! Je melding is bij ons binnen.
Er ging iets mis. Probeer het opnieuw of stuur ons een bericht via WhatsApp.
Stuur ons de gegevens van je webshop. We controleren snelheid, beveiliging en extensies en sturen je binnen 3 werkdagen drie quick wins.
Vertel ons over je webshop, dan reageren we binnen één werkdag. Liever chatten? Stuur ons een WhatsApp
Stap 1 van 4
Je kunt dit later per project aanpassen.
Kies een optie om verder te gaan.
Stap 2 van 4
Zodat we weten met wie we praten.
Vul je naam, je bedrijf en een geldig e-mailadres in.
Stap 3 van 4
Zo kunnen we het eerste gesprek voorbereiden.
Wat past het best bij jou? *
Teamgrootte
Met welke platforms werk je nu?
Kies wat het best bij je past.
Stap 4 van 4
Controleer je gegevens. Je kunt teruggaan om iets aan te passen.
Vink het vakje aan om je aanmelding te versturen.
Er ging iets mis. Probeer het opnieuw of stuur ons een bericht via WhatsApp.
We hebben je een bevestiging gemaild. Wat er nu gebeurt:
We reageren meestal binnen één werkdag.