Repeatable installation
Runs the .run installer with --headless, the chosen providers and your ports, after checking the SHA-256 and a dry run with --dry-run.
Octo for MapGuide Open Source servers
MapGuide Open Source 4.0 shipped on Oct 12, 2025, with a headless installer for Ubuntu 22.04, a generic package for other distributions and a Windows x64 installer. On Oct 22, 2026 the maintainer published the php2shell mitigation for 4.0 only. Octo installs in staging, audits the configuration, reads the logs, copies the repository and compares the old server with the new one by content. Passwords, open ports and the production cutover stay with the administrator and the technical lead.
Six possible deliverables, drawn from the assessment. All of them start in staging or read-only, record version and build, and go to review by whoever is accountable for the server.
Runs the .run installer with --headless, the chosen providers and your ports, after checking the SHA-256 and a dry run with --dry-run.
Since there is no official image, it builds one from the installer, with the repository and logs on volumes and a health check through the WMS document.
Deliverable: Dockerfile + test runbookReads serverconfig.ini and webconfig.ini: mismatched ports, connection pool, session, logs switched off, factory WMS and WFS passwords and a single-core configuration on a multi-core machine.
With Performance.log switched on by the administrator, it reads queues, average time and connections, and cross-checks Error.log against each layer's data source.
Cold copy of Library and Site with the service stopped and a guaranteed restart, plus an .mgp package for the content, with SHA-256 and a restore test.
Inventory of the 3.x server, package load into the new 4.0 and a server-to-server comparison (version, maps, WMS), with the old one live until sign-off.
Deliverable: blocker inventory + differences reportThe same Octo cycle, applied to installing and maintaining MapGuide. Each arm has a narrow role; the people open ports, change production passwords and accept the server cutover.
Version and build, distribution, ports, providers, services in /etc/init.d and where the repository and logs live.
Each layer's data sources, FDO providers, UnmanagedDataMappings aliases and credentials, without copying them.
Default WMS and WFS passwords, a fixed AJP secret, ports 2810 to 2812 exposed, authoring switched on, embedded PHP without the mitigation and personal data published.
Ubuntu or generic package, machine or container, side-by-side or in-place cutover, Apache with or without Tomcat.
Installation, audit, backup and check in shell and Python, with a log, dry-run mode and credentials read from the environment.
Version in GETSITEVERSION, the WMS root element, the list of maps and an image of each map. A 200 status is not a check.
Only with your OK, it gets the new server ready and the rollback runbook written. DNS, proxy and firewall are changed by a person.
Version and build, installer options, accepted configuration, backup location, who signed off and when.
Octo works in staging and read-only, in a support role. It does not change production passwords, open ports, accept the server cutover or answer for published data.
The criteria Octo uses to choose, with the documentation for the installed version.
| Task | Path | Note |
|---|---|---|
| See the installation without installing | installer.run -- --dry-run ... | Shows ports, providers and user |
| Install headless | installer.run -- --headless --with-... | Providers chosen one by one |
| Install in a container | --no-service-install --no-mgserver-start --no-httpd-start | There is no official project image |
| Start, stop, status | /etc/init.d/mapguide start|stop|status|restart | mgserver run shows the startup error on screen |
| Change a password | mgserver setpwd <user> <password> | Human step; the password stays in the shell history |
| Load content | mgserver loadpackage <file.mgp> | Or MgServerAdmin.LoadPackage |
| Site version and status | mapagent GETSITEVERSION, GETSITESTATUS | Details on the mapagent API page |
| Logs without SSH | MgServerAdmin.GetLog, ClearLog, SetMaximumLogSize | Requires an administrator credential |
| Maintenance without killing the process | MgServerAdmin.TakeOffline / BringOnline | Site offline, server alive |
| Repository backup | Cold copy of Library and Site; .mgp package | New .NET tool in 4.0 replacing the PHP scripts |
Three steps. Each one only makes sense after the previous one has shown results on your team.
A proposal, not a promise
Octo shows what the server has and how it is configured, without touching anything.
A 4.0 staging server built by script and a backup tested by restoring it.
Updates like 4.0.1 follow the same runbook: staging, comparison, sign-off, cutover.
Every point below has a source published by OSGeo (project page, official mailing lists, downloads area), by the official repository or by Autodesk. The examples are scripts, not executions. The sources are in the next section.
4
points with a published source, each with its reference shown alongside.
mapguide4java; SysV services in /etc/init.d; no SQL Server Spatial in the provider list.Source: install.sh in the mapguide-fdo-docker-build repositoryOcto prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.
Gathers, calculates, organizes and generates the documents: scripts, inventories, reports and maps.
Deliverable: material ready to checkThe licensed professional checks what Octo delivered before signing. If something doesn't add up, it goes back to Octo with the correction.
Step: review by the signerOcto does not sign. Designs, technical reports, ART/RRT, accountability reports and any official document are still signed by the licensed professional of the company or agency: here, the technical lead for the map or system.
Signature: technical lead for the map or systemMapGuide project lists and repositories, OSGeo and the maintainer's blog, consulted on Oct 31, 2026.
The assessment starts with a server inventory and a configuration audit, without touching anything. You get the list of factory defaults, of what blocks the upgrade and of how to check it, and you decide with it in hand.