NOTE: As of 8/26/11 this article hasn’t been fully vetted. I think everything here is correct, but for the time being I must warn you that you should use this info at your own risk. Hope to have this vetted and, if necessary, corrected by the end of this month.
*
Congratulations! You’ve got an iOS device like an iPad or an iPhone, and you have the appropriate version of FileMaker Go installed on it. Naturally, what you want to do now is connect to a FileMaker database like CMAX.7 or GOODBOOKS2.fp7 while you’re away from your office. If you are the only person who uses the database and you don’t mind accessing it only on your iPad, you can just transfer the database to the iPad and be done with it. You can now open it anywhere you’ve got the iPad, whether you have network access of any sort or not.
But let’s say you’ve got a database hosted on a server back in the office. Other users in the office connect to it from their computers using FileMaker Pro. You probably do the same thing when you’re in the office. But when you’re away, you want to connect with FileMaker Go. This article explains how.
Before you can connect to your database using FileMaker Go from outside your office’s local area network, you’re going to need to do three things:
- configure the database host machine so it has a fixed address in your internal network;
- configure the router to open up ports (little doors in your firewall) for FileMaker to use; and
- learn the IP address of your router.
IP addresses, public and private
But first, just in case you’re new to networking, let me explain IP addresses and how they are used.
All of the “places” that you can visit on the Internet are identified by “IP” (Internet Protocol) addresses. By “places”, I mean web sites, FTP servers, the server where you get your email, and many other services. An IP address is a string of four short numbers separated by dots, like this: “123.456.7.8“. IP addresses are used to identify devices — computers, printers, routers — on an IP network.
The biggest IP network is, of course, the Internet itself. When you connect to a web site by name (say “http://polytrope.com”) or to your mail server (say “pop.youremaildomain.com”), what you’re actually doing is asking a domain name server to look up that name in a kind of Internet phone book and get that domain’s IP address (a kind of public phone number) and then connect to that address. The internet comes to your office and connects initially to a router. The router has an IP address that identifies it on the Internet; this IP address is something like your office’s main phone number.
Now, inside your office, you probably have multiple computers on an internal or private network. These computers also have IP addresses, but they are internal IP addresses. Usually these begin with “192.168″ (or sometimes, “10.10″). The full address for a particular machine inside your office might be 192.168.1.12. An internal network IP address is kind of like an intraoffice phone extension. Normally, the firewall settings in your router prevent people outside your office from seeing or accessing the machines on your internal network.
Giving the host machine a fixed address
The “host machine” is the computer in your office (or possibly somewhere else, like a hosting service such as Point in Space or Digital Forest) that is running FileMaker Server and hosting your database.
If you are using a hosting service like Point in Space, the host machine is already configured for you. You just need to get the IP address of the machine.
On the other hand, if you are using your own host machine to serve your database, you should configure that machine so that it has a static IP address on your internal network. On a Mac, you’d do this in the Network panel of the System Preferences utility. Many if not most internal networks these days use a system called “DHCP” to assign temporary IP addresses to machines as needed. When a machine boots up in the morning, it gets an IP address for the day from the router; when it shuts down, it surrenders that IP address, which can now be assigned, if necessary, to a different machine.
Technically, the host machine doesn’t need a static IP address for you to connect to it using FileMaker Go. But if the host machine is getting a different IP address assigned every day (say, 192.168.1.2 on Monday and 192.168.1.7 on Tuesday), you won’t easily know what IP address to connect to. You would have to call the office and ask somebody to tell you what the host’s current IP address is or guess until you get it right. Configuring the host to have a fixed or static IP address makes it possible for you to connect to your database again and again with confidence.
Configuring the router for remote access
I’m going to go through this part — the hard part — rather quickly because there are a number of variables here, depending on the type of router you’re using, the operating system of the host computer (the one running FileMaker Server) and the design of your network. I’m going to try to explain the basic ideas but you will have to sort the details out for yourself.
First, you must configure “port forwarding” on your office router. The router is the device that is the gateway to the Internet from your office. Port forwarding is kind of like call forwarding on a telephone. Somebody calls you at 555-555-1234 and, because you’re set your phone up to forward calls, the call rings your phone at 555-555-6789. Port forwarding allows people outside your office network to connect to your router and ask for a particular port, and then get connected to a particular computer inside your network. The port number (say “5003″) is sort of like a phone extension.
For info on how to configure port forwarding for FileMaker Server, go here:
How to setup a router for FileMaker Remote Access
Let me note that there may be some variation in how you get to your router’s configuration screens. On most of the wireless routers that I’ve used in the past 10 years, I access the router’s configuration pages through the web browser on my desktop computer. I have to know the router’s IP address (say, 192.168.1.1) and I have to know the admin username and password. But I think some other routers can be accessed differently, perhaps through a utility program that you run on a computer. You’ll have to look at your router’s documentation, if you don’t know.
Once you are “in”, to configure the router, you’re going to open up two “ports” in the router and have them point to the host machine. You must know the host machine’s IP address to do this. The article I linked to above tells you how to find the host IP address if the host machine is a Mac. To get the server machine’s IP address if it’s not a Mac, you can do either of two things. If FileMaker Pro can “see” the server from a client machine inside your office — say, your desktop computer — then open FileMaker Pro, go to File > Open Remote… and select the host name in the hosts list on the right side of the hosts dialog. When you select the host by name, you’ll see its IP address appear in the “Network File Path” down below. Alternatively, if the server is running Windows XP, sit down in front of the server machine and do this:
- Go to Start menu and select Run…
- Type “cmd” (without the quotes) and hit Enter/Return
- Type “ipconfig /all” (without the quotes and with a space before the slash) and hit Enter/Return
That should display a screen that will reveal the computer’s IP address. Once you know that, follow the rest of the directions in the article I linked to, to set up port forwarding. As shown in the screen shot in the article, you will want to set up TCP/UDP port 5009 for FileMaker, and set up TCP/UDP port 5003 for VNC. It’s not important that you understand these terms or know where the port numbers come from.
When you have configured the router, the hard part is over, and it’s time to connect to your database.
Connecting to the database on your iOS device
Go to your iPad (or other iOS device) and launch or open FileMaker Go. The first time you try to connect, in the list of Remote Files and Hosts on the right side of the startup screen, click the server icon that has a plus sign (+). Then type your server’s IP address. This will be the IP address of the router followed by a colon and the port number for FileMaker Server (5003). It should look like this:
123.456.78.9:5003
As far as I know that’s not a real IP address. The first part of the IP address, before the colon, is the public address of your router. In my example, this is 123.456.78.9 but it will of course be something different for your router. The part after the colon is the port you opened up for FileMaker Go; it will always be 5003. You should give the server a descriptive name for future reference and save it.
Once you click Save, if everything has been configured properly, you should see a listing of the databases being hosted under FileMaker Server on your office’s host or database server machine. Select a database and open it! To reconnect to the same server later, you should be able simply to select it from the list of Favorite Hosts.
Two final notes about speed, and security
Be aware that 3G networks don’t transfer data as fast as your office’s ethernet or wifi network does. Depending on the design of the database you are accessing and the speed of your cellular data service from AT&T or Verizon, it’s possible that your experience using the database could be a bit frustrating at times.
It is also very important that you understand that, once you’ve opened up that port and made your database accessible to the outside world, the database is, um, accessible to the outside world — meaning anybody in the world can see it. Every database on your network should require that anyone trying to open it provide a good account name and a strong password.