Difference between revisions of "Mhttpd"

From MidasWiki
Jump to navigation Jump to search
Line 15: Line 15:
* [[Mhttpd.js|MIDAS Javascript Library]]
* [[Mhttpd.js|MIDAS Javascript Library]]
* [[odbedit]]  
* [[odbedit]]  
* [[Security]]
Line 22: Line 23:
= Arguments =
= Arguments =
     -p port        : port number e.g. 8081 (no default). See [[#Usage]].
     -p port        : port number e.g. 8081 (no default). See [[#Usage|usage]].
     --mg          : listens on port 8443. See [[#Usage]].
     --mg          : listens on port 8443. See [[#Usage|usage]].
   [-h hostname ]  : see [[Common Parameters to MIDAS Utilities]]
   [-h hostname ]  : see [[Common Parameters to MIDAS Utilities]]
   [-e experiment] : see [[Common Parameters to MIDAS Utilities]]
   [-e experiment] : see [[Common Parameters to MIDAS Utilities]]
Line 34: Line 35:
= Usage =
= Usage =
If Web security is an issue, use the command
If Web [[Security]] is an issue, use the command
: mhttpd --mg     
: mhttpd --mg     
to start the web server.  See [[#HTTPS/SSL server (mongoose)|mhttpd HTTPS/SSL server]] for more information.
to start the web server.  See [[#HTTPS/SSL server (mongoose)|mhttpd HTTPS/SSL server]] for more information.

Revision as of 17:11, 10 July 2015



The mhttpd utility runs the MIDAS Web Server which allows the user to communicate with an experiment using any web browser. It is used primarily for run control.


   -p port        : port number e.g. 8081 (no default). See usage.
   --mg           : listens on port 8443. See usage.
  [-h hostname ]  : see Common Parameters to MIDAS Utilities
  [-e experiment] : see Common Parameters to MIDAS Utilities
  [-v]            : display verbose HTTP communication
  [-D]            : starts program as a daemon
  [-E]            : only display ELog system
  [-H]            : only display history plots
  [-a hostname]   : only allow access for specific host(s). Several [-a Hostname] statements might be given
  [-help]         : display usage information


If Web Security is an issue, use the command

mhttpd --mg

to start the web server. See mhttpd HTTPS/SSL server for more information.

If Web Security is not a concern, or if running behind a firewall, the command mhttpd -p port can be used to start the web server (http version). In this case, the TCP/IP port number is required as an argument in order to listen to the web-based request.
e.g. if mhttpd is started on IP host machine "myhost" on port 8081 as follows

mhttpd -p 8081 -D

access to the Midas status page can be obtained by pointing a web browser to


If multiple experiments run on the same host, a web server for each experiment must be started on a different port, e.g.

          mhttpd -e expt1 -p 8081 -D
          mhttpd -e expt2 -p 8082 -D


Mhttpd provides a means for run control including monitoring of the run parameters. Its main feature is a web page invoked through any web browser accessing the Midas experimental URL at a defined port (see Usage).

The contents of this Midas status page is composed with minimal information relative to the experiment. It contains a collection of buttons and links to other pages to further describe and control the configuration of the experiment.

  • Minimal display on the main Status Page
    • Experiment name, time & date, page refresh rate
    • Standard Menu Buttons (see below)
    • User defined buttons (e.g. alias links, run scripts, custom pages etc.)
    • run comments and condition display section (if enabled)
    • Equipment list with current running condition, number of event received, event rate, data rate for each equipment.
    • Data logging statistics (number of event recorded, data size recorder, compression factor, usage storage level) if enabled.
    • Secondary Data logging (data mover) with statistics if enabled.
    • Single line of the most recent Midas message.
    • Table of the current applications connected to this experiment.
  • Standard Menu Buttons
    • Transition the state of the run (stopped/running/paused), allows user running condition parameters to be entered at the start state (see Edit-on-start Parameters).
    • Access to the full Online Database for data display and/or data content modification.
    • Display the Message Page, which shows messages generated by the MIDAS [Message System]] as well as the user using cm_msg() functions.
    • Access to ELOG Page switches to the predefined "electronic logbook".
    • Access to the Alarms Page for monitoring the different type of alarms (evaluated, programs, internals, periodic).
    • Access to the Programs Page for a status or interaction with the current running applications part of the Midas experiment.
    • Access to the History Page for graphical data representation of any ODB variables and acquired data.
    • Access to the Midas Slow Control Bus devices MSCB Page connected to this experiment.
    • Access to the Sequencer Page control/monitoring page for Sequencer i.e. interactive loading/saving/running of a run sequence based on any ODB parameters.
    • Access to the Help Page with short-cut to the Midas Help documentation resource and other information.
  • Links
    • links to all the listed equipments invoking a dedicated page for the display and possible control of the equipment parameters.
    • link to the logger configuration (if present) for the data recording.
    • link to the possible secondary logging configuration parameters (if present).

Other features include a JSON interface and Javascript library used for implementing interactive custom pages for MIDAS experiments.

HTTPS/SSL server (mongoose)

The HTTPS/SSL server is activated using "mhttpd --mg" (instead of -p) and it listens on port 8443.

The example SSL certificate provided in midas git is self-signed, for instructions on generating your own signed certificate, remove it and run "mhttpd --mg" - it will print the correct instructions.

Documentation for the version of mongoose included with MIDAS can be found at Mongoose documentation.

For more information see Elog note 1062