Files
opensimMULTITOOLS-II/webphp
2026-04-20 11:35:05 +02:00
..
2026-04-20 11:35:05 +02:00
2026-04-02 12:27:19 +02:00
2026-04-02 12:27:19 +02:00
2026-04-02 11:22:19 +02:00

OSMTool Web PHP (DE/EN/FR/ES)

This folder contains a complete PHP web interface for osmtool_main.sh.

Features

  • Login-protected web UI
  • Language switch: de, en, fr, es
  • CSRF protection
  • Session-based execution history
  • Live status cards for screen sessions, ports and latest artifacts
  • Command preview and output viewer
  • External CSS and JavaScript assets
  • Whitelisted module/action execution only
  • Runner script wrapper for safer command execution
  • Configurable timeout for long-running commands

File Layout

  • public/index.php - web UI and request handling
  • public/style.css - layout and visual design
  • public/app.js - client-side form switching for modules and actions
  • src/web_init.php - session, auth helpers, CSRF
  • src/i18n.php - translations
  • src/runner.php - module catalog, command whitelist and execution
  • src/config.sample.php - configuration template
  • bin/osmtool_web_runner.sh - controlled bridge to osmtool_main.sh

Setup

  1. Typical Linux deploy path:
sudo mkdir -p /var/www/html/osmtool-web
sudo cp -a webphp/. /var/www/html/osmtool-web/
sudo chown -R www-data:www-data /var/www/html/osmtool-web
  1. Edit config values:
nano /var/www/html/osmtool-web/src/config.php
  1. Set execute bit for runner and main script:
chmod +x /var/www/html/osmtool-web/bin/osmtool_web_runner.sh
chmod +x /opt/opensimMULTITOOLS-II/osmtool_main.sh
  1. Configure web server document root to:
/var/www/html/osmtool-web/public
  1. Open in browser and log in with web_password from config.

Use visudo and allow only the web runner:

www-data ALL=(manni) NOPASSWD: /var/www/html/osmtool-web/bin/osmtool_web_runner.sh

Then keep use_sudo=true and sudo_user=manni in config.

Supported Modules

  • install
  • startstop
  • cleanup
  • health
  • backup
  • restore
  • update
  • config
  • report
  • smoke
  • cron

Notes On Scope

  • The web interface now exposes the modular command set instead of only a few shortcut actions.
  • Visible form fields change automatically depending on the selected module and action.
  • Sensitive values such as passwords and secrets are masked in the command preview.
  • Timeout handling uses command_timeout_seconds from src/config.php or src/config.sample.php.
  • Live status cards can be tuned with status_ports and status_screens in src/config.php.

Notes

  • Do not expose this UI publicly without HTTPS and IP restrictions.
  • Keep the password strong and unique.
  • Extend modules or actions in src/runner.php and bin/osmtool_web_runner.sh together.