[{"data":1,"prerenderedAt":213},["ShallowReactive",2],{"seo-verification":3,"blog-hosting-dolibarr-on-a-vps-open-source-erp-under-control-ma-en":6,"promo-bar-likely":212},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-hosting-dolibarr-on-a-vps-open-source-erp-under-control-ma-en",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":153,"ctaBody":154,"ctaButton":155,"ctaUrl":156,"relatedPosts":157},143,"hosting-dolibarr-on-a-vps-open-source-erp-under-control",{"fr":12,"en":10,"ar":13,"es":14},"heberger-dolibarr-vps","استضافة-dolibarr-على-خادم-vps-نظام-erp-حر-تحت-السيطرة","alojar-dolibarr-en-un-vps-erp-libre","Hosting Dolibarr on a VPS: open source ERP under control","Deploy Dolibarr on a ServOrbit VPS: open source ERP\u002FCRM, a controlled database, backups and HTTPS access for your SME.",11,0,false,"2026-02-02T00:00:00+00:00","2026-11-09T20:55:19+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-dolibarr-vps-poster.svg",{"categorySlug":34,"appSlug":35},"erp-business-management","dolibarr","Dolibarr covers the classic needs of an SME: CRM, quotes, invoices, products, projects and sales tracking. Installing it on a ServOrbit VPS lets you control the database, the extensions and the backup policy instead of depending on a vertical SaaS. This guide sets up a simple, maintainable deployment ready to grow.",[38,42,52,55,77,85,88,91,94,97,105,129,147,150],{"type":39,"title":40,"body":41},"h2","Why host Dolibarr on a VPS?","Choosing a VPS rather than shared hosting or a SaaS guarantees you dedicated resources, an isolated database and the freedom to install the Dolibarr modules of your choice without restriction. Your data stays on a server you control entirely, in line with the confidentiality requirements imposed by the applicable regulations. A VPS also lets you scale resources (RAM, CPU, storage) as your business grows, without ever migrating platforms.",{"type":43,"title":44,"items":45},"ul","What you can do with Dolibarr",[46,47,48,49,50,51],"Create and send professional quotes and invoices directly from your browser","Manage your customer and supplier directory with a complete history of interactions","Track your stock, orders and deliveries in real time","Manage your projects with milestones, tasks and time tracking","Generate accounting reports and financial dashboards","Extend the functionality via more than 1,000 official and community modules",{"type":39,"title":53,"body":54},"Sizing the VPS: the numbers to check first","The Dolibarr wiki asks for at least MariaDB 10.3, MySQL 5.7.7 or PostgreSQL 9.1, plus a PHP allowed to use 128 MB of memory (the `memory_limit` setting) with sessions enabled. The releases page states that Dolibarr 24.0, published on 20 August 2026, runs on PHP 7.2 to 8.5; Dolibarr 23.0 covers the same range, and Dolibarr 22.0 runs from 7.1 to 8.4. On your VPS, check what the 1-click install actually put in place with `php -v` and `mariadb --version` before adding a third-party module that requires a specific version. The 2 vCPU and 2 GB of RAM from the first step are enough to start an SME; memory grows with the number of simultaneous users, the active modules and PDF generation. Record `free -h` during a busy invoicing day before changing plan: the measurement decides, not intuition.",{"type":56,"title":57,"steps":58},"steps","Install Dolibarr on your ServOrbit VPS",[59,62,65,68,71,74],{"title":60,"body":61},"Order a ServOrbit Cloud VPS","Go to the \u002Fvps-cloud page and choose the plan suited to your load: for standard SME use of Dolibarr, a VPS with 2 vCPU and 2 GB of RAM is a good starting point. Finalize the order; your server is delivered within 60 seconds with a dedicated IP address and root SSH access.",{"title":63,"body":64},"Access the Marketplace in the client area","Log in to your ServOrbit client area, open your VPS page, then click the « Marketplace » tab. This section lists all the applications available for 1-click installation, preconfigured and ready to use.",{"title":66,"body":67},"Start the Dolibarr installation","Search for « Dolibarr » in the Marketplace, click the application card then « Install ». The system automatically deploys Apache, MariaDB and Dolibarr on your VPS. The operation takes about 2 to 3 minutes; you will receive a notification as soon as the installation is complete.",{"title":69,"body":70},"Access the Dolibarr installation interface","Once the installation is complete, open your browser and enter the address http:\u002F\u002FVOTRE_IP\u002Fdolibarr\u002Finstall. The Dolibarr configuration wizard guides you to create the database, set the administrator username and password, then choose the language and currency. At the end of this wizard, delete or rename the install\u002F folder to secure your instance.",{"title":72,"body":73},"First login and initial configuration","Go to http:\u002F\u002FVOTRE_IP\u002Fdolibarr and log in with the administrator credentials you have just defined. From the dashboard, enable the modules you need (Invoices, Quotes, Third parties, Stock, etc.) via the Home > Setup > Modules menu. For secure production access, configure a domain name pointing to your VPS and enable an HTTPS certificate via Let's Encrypt.",{"title":75,"body":76},"Logging in for the first time","Dolibarr installs itself on first start-up: when you open the address you land straight on the login screen, with no wizard. Log in with the username “admin” and the password that was sent to you (available in the Applications section of your client area), then change it from Home ▸ Users.",{"type":43,"title":78,"items":79},"Hardening the instance after the first login",[80,81,82,83,84],"**HTTPS everywhere** — attach a domain such as `your-domain.com` to the VPS, enable the Let's Encrypt certificate and redirect HTTP to HTTPS: Dolibarr holds your customers, your invoices and their details","**Read-only configuration file** — `conf\u002Fconf.php` holds the database credentials; after installation, remove its write permission with `chmod 400 conf\u002Fconf.php`","**A documents\u002F folder not served by the web** — check that a direct address to an attachment or an invoice PDF does not answer without a login","**Named accounts** — change the password of the “admin” account, create one account per user and keep administration rights for those who need them","**Minimal firewall** — open only ports 80 and 443 to the public, and restrict SSH to your working addresses",{"type":86,"body":87},"tip","Before putting Dolibarr into production, schedule automatic backups of your MariaDB database with mysqldump and store them off the VPS (for example via remote object storage). Dolibarr also stores uploaded files in the documents\u002F folder: include this directory in your backup plan so you never lose any attachment or generated invoice PDF.",{"type":39,"title":89,"body":90},"Updating Dolibarr without losing data","The official repositories show that the 24 branch already has two releases: 24.0.0 on 20 August 2026, then 24.0.1 on 7 September 2026. A minor update fixes defects; a major version change can alter the database and raise the required PHP version. Before any operation, back up the database with `mysqldump`, copy the `documents\u002F` folder and the `conf\u002Fconf.php` file, then replay the update on a copy of the VPS or on a snapshot. Next, check that your PHP version stays within the announced range for the target version: a jump from Dolibarr 22.0 to 24.0 moves the upper bound from 8.4 to 8.5 and the lower bound from 7.1 to 7.2. Finally, read the release notes before launching the upgrade wizard, and note the installed version next to your backup.",{"type":86,"title":92,"body":93},"PHP alert of 21 October 2026","On 21 October 2026, the PHP project released versions 8.5.12, 8.4.27, 8.3.36 and 8.2.35 to fix two critical flaws, CVE-2026-109618 and CVE-2026-109619, which can allow unauthenticated remote code execution. The advisory states that updating is the recommended fix and that interim workarounds do not make an installation safe. On your VPS, `php -v` gives the version, but distributions backport fixes without always changing the number: check your distribution's advisory, apply the packages, then restart Apache or PHP-FPM. If Dolibarr runs in a `php:*` Docker image, rebuild the image and restart with `docker compose pull && docker compose up -d`. Dolibarr 24.0 accepts PHP up to 8.5, so version 8.5.12 stays within its range.",{"type":39,"title":95,"body":96},"Dolibarr and Stripe: when a collected payment does not appear","If you collect card payments through the Stripe module, one point deserves your attention. Issue 32510 in the Dolibarr repository, opened on 3 January 2025 with the Bug label and still open on 31 October 2026, describes a payment completed and paid out on the Stripe side, while Dolibarr created neither the invoice, nor its validation, nor the payment, after four attempts by the customer. The author came back in September 2025: two invoices out of twenty-five affected, on Dolibarr 21.0.1, then a new case in 2026. The thread has fifteen comments, none from a member of the Dolibarr organization, and no fix is announced in it. Here is what can be stated, and what remains a hypothesis.",{"type":43,"title":98,"items":99},"What the code shows, what participants report",[100,101,102,103,104],"**Seen in the code, branch 24.0** — in `htdocs\u002Fpublic\u002Fstripe\u002Fipn.php`, the “card” path builds the query that sets `traite` to 1, logs it with the text “TODO update flag traite to 1 sql=”, then leaves it commented out (`\u002F\u002F$db->query($sql);`); the query also filters on `sourcetype = 'facture'`","**Seen in the code, branches 22.0 and 23.0** — the same path contains no query, only the “TODO update flag traite to 1” logs: a `traite = 0` value therefore proves nothing about a card payment","**Reported by a participant, not confirmed** — the card payment would be recorded by `public\u002Fpayment\u002Fpaymentok.php` when the buyer's browser returns; if they close the tab or lose the connection, the webhook repairs nothing. The ticket author could not confirm this lead","**Reported by another participant, not confirmed** — for a missing payment, no `POST` request to `newpayment.php` and no call to `paymentok.php` appears in the web server logs after the successful attempt","**Not established** — the exact cause for the ticket author, the maintainers' decision on a fix, and the possible link with issue 32500, where the same author describes an invoice left unvalidated despite a full payment",{"type":106,"title":107,"headers":108,"rows":112},"comparison","Which source says what when a payment is missing",[109,110,111],"Source","What it proves","What it does not prove",[113,117,121,125],[114,115,116],"Stripe dashboard","The payment succeeded and was paid out","That Dolibarr recorded it",[118,119,120],"`traite` column of `llx_prelevement_demande`","Nothing on the card path, according to the code of branches 22.0 to 24.0","Whether the webhook arrived or not",[122,123,124],"`llx_paiement` table, `ext_payment_id` column","That a payment exists on the Dolibarr side","A missing payment shows up as a missing row",[126,127,128],"Web server logs","Whether Stripe called the webhook and whether the buyer's browser came back","Why the payment was not created",{"type":56,"title":130,"steps":131},"Troubleshooting: find a Stripe payment missing from Dolibarr",[132,135,138,141,144],{"title":133,"body":134},"List the successful payments on the Stripe side","In the Stripe dashboard, filter the successful payments of the period and note their identifiers, which start with `pi_`. This is the reference list: Dolibarr cannot tell you what it never received.",{"title":136,"body":137},"Look for requests without a payment on the Dolibarr side","On a copy of the database or read-only, a participant in the ticket proposes this query, to adapt if your table prefix is not `llx_`: `SELECT pd.rowid, pd.ext_payment_id, pd.sourcetype, pd.fk_facture, pd.amount, pd.date_demande FROM llx_prelevement_demande pd LEFT JOIN llx_paiement p ON p.ext_payment_id LIKE CONCAT(pd.ext_payment_id, '%') WHERE pd.ext_payment_id LIKE 'pi_%' AND pd.ext_payment_site = 'StripeLive' AND p.rowid IS NULL ORDER BY pd.date_demande DESC;` Each row is a payment that Dolibarr prepared without ever recording it; cross-check its `pi_` identifiers with Stripe's to keep only the payments that really succeeded.",{"title":139,"body":140},"Check that the webhook answers from outside","From a machine outside the VPS, run `curl -s -o \u002Fdev\u002Fnull -w '%{http_code}' -X POST https:\u002F\u002Fyour-domain.com\u002Fpublic\u002Fstripe\u002Fipn.php`. A 400 answer proves the script runs; a 404, a 502 or a timeout point to the web server, the firewall or the CDN. The code notably returns “Error: Setup of module Stripe not complete for mode StripeLive. The WEBHOOK_KEY is not defined.” when the webhook key is missing from the module setup, and “Invalid signature. May be a hook for an event created by another Stripe env or a hack attempt ? Check setup of your keys whsec_...” when the signature does not match the saved key. A 400 does not prove that Stripe signs with the right key: the delivery list in the Stripe dashboard confirms it.",{"title":142,"body":143},"Read the web server logs at the time of the payment","For the time of the missing payment, look for Stripe's calls to `ipn.php`, then the buyer's requests to `newpayment.php` and `paymentok.php`. According to the ticket participants, the absence of the last two would explain a payment that was never created. Keep it as a lead, not a diagnosis.",{"title":145,"body":146},"Regularize and keep a trace","From the invoice page, enter the missing payment with the Stripe identifier in the note, validate the invoice if it is not, then log the incident with the date and the amount. This trace lets you compare the number of cases from one month to the next.",{"type":86,"title":148,"body":149},"A weekly reconciliation","As long as the maintainers announce no fix, the reliable defence is the check: once a week, compare the successful payments in the Stripe dashboard with the payments in Dolibarr, then read the webhook reception logs. This habit also protects your cash-flow tracking, since a payment missing from the ERP distorts the expected balance. Do not tell your customers any cause until it is established.",{"type":86,"title":151,"body":152},"The official documentation","For advanced configuration, tool-specific options and version changes, refer to the \u003Ca href=\"https:\u002F\u002Fwiki.dolibarr.org\u002F\" target=\"_blank\" rel=\"noopener noreferrer\">official Dolibarr documentation\u003C\u002Fa>. This guide covers going live on a ServOrbit VPS; the vendor documentation remains the reference for fine-tuning.","Deploy Dolibarr in minutes on a ServOrbit Cloud VPS","Enjoy a VPS with 1-click Dolibarr installation and responsive French-speaking support to run your business with peace of mind.","Launch my Cloud VPS","\u002Fvps-cloud",[158,175,193],{"id":159,"slug":160,"slugs":161,"title":165,"excerpt":166,"readTime":23,"views":18,"isPinned":19,"noindex":19,"publishedAt":167,"updatedAt":168,"category":169,"categories":170,"featuredImage":30,"bgImage":31,"posterImage":172,"relatedSolution":173},73,"host-wordpress-on-your-own-vps",{"fr":162,"en":160,"ar":163,"es":164},"heberger-wordpress","استضافة-wordpress-على-خادم-vps-الخاص-بك","alojar-wordpress-en-un-vps","Host WordPress on your own VPS","Host WordPress on your VPS for maximum performance and control: Docker, MariaDB, caching, reverse proxy and SSL.","2026-04-08T00:00:00+00:00","2026-11-09T20:55:18+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[171],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-wordpress-poster.svg",{"categorySlug":25,"appSlug":174},"wordpress",{"id":176,"slug":177,"slugs":178,"title":182,"excerpt":183,"readTime":184,"views":18,"isPinned":19,"noindex":19,"publishedAt":185,"updatedAt":168,"category":186,"categories":187,"featuredImage":30,"bgImage":31,"posterImage":189,"relatedSolution":190},145,"prestashop-on-a-vps-open-e-commerce-with-no-closed-platform",{"fr":179,"en":177,"ar":180,"es":181},"installer-prestashop-vps","prestashop-على-vps-تجارة-إلكترونية-حرة-دون-منصة-مغلقة","instalar-prestashop-en-un-vps","How to Install PrestaShop on a VPS: Full Guide 2025","Deploy PrestaShop 8.x on a Ubuntu 24.04 VPS with Apache, PHP 8.2, MySQL 8 and SSL. Exact commands, requirements, troubleshooting and optimizations included.",8,"2026-01-31T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[188],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Finstaller-prestashop-vps-poster.svg",{"categorySlug":191,"appSlug":192},"e-commerce","prestashop",{"id":194,"slug":195,"slugs":196,"title":200,"excerpt":201,"readTime":202,"views":203,"isPinned":19,"noindex":19,"publishedAt":204,"updatedAt":205,"category":206,"categories":207,"featuredImage":30,"bgImage":31,"posterImage":209,"relatedSolution":210},144,"woocommerce-on-a-vps-a-fast-store-you-control",{"fr":197,"en":195,"ar":198,"es":199},"installer-woocommerce-vps","woocommerce-على-vps-متجر-سريع-وتحت-سيطرتك","instalar-woocommerce-en-un-vps","WooCommerce on a VPS: a fast store you control","Install WooCommerce on a ServOrbit VPS: WordPress, cache, HTTPS, backups and full control of your store.",4,1,"2026-02-01T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[208],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Finstaller-woocommerce-vps-poster.svg",{"categorySlug":191,"appSlug":211},"woocommerce",true,1794270417393]