Giter Club home page Giter Club logo

ecsmcons-my's Introduction

NOTE: This repo has been superseded by:

https://github.com/comptekki/esysman

--------------------------------------------------------

Erlang Computer Systems Management CONSole (or ECSMCons)
Version 1.8

ECSMCons is an Erlang based client/server computer systems 
management console in which a web browser (with websockets
support) is used to manage computer systems.


Features:

Server

Operations that can be performed on the client from the server:

Reboot, shutdown, restart or stop erlang service, ping, wake-on-lan,
when Faronics Deep Freeze is available: freeze, thaw and get status
copy file to client and run command on client.  When the All command
check box is selected, then only the checked workstations will have
that command done on them. Restrict access based on IP address and
username/password (both configurable in ecsmcons.conf).

Client

The client periodically sends messages to the server to indicate
whether the system is "Up" and which user is logged in.  It also
does the command processing sent from the server.


Todo list:

-Get client OS, applications and hardware inventory
-Create better comments/specs for functions
-Change config file (ecsmcons.conf) to use records
-Add configurations for mac and linux


Basic setup

Prerequisites:
1. Erlang (on server and client)
		http://erlang.org
2. YAWS
	  https://github.com/klacke/yaws
	  http://yaws.hyber.org/ 



Client/Server Setup

1. Server Setup
   a. erl file setup

   	  i. ecsmcons.hrl file set up as follow:
         (see ecsmcons-example.hrl in repo)

	  ii. ecom.hrl setup (for deepfreeze and windows 7)
         (see ecom-example.hrl in repo)

	 iii. create ecsmcons.conf
         (see ecsmcons-example.conf in repo)

   	  iv. compile ecsmcons.erl and ecom.erl, ecomsrv.erl, i.e. erlc ecsmcons.erl and erlc ecom.erl and erlc ecomsrv.erl

   b. create ecsmcons.app  if command line app_start is used see below
     (see ecmscons.app in repo)

   c. run these commands from bash shell:

	  erl -name node@host -pa /path/to/ecsmcons/ebin -r ecomsrv

	  or put ecsmcons ebin in yaws.conf

	  ebin_dir = /path/to/ecsmcons

   d.
	  use browser to access http://localhost:8080
	  
	  use browser to access https://localhost:8443

	  change ports to ports you set up in yaws.conf

   e.

	  in yaws.conf set up appmods for ecsmcons

        appmods = <ecsmcons, ecsmcons>
        appmods = <ecsmcons_ws, ecsmcons_ws>

   f. create /usr/local/var/yaws/www/static and copy ecsmcons/static files there or make soft links to the files

2. Windows setup

   a. copy ecom.beam to something like c:\erl on a windows system (erlang must also be installed on windows system)
   b. set windows system environment variable "Path" to include erlang (location of erl.exe)
   c. install erlang as a service
   	  i. per http://www.erlang.org/doc/man/erlsrv.html something like this:

	  erlsrv add "0ecom" -name ecom@host -w "C:/erl" -args "-setcookie my_cookie_string -s ecom"

   e. start service
   f. set firewall to allow erl.exe to allow traffic from server IP above

---------------------------------------------------------------------------

Versions
--------
1.8

-Fix Stop Win Service All
-Tweak websocket port in Erlang/JS code

1.7

-Add wuinstall command
-Move code back to yaws appmod
-Versions in this repo 1.6 and back are done with misultin

1.6

-Add /disableshortcuts to ninite command
-Fix Column selection by adding Column select button to right of L button
-Change select/unselect all to toggle all for checkbox buttons
-Add Select all and UnSelect all checkbox buttons

1.5

-Tweak CSS
-Change status/up/hosts areas
-Change workstations params format
-Add send ninite log to server message window
-Add check/uncheck all check boxes on row by clicking workstation status area
-Add check/uncheck all check boxes on column by clicking workstation command area

1.4

-Add select/unselect all
-Add example hrl data files
-Update README to reflect examples added

1.3

-Restructure coms to mostly work through anycmd command option (i.e., most commands work through a custom built .cmd script)
-Add ecomsrv.erl for server side

1.2

-Add STATIC -define remove CSS and JQUERY -define's
-Add hi-lite to a workstation to make it easier to see when it's "UP"
-Fix individual workstations copy and com dropdowns

1.1

-Add dates/times to console output
-Add total of users in each room
-Change css color for command buttons
-Add total users for all rooms
-Add dropdown for copy all
-Fix firewall

1.0

-Add monitoring to check if same user logged in to more than one machine
-Add stop windows service All option
-Add SERVER ecom.hrl -define option
-Add FAVICON ecmscons.hrl -define option
-Add refresh of console every n milli-seconds in ecsmcons.conf
-Add Thaw/Freeze confirm popups for Deep Freeze options
-Add numeric shortcut to rooms for easy moving between rooms (1-9 only)

pre 1.0

-Have clients send messages to server for workstation Up and who is logged in
-Change DOMAIN to BROADCAST_ADDR and use DOMAIN for client domain in ecom.hrl
-CSS tweaks
-Add UPLOADS path in ec.conf and ec.erl

-Up/DF visual tweaks
-Make ec.app
-Add app_start fun for starting application from command-line

-Change username/password from simple form to jquery and cookies
-Add logout to main page
-move some ec.hrl items to ec.conf

-Add IP firewall to console access and switch to turn off/on in ec.hrl
-Add username/password access to console and switch to turn off/on in ec.hrl
-Add SSL support
-Create handler for ec.css in misultin

-Update CSS
-Fix Add all check box for reboot and shutdown to not prompt individually

-Add copy All
-Add com dropdown box for each workstation and com all (send command to all workstations)
-Add check box to workstations and to "All" commands for executing commands on checked systems

-Put rooms in to divs for tabbed access

-Add software update options for Mozilla Firefox and Chrome
-Change format of Rooms list and update code to process
-Fix bug in Rooms javascript output

ecsmcons-my's People

Contributors

comptekki avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.