Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Erlang Computer Systems Management Console
Erlang CSS Shell
branch: master
Failed to load latest commit information.
config move to release
init new directory
priv/static add shutdown timer and task counter
src tweak shutdown timer
Makefile Update for Cowboy 1.0.0
README move to release
blank for certs creation
erlang.mk white space removed
extra.mk move to release
mkcert.bash renamed
relx.config move to release

README

Erlang Systems Manager
[ ESysMan ]
Version 1.2

ESysMan 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:

System functions:

- Reboot
- Shutdown
- Ping
- Wake-on-lan (PC only)
- Wake-on-lan (via service in different subnet that doesn't bridge wol packets)
- Restart/stop windows service
- Show logged on users
- Copy - copy file to workstation
- Com - run command on workstation

- Copy All - does copy to all selected workstations
- Com All - does command on all selected workstations
(see General functions below)
 
Faronics Deep Freeze functions (for PC):
(When Faronics Deep Freeze is available)

- Freeze
- Thaw
- Get freeze/thaw status

Ninite functions:

Run ninite update or run script

General functions:

- Copy a file or script to client and run 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 esysman.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
- Create layout via web app, not just edit text file
- Move .hrl vars to .conf

--------

Basic setup

Prerequisites:
1. Erlang (on server and client)
		http://erlang.org

2. Cowboy 0.9.0 (downloaded and compiled when 'make' is run)
	  https://github.com/extend/cowboy.git

3. OpenSSL for creating selfsigned certificates

4. PostgreSQL for logging
   a. epgsql is downloaded during make

--------

Client/Server Setup

1. Server Setup
   a. file setup

   	  i. esysman.hrl file set up as follow:
         (see esysman-example.hrl in src diretory)

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

	 iii. create esysman.conf
         (see esysman-example.conf in src directory)

   	  iv. run Make from a shell command prompt

      v. set up PostgreSQL, run createdb esysman then run "psql -U postgres esysman"
         then in esysman/init, run \i esysman.sql to setup esysman table and then
         set access in src/db.hrl

   b. to run, execute the following command from a shell command prompt in the esysman repo:

   	  ./_rel/bin/esysman console

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


2. Clent Setup 
   i. 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
   	     per http://www.erlang.org/doc/man/erlsrv.html something like this:

	     see init/install-ssl.cmd sample file

		 Also create a .erlang.cookie file in c:\windows and make sure it is set to readonly.

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

   ii. Linux/Mac setup

      a. copy ecom.beam to something like /usr/local/lib/ebin
      b. run script (see init directory for sample) to start ecom:

         ./start-ecom.sh

      c. set firewall to allow server to talk to client

--------

Versions
--------

1.2

-Update for cowboy 0.9.0
-Add basic centos support
-Move to release format


--------

1.1

-Update for cowboy 0.8.3
-Add basic linux/mac support
-Add S/UnS All Coms to select everything - commands and workstations


--------

1.0

-Move code to Cowboy 
	  Change history:
	  		  YAWS to Misultin because of better websocket support in Musultin
	  		  Misultin to YAWS as Misultin was EOL'd
	  		  YAWS to Cowboy as YAWS had no wss:// support
-Remove code - messages are just sent, no more call then wait process.
-Add larger log console next to Server Messages header (click + to show/hide console)
-Use Cowboy Examples make/rebar base configuration for easy setup 

-------

To see previous versions of this project (formerly ECSMCons), see:

https://github.com/comptekki/ecsmcons-my

"-my" at the end indicates misultin and yaws versions exist in the repo
Something went wrong with that request. Please try again.