Description: Cherokee is a flexible, very fast, lightweight Web server. It is implemented entirely in C, and has no dependencies beyond a standard C library. It is embeddable and extensible with plug-ins. It supports on-the-fly configuration by reading files or strings, TLS/SSL (via GNUTLS or OpenSSL), virtual hosts, authentication, cache friendly features, PHP, custom error management, and much more.
Keywords: cherokee web server httpd http

## Index → Other information → Man pages

## Man pages: cherokee-tweak

This command-line tool is also not as well known as it should. Again this is not by lack of merits, which in fact are considerable. Its intended audience are also system administrators and developers.

`cherokee-tweak` is a swiss army knife that allows to perform several administrative tasks from the command line. It can connect to a running Cherokee instance, be it in the local computer or at a remote location, and request it to perform several actions.

These actions are:

- Log rotation: `logrotate`.

- Live tracing: `trace`.

- Provide information: `info`.

- Report the list of Information Sources of a running server and their individual statuses.

- Kill remotely any information source.

This is the full information provided by the manpage.

NAME

  cherokee-tweak - Command-line interface to the administration interface of Cherokee

SYNOPSIS

  cherokee-tweak [options] URL info cherokee-tweak [options] URL sources cherokee-tweak [options] URL kill-source ID cherokee-tweak [options] URL logrotate PATH cherokee-tweak [options] URL trace TRACE

DESCRIPTION

  cherokee-tweak connects to a running cherokee instance, either local or remote, and requests it to perform one of several actions.

COMMANDS
  info

    Prints info about the server status

  sources

    Prints a list of the information sources

  kill-source

    Kill a remote information source, specified by its reported ID

  logrotate

    Rotates a local (and only local) log file specified by PATH.

  trace

    Manipulates the tracing mechanism. TRACE should be the string that specifies the modules to be traced, and Cherokee must have been compiled with the --enable-trace option for this to work. Everything traceable with CHEROKEE_TRACE can also be traced this way.

PARAMETERS
  URL

    Required before any command. This is the URL where the administrative interface can be found. This target must be defined previously in cherokee-admin, enabling a "Remote Administration" type handler (Virtual Servers→Behavior→Rule Management→Add new rule, and then Handler→"Remote Administration"). The definition of a security mechanism is highly encouraged.

  -h, --help

    Shows brief usage information

  -V, --version

    Print version and exit

OPTIONS

  cherokee-tweak accepts the following options:

  -u, --user=STRING

    Specifies the user name with which to identify to the server

  -p, --password=STRING

    Specifies the password with which to identify to the server

To use `cherokee-tweak`, an administrative interface must be defined within cherokee-admin. That is, you must define a path managed by the handler `Remote Administration`. This can be done through the Virtual Servers option, in Behavior and using the Add new rule option.

Please note that while you are at it, the definition of a security (through the Security tab) is highly encouraged. Although you have the choice to, you should never use None as security mechanism since this would leave your system exposed to third parties using `cherokee-tweak`.

Also note that the usage of the `trace` command has no effect unless Cherokee is compiled with the `--enable-trace`. This is a debugging option and it is unlikely to be present in binary version of Cherokee not specifically compiled with this in mind.

Every module traceable with CHEROKEE_TRACE can also be traced this way. Refer to the "Debugging" section of the documentation for more information on this matter.

Keep in mind one important thing: when the `trace` command is specified, `cherokee-tweak` activates the tracing functionality within the `cherokee` instance. It does not provide tracing of its own. This means the debugging information will appear in the machine that is actually running the `cherokee` instance. This may or may not be the same that is running the `cherokee-tweak` process.