Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Erlang CSS Batchfile Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
Erlang Systems Manager [ ESysMan ] 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 2.0.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.5 -Update for cowboy 2.0.0-rc.2 -Add downloads folder -Add upload to downloads interface ------- 1.4 -jQuery ui'd buttons, popups, etc. -Add T to toggle workstation commands area ------- 1.3 -Update to cowboy 1.1.2 -Add a script/file manager -Add a simple lock screen -Add support for four web browser consoles -------- 1.2 -Update to cowboy 0.9.0 -Add basic centos support -Move to release format -------- 1.1 -Update to 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