Act! Companion Mobile App Setup on Self-Hosted Server
Act! Companion is the official Act! mobile app by Swiftpage for iOS and Android.
It relies on retrieving data using the new Web API. This is faster and more efficient than using the mobile web browser version of Act! Premium for Web (APFW). Server packet requests are smaller, and the app is more stable.
This guide also assumes that APFW is set up as the default website in IIS, and that you can use the default ports 80 and 443 for http and https. If your server is co-hosting other applications or your ports are restricted, you may need to deviate from these steps.
Requirements:
- Act! Premium Subscription
- Windows Server w/ IIS hosting APFW.
- Act! Web API
- Act! Companion installed on your phone
- Access credentials to your router & domain provider DNS settings.
Section 1: Set up APFW & Web API
Skip to step 2 if you already have these running. I will keep this section as concise as possible, just a general overview. If these steps sound confusing, please call us at 716-837-5727.
Your server must use the Act! Premium (Web) application. Downloads here. The standard Premium desktop version does not include IIS components. Install the (Web) edition, using default settings, and IIS will be configured using the Default Web Site.
At the end of the installer, Act! will prompt you to install the Web API. Do it. If you have Act! Premium (Web) installed but not the Web API, you can install it from the Act! installation media. Browse to C:\<act_prem_web>\Setup.exe and install Web API.
To set up APFW, log in to the database and go to Tools > Web Site Administration. A panel appears, with four tabs along the top acting as a setup wizard. Confirm the settings on each tab to add the database to IIS.
Confirm that your database is accessible in a web browser on the server at localhost/APFW.
Confirm that your database is accessible on the local area network (LAN) by browsing to the server’s local IP from another computer on the network. To find out your local IP, open a command prompt and type ipconfig /all. Common local IP addresses are in the 192.168.1.x block range. Other useful data about network configuration is displayed here, keep it for later.
Next step, you’ll need your web server to be accessible from outside the network. Go into your Control Panel\Network and Internet\Network Connections so that you are viewing the network adapters for your server. Open the properties of your ethernet adapter, and then edit the IPv4 properties. Disable automatic assignment of the IP addresses, you should instead manually assign the network settings as they currently are in ipconfig. You don’t want these to be changing around in the future due to DHCP.
Last but not least, you need to log in to your router. Open a web browser and type in the router’s IP address (this is the default gateway address in ipconfig). Find the settings for port forwarding. Add a port forwarding rule so that all traffic for Port 80 forwards on to the local IP for the server, and add another port forwarding rule for Port 443 traffic to forward onto the server.
Find out your server’s external IP address (simply google What’s My IP is the easiest way), then try loading that address from a device outside of the network (for example, your phone using cell data non-wifi). If you see the IIS splash screen, and can try the /APFW suffix, you’re good to move on to step 2.
Section 2: Creating the self-signed certificate in IIS
- Open IIS
- Click on the server name
- Double click on Server Certificates icon in the IIS section
- Click Create Self-Signed Certificate in the right sidebar
- Give the certificate a name; the name of your company (without spaces) is just fine.
- Choose Web Hosting as the option from the dropdown.
- Press OK to save.
- Click Enable Automatic Rebind of Renewed Certificate in the right sidebar.
Section 3: Edit Bindings
- Click Default Web Site in left sidebar
- Click Bindings… underneath Edit Site in the right sidebar
- The site bindings window appears. You should see http binded to port 80 already present. Click “Add…”
- The Add Site Binding panel appears. Choose https for the type in the dropdown. The port should be set to 443.
- Leave the host name field blank. Do not require server name indication.
- In the SSL Certificate dropdown, choose your self-signed cert from Section 2.
- Press Ok, then Close the bindings window.
Section 4: Restart server & forward port 443 on router
Forwarding port 80 is mandatory. I am unsure if forwarding 443 is also necessary, but it does not hurt. Certain packet requests by the app may be using 443, so it’s good to ensure they’re not dropped.
- Restart server.
- Log in to your router, find the port forwarding settings, and make sure that both ports 80 and 443 are opened, for both TCP & UDP. Have incoming traffic on these ports forward to your server’s internal IP.
Section 5: Configure domain DNS ‘A Record’
- Log in to your domain name registrar (Common ones are GoDaddy, Network Solutions, HostGator, etc.)
- Your provider will probably have more specific instructions for setting up an ‘A Record’, search on google.
- Add an ‘A Record’ for act.yourdomain.com and set it to forward to your server’s external IP.
- No need to specify a particular port or anything.
- Technically this change can take up to 24 hours to take effect, but in practice it’s more like a couple minutes. Wait for a few moments and test it out.
Section 6: Enter settings in Act! Companion and log in
- Download & launch Act! Companion
- User Name: your Act! username
- Password: your Act! password
- Server Address URL: http://act.yourdomain.com/APFW
- Server Database Name: Your exact DB name
- Login
IMPORTANT Notice that we use ‘http’ instead of ‘https’ in the server address URL.
Section 7: Buy me a beer and say thanks.
Just kidding 🙂
Thank you for reading! Call me (Stephen Boulden) directly at 716-803-6976, or email me at stephen@twelvethree.com . Here to help.