====== Running TapeTrack Utilities via Apache CGI ======
Configure Apache on Windows to allow execution of TapeTrack command-line utilities (such as TMSS10Inventory.exe) directly from a web browser using CGI.
This is useful for generating TapeTrack reports (CSV, text, etc.) through a simple URL call.
===== Overview =====
By default, Apache only executes CGI programs from a configured CGI directory (normally /cgi-bin).
To run TapeTrack executables without copying them into Apache’s CGI folder:
* Create an Apache ScriptAlias pointing to the TapeTrack executable directory
* Enable ExecCGI for that directory
* Allow Apache to treat .exe files as CGI scripts
===== Prerequisites =====
* Apache 2.4 installed on Windows (example path: C:\Apache24)
* TapeTrack Server Utilities installed (example path:C:\Program Files\TapeTrack\TapeTrack Server Utilities\bin\tapetrack)
* Apache running as a Windows Service or console process
===== Locate the TapeTrack Executable Folder =====
TapeTrack utilities are typically located in:
C:\Program Files\TapeTrack\TapeTrack Server Utilities\bin\tapetrack
Some installations may place the TapeTrack install on anther drive, such as D
===== Edit Apache Configuration =====
Open the Apache configuration file: C:\Apache24\conf\httpd.conf
Add the following configuration near the existing ScriptAlias section.
Add this line:
ScriptAlias /tapetrack/ "C:/Program Files/TapeTrack/TapeTrack Server Utilities/bin/tapetrack/"
This creates a new URL path:
http://localhost/tapetrack/
which maps directly to:
C:\Program Files\TapeTrack\TapeTrack Server Utilities\bin\tapetrack\
===== Enable CGI Execution for .exe Files =====
Add this directory block:
\\
AllowOverride None
Options +ExecCGI
Require all granted
AddHandler cgi-script .exe
This tells Apache allow CGI execution in this folder, treat .exe files as CGI programs.
===== (Recommended) Restrict Access to Localhost Only =====
For security reasons, it is strongly recommended to restrict execution of TapeTrack executables to the local machine only.
Replace:
Require all granted
with:
Require local
Final recommended configuration:
ScriptAlias /tapetrack/ "C:/Program Files/TapeTrack/TapeTrack Server Utilities/bin/tapetrack/"
AllowOverride None
Options +ExecCGI
Require local
AddHandler cgi-script .exe
===== Restart Apache =====
After saving httpd.conf, restart Apache.
From an Administrator Command Prompt:
net stop Apache2.4
net start Apache2.4
Or restart Apache via Windows Services.
===== Test Execution in Web Browser =====
Open a browser and visit:
http://localhost/tapetrack/TMSS10Inventory.exe?S=user:-pass@localhost
Replace user and pass with actual username and password.
If CGI is configured correctly, Apache will execute the program instead of downloading it.
=====Running TapeTrack Inventory Report from Browser =====
TapeTrack utilities accept command-line arguments. CGI allows passing arguments via the query string.
Example command normally run from command prompt:
TMSS10Inventory.exe -S user:-passsword@localhost
To run this through the browser, use:
http://localhost/tapetrack/TMSS10Inventory.exe?S=user:-pass@localhost
Notes:
? begins the argument list
spaces are replaced with +
To avoid using your password in plain text in the URL, create a file C:\tapetrack\pw\user where user is the username and the contents of the file is the users password. The -S arg only needs to specify -S user@locahost and the password will be looked up by the process.
Attributes are separated using the & symbol
=====Setting Report Format =====
TapeTrack utilities can output different formats depending on environment variables.
To force CSV output, the variable may be required, in a command prompt:
TMSSREPORTFORMAT=CSV
Other formats are text (default), PDF & Excel.
Using CGI, to set the report format locally, use the variable RPT
http://localhost/tapetrack/TMSS10Inventory.exe?S=user:-pass@localhost &RPT=CSV
Or if the report format stays as CSV, you can set the value globally.
Add the following to Apache configuration (inside global scope):
SetEnv TMSSREPORTFORMAT CSV
Restart Apache after making changes.
This forces TapeTrack utilities run via Apache CGI to output in CSV format.
===== Report Variables =====
All report [[variable:start|Variables]] can be used similar to the command line interface, with the exception of syntax.
A command line example of calling TMSS10Inventory, with access details, customer filter and CSV output.
set TMSSREPORTFORMAT=CSV
TMSS10Inventory -S user:-pass@localhost -V UK01.*.*
Apache/CGI
http://localhost/tapetrack/TMSS10Inventory.exe?S=user:-pass@localhost&V=UK01.*.*&RPT=CSV
===== Example: Generate CSV Inventory Report =====
Once TMSSREPORTFORMAT is set, run:
http://localhost/tapetrack/TMSS10Inventory.exe?user:-pass@localhost
The browser should display the CSV output, or prompt to open it in Excel.
===== Security Warning =====
Executing .exe files over HTTP is powerful and potentially dangerous.
Recommendations:
* Use Require local to limit access to the machine only
* Do not expose this server to the internet
* Consider firewall restrictions
* Only allow execution in a controlled folder
{{tag> reports utils cgi apache technote cli}}