A command line tool and python library for managing a tomcat server.
Project description
If you use Apache Tomcat for any sort of development work you’ve probably deployed lots of applications to it. There are a several ways to get your war files deployed:
use the Tomcat Manager application in your browser
use the Tomcat Ant Tasks included with Tomcat
use Cargo and its plugins for ant and maven
Here’s another way: a command line tool and python library for managing a Tomcat server.
How Do I Use It?
This package installs a command line utility called tomcat-manager. It’s easily scriptable using your favorite shell:
$ tomcat-manager --user=ace --password=newenglandclamchowder \
http://localhost:8080/manager deploy local sample.war /sampleapp
$ echo $?
0
There is also an interactive mode:
$ tomcat-manager
tomcat-manager>connect http://localhost:8080/manager ace
Password:
--connected to http://localhost:8080/manager as ace
tomcat-manager>list
Path Status Sessions Directory
------------------------ ------- -------- ------------------------------------
/ running 0 ROOT
/sampleapp stopped 0 sampleapp##9
/sampleapp running 0 sampleapp##8
/host-manager running 0 /usr/share/tomcat8-admin/host-manage
/manager running 0 /usr/share/tomcat8-admin/manager
And for the ultimate in flexibility, you can use the python package directly:
>>> import tomcatmanager as tm
>>> tomcat = tm.TomcatManager()
>>> r = tomcat.connect(url="http://localhost:8080/manager",
... user="ace", password="newenglandclamchowder")
>>> tomcat.is_connected
True
>>> r = tomcat.stop("/someapp")
>>> r.ok
False
>>> r.status_message
'No context exists named /someapp'
What Can It Do?
Tomcatmanager has the following capabilities, all available from the command line, interactive mode, and as a python library:
deploy - deploy a war file containing a tomcat application in the tomcat server
redeploy - remove the application currently installed at a given path and install a new war file there
undeploy - remove an application from the tomcat server
start - start a tomcat application that has been deployed but isn’t running
stop - stop a tomcat application and leave it deployed on the server
reload - stop and start a tomcat application
sessions - show active sessions for a particular tomcat application
expire - expire idle sessions
list - show all installed applications
serverinfo - show information about the server, including tomcat version, OS version and architecture, and jvm version
status - show server status information in xml format
vminfo - show diagnostic information about the jvm
threaddump - show a jvm thread dump
resources - show the global jdni resources configured in tomcat
findleakers - show tomcat applications that leak memory
sslconnectorciphers - show tls ciphers configured for each connector
sslconnectorcerts - show tls certificate chain for each virtual host
sslconnectortrustedcerts - show trusted certificates for each virtual host
sslreload - reload tls certificate and key files
Documentation
Complete documentation for the last released version is available at http://tomcatmanager.readthedocs.io/en/stable/. It includes material showing how to use tomcat-manager from the command line or using interactive mode. There is also a walkthrough of how to use the API and an API reference.
Documentation is also built from the develop branch, and published at https://tomcatmanager.readthedocs.io/en/latest/. The develop branch may not yet be released to PyPi, but you can see the documentation for what’s coming up in the next release.
Installation
You’ll need Python >= 3.8. Install using pip:
$ pip install tomcatmanager
Works on Windows, macOS, and Linux.
Works with Tomcat >= 8.5 and <= 10.1.
Tomcat Configuration
This library and associated tools do their work via the Tomcat Manager web application included in the Tomcat distribution. You will need to configure authentication in tomcat-users.xml with access to the manager-script role:
<tomcat-users>
...
<role rolename="manager-script"/>
<user username="ace" password="newenglandclamchowder" roles="manager-script"/>
...
</tomcat-users>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file tomcatmanager-7.0.1.tar.gz
.
File metadata
- Download URL: tomcatmanager-7.0.1.tar.gz
- Upload date:
- Size: 134.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02f1b8e5dc1b10a94ffa0cef27373616d0fd41a3fe658d71481bdada8f3faa43 |
|
MD5 | 6410b5eda6bf598e4f9d3e5cf218ec6d |
|
BLAKE2b-256 | 1f65d93427def594263cc132ce7a8bcf4192fe020648319a4eab9f8dc61b34b7 |
File details
Details for the file tomcatmanager-7.0.1-py3-none-any.whl
.
File metadata
- Download URL: tomcatmanager-7.0.1-py3-none-any.whl
- Upload date:
- Size: 52.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b06c7cf8c34f3b3220a0f7da4eb11467157aa4751f6344ab6cfefb98f21f69d |
|
MD5 | 4935b0a3181aa4cf7adb83252947a333 |
|
BLAKE2b-256 | 5e602c970ab672bc9122d8c1ab192efb08e4137d3ad09fb992ae9e6cc0192a74 |