The following how-to guides assumes you have already reviewed the installation overview explanation and PCI compliance explanations.
Overview Top
Note
You can access the Director to configure services at any time using http://127.0.0.1:3012
on a machine containing TM Server. Since the director uses javascript, please make sure you have the latest version of your browser installed on your machine or mobile device: Safari, Firefox, Chrome, Opera, IE 11 or Edge browsers are known to be compatible.
Important PCI Component
For PCI compliance, if TM Server is configured as a web server, it must be installed in a DMZ and separated from the rest of the network so that card holder data would never be on the same part of the lan as the DMZ.
Theatre Manager web services need 3 components set up in order to work. These are illustrated here and are:
- A firewall/router which is your connection to the internet (hardware)
- TM Server - configured as a web server. You provide your TLS Certificate to the web server.
- One or more TM Servers configured to provide services, depending on load requirements for sales
This diagram shows the flow of data for web sales. The general setup involves:
- The firewall directs incoming traffic on ports 80 and 443 to the web server from the internet. The web server is configured to elevate all port 80 traffic to use TLS on port 443.
- The web server can be on the same subnet as the firewall (or not, as you wish). This allows:
- web traffic from the internet on ports 80 and 443
- provides dynamic load balancing to a number of Theatre Manager Servers and passes web requests to port 5000 on each of those servers
- A TM Server in Services Configuration receives communication on port 5000 and talks back to the web server on internal port 8111 (a separate virtual server) to retrieve custom web pages for merging
- Some configuration of the services in Company Preferences Director Tab
The actual installation of the is described for Macintosh and Windows. While unsupported by Arts Management, you can use Linux if you know how to use apt-get and install and configure NGINX (we can provide a template nginx.conf file for you.
The diagram refers to 192.168.1.x for the internal network and is used throughout the documentation as a sample lan addresses. Your IP addresses may be different
Install TM Server Top
Only install TM Server ONCE on a machine. Once installed, TM Server will auto update itself.
The TM server functions for both web server (using NGINX) and web services. This section contains instructions for:
- Downloading and installing TM server for Macintosh or Windows
- Starting the second generation Theatre Manager server for with purposes on the appropriate platform. Theatre Manager server can be configured later:
- as a web server
- OR for providing services for web and email
Tm Server should be installed on machines with multiple processors. For best results:
- As a web server
- Use at least a dual core machine with hyper threading
- As a web services machine
- Use at least a 4-core machine with hyper threading
Mac OS Top
OSX File Location Top
If you run into a situation where a TM Server will not start up, you can delete the preferences file and start over. Open Terminal and type: cd ~/Library/Application Support/Theatre Manager Server
and then rm -rf config.json
.
For classic listeners run and managed by the TM Server on OSX. There is a temporary file created in /var/root/Library/Caches/Theatre\ Manager\ Server/TheatreManagerRunTime/Libraries that tells the classic listener how to startup. It cannot be edited or changed by a user as it is re-created each time the classic listener starts.
Installing Top
In recent versions of OSX, you may need to make a temporary change in System Preferences after downloading the installer for it to work.
You normally only need to TM Server ONCE on a machine as it will auto update itself. If, however, there are unusual issues, reinstalling TM Server can be done at any time. Only if you are VERY stuck, you may need to type the following command in Terminal prior to re-running the installer: sudo launchctl unload /Library/LaunchDaemons/com.artsman.theatremanagerserver.plist
Click the installer and then click Continue.
Click Continue.
Read the license and click Agree.
Enter your admin password (or use your finger if the machine as touchID enabled).
Let the installer run.
Click Close.
Step 9
Turn off Airplay Mirroring in since that has a conflict port port 5000 used by Theatre Manager. This problem seems to have begun in Monterey.
Starting the NGINX Server Top
Make sure the user autologin is set. On OSX, a user MUST be AUTO logged in to run TM server (classic services). In most versions of OSX, the screen can be locked, but sometimes not.
Use Terminal to start or stop the TM Server on OSX.
- Open Terminal
- To completely stop and restart the server (this should have already been stopped during the install process), you will need to enter the following commands:
sudo launchctl unload /Library/LaunchDaemons/com.artsman.theatremanagerserver.plist
sudo chown -R root:wheel /Library/Application\ Support/TheatreManager/
sudo chown root:wheel /Library/LaunchDaemons/com.artsman.theatremanagerserver.plist
sudo launchctl load /Library/LaunchDaemons/com.artsman.theatremanagerserver.plist
- Use the Director to configure the second generation server for the first time.
- Disable all power saving settings on OSX so that the server doesn't go to sleep - it's not a good idea for it to do so for web sales.
Troubleshooting Top
You can test and troubleshoot the Theatre Manager Server on OSX using any of the following tools. If you bring up this web page on the nginx server, the links below should work directly by clicking in them. If not, substitute your web server IP address for 127.0.0.1 in all links below.
- Director
- Use the Director web page to verify the second generation server management process is running.
- You can use the console log to verify errors on start up.
- If you see that it cannot connect to the database, then verify that you put the IP address and Database name into the right fields in the director window
- If you see a console message that says the schema is incorrect versions, the second gen listener should download the latest and install it. if it does not, manually stop and start the second gen listener via the terminal
- If you get a message that indicates trouble with editing json preferences, you may need to use the following command in terminal to remove the preferences file and start again:
sudo rm "/var/root/Library/Application Support/Theatre Manager Server/config.json
- Activity Monitor
- In Activity Monitor, if you view the list of processes, you should see a number that are named Theatre Manager Server if it started properly.
- Virtual Host Test
- You can test for a direct response to retrieving a page on the virtual server.. If the Theatre Manager Server is on 127.0.0.1, then the link below should elicit a response that shows a page that has not been merged. If you get Page Not Found or some other error, then the virtual host is not set up correctly:
http://127.0.0.1:8111/1/WebPagesEN/tmTickets.html
- You can test for a direct response to retrieving a page on the virtual server.. If the Theatre Manager Server is on 127.0.0.1, then the link below should elicit a response that shows a page that has not been merged. If you get Page Not Found or some other error, then the virtual host is not set up correctly:
- Eternal Probe
- If you want to check the general health periodically of the second gen server, then use the following URL to ask for the time from the second generation listener:
http://127.0.0.1/TheatreManager/1/time
(replace /1/ with your outlet number) - If you want to query through the second generation listener to see if a classic listener is running, then add
&force_proxy
to the URL. This talks through the second generation to the classic and, in effect, tests both at the same time:http://127.0.0.1/TheatreManager/1/time&force_proxy
- If you want to check the general health periodically of the second gen server, then use the following URL to ask for the time from the second generation listener:
Windows Top
Windows File Location Top
If you run into a situation where a TM Server will not start up, you can delete the preferences file and start over. Navigate to the directory: C:\Windows\system32\config\systemprofile\AppData\Local\Arts Management Systems\Theatre Manager Server and then delete the config.json.