Nscp

From AOLserver Wiki
Jump to: navigation, search

See: SF CVS: aolserver/nscp/nscp.html

NaviServer includes a control port interface that can be enabled with the nscp module. This control port interface allows you to telnet to a specified host and port where you can administer the server and execute database commands while the server is running.

The control port interface is a Tcl interface. Within it, you can execute any Tcl command that Tcl libraries and ADP can; the only exceptions being the ns_conn commands.

To administer a server with the control port interface while it is running, the nscp module must be loaded into the server. To set permissions for the server, the nsperm module must also be loaded. To execute database commands while the server is running, you must also configure database services for the server, including database drivers and pools.

Configuring the Control Port Interface
#
# Control port -- nscp
#
ns_section "ns/server/${servername}/module/nscp"
ns_param   port            9999        ;# Control port listens on port 9999
ns_param   address         "127.0.0.1" ;# For security, use 127.0.0.1 only
# Control port users
ns_section "ns/server/${servername}/module/nscp/users"
# The default password for nsadmin is "x". You should change it.
# type "ns_crypt newpassword salt" and put the encrypted string below.
ns_param user "nsadmin:t2GqvvaiIUbF2:" ;# sample user="nsadmin", pw="x".
ns_section "ns/server/${servername}/modules"
# ...
ns_param   nscp               nscp.so

Some things to notice about the configuration are:

  • The port parameter defines the port that the interface will listen on. The default is 9999.
  • The address parameter defines the hostname to bind to. The default is 127.0.0.1 so that you can only connect to the control port if you are already logged on to the computer where the server is running.
  • The user parameter defines users who can log into the control port. There are three semicolon-separated fields. The first is username (nsadmin); the second is a Unix-like password hash. You can create a password by typing "ns_crypt mypasswd salt". As with Unix, only the first four characters are used.


 An example to use Control Port Interface
 
 # telnet localhost 9999
 login: nsadmin
 password: x
 Welcome to servername running at /usr/local/ns/bin/nsd (pid 22413)
 NaviServer/4.99.2 for linux built on Sep  7 2006 at 20:38:59
 CVS Tag: $Name$
 servername:nscp 1>


Useful Commands

Type "lsort [info commands]" for a complete list of commands available to you. You can type nearly any Tcl command available to NaviServer Tcl libraries and ADPs. This includes the complete Tcl core and nearly any ns_* command. Type "lsort [info commands ns*]" for a sorted list of NaviServer Tcl commands.

Useful commands:

  • ns_shutdown -- Shuts down the server.
  • ns_info uptime -- How long the server has been running.
  • ns_info threads -- How many threads are running
  • exit -- Exit the control port.