MemberTies can be setup to run on a any TCP/IP network, enabling multiple users to connect to the database at the same time, up to the number of users allowed by your license. In this scenario, the server will be running on one host computer, and users will connect to the database on that computer, rather than to a local database on their own computer. The key is that each computer needs to have TCP/IP enabled (see your network administrator if you aren't sure), and the server computer needs to have port 3310 enabled (if using a firewall, for example), because the server will "listen" on that port by default.
Note: The computer hosting the server can also be used as a normal workstation. It does not have to be dedicated solely as a "server."
Note: It is best to setup the server to run as a Windows service when running multiple users. This ensures the database server is always started on the server machine. See Running the Server as a Windows Service for instructions.
The first thing to do is decide which computer that will be hosting the server. We'll refer to this computer as the "Server Host" throughout this procedure. The Server Host is where the database other people connect to will actually reside. You will need to know the IP Address of this computer. If you don't know the address, try the following:
Finding the Server IP Address
|1||Click the Start Button and choose Run.|
|2||Type "cmd" and click OK.|
|3||When the command prompt window appears, type "IPCONFIG" and press ENTER. You should see output similar to the following:|
In this example, the Server Host's IP address is: 192.168.0.2
Don't worry about the Subnet Mask or Default Gateway entries.
|4||Write down this address, you will need it later.|
Set Up the Server Host Computer
The Server Host is the only computer you need to create a database on, because the other users will be connecting to this one. If, in the future, you want to create a local database on one of the other computers, you can still do that, but for this procedure it doesn't apply.
|2||Start MemberTies and follow the appropriate procedures to either create a database or connect to an existing database.|
|4||Start the Server Utility (choose Start > Programs > MemberTies > Local Database Server)|
|5||Use the server window to change the Server IP Address from "localhost" to the IP address of this computer.|
Take note of the Server Port (3310). If you are using a firewall, be sure this port is open for TCP traffic within your network. Refer to your firewall documentation if you don't know how to do this.
|7||Shutdown and restart the server.|
The server is now listening for connections, and is bound to the IP address of the Server Host computer.
|8||If necessary, start MemberTies as the administrator and add users.|
Set Up Other Users' Computers
|1||Install MemberTies normally.|
|2||Start MemberTies but STOP on the Login window. If the "No Database Found" window appears instead of the Login window, click Search and then skip to step 4 below.|
|3||On the Login window, choose "Specify New" from the database dropdown.|
|4||On the New Database Profile window, enter a Profile Name to represent the database on the server. For simplicity, you might want to use the same name that you used on the Server Host computer, but you do not have to.|
|5||Click Choose Existing Database.|
|6||On the Choose Database window, select the option called, "Remote Database (on another computer)" The remote database fields will be displayed.|
|7||Complete the following fields:|
IP Address - If this computer is part of your local network, enter the IP address of the Server Host computer obtained above.
If this computer is OUTSIDE your local network (possibly connecting via the Internet), you will need to use the IP address that is exposed to the outside world (because from outside your network, the IP address of the server host is not visible or accessible). For most home users with broadband internet access, this address will be the IP address of the broadband modem. If you don't know the "outside" IP address, it will probably be displayed in your Firewall software or your router. In addition, if you have a router you will probably need to tell it to pass port 3310 requests on to the IP address of the Server Host computer. Refer to your router/firewall documentation if you do not know how to do this.
If you are not running a firewall of some kind, you should never expose your database to the Internet. In fact, you shouldn't be using the Internet at all without a firewall, because you're exposing all of your personal information to thousands of internet worms, scans, and other sorts of attacks. Even if you think nothing on your computer is of any value, consider that you're also offering your computer up to be taken over by an attacker and used as a slave machine to attack other computers on the Internet. Get a firewall.
Port - Enter the Server Port number noted earlier. This is normally 3310.
Folder Name - should contain the name of the actual database folder on the server. This is not a full path and it is not necessarily the same as the display name shown in the Database dropdown on the Login window. If you go to the Server Host computer and click the Database dropdown on the Login window, there will be two names displayed for the database: Database Name and Folder Name. The Folder Name shown is the simple database folder name to use on this window.
|8||Click OK to return to the New Database Profile window. The Database Folder field should now show something like, "192.168.0.2:3310/mydatabase". |
|9||Click OK to return to the Login window.|
Now you have a profile that will connect to a database on the Server Host, rather than starting a local server for a local database. Remember that the server must be running for any connections to work.
|10||Try to login. If you cannot connect, verify the following:|
|•||Be sure the server has been started on the Server Host. You may need to contact your database administrator to verify this.|
|•||Be sure the database profile is pointing to the correct database folder name on the server host (remember, this is not a complete path, just a folder name)|
|•||See if you can "ping" the server host computer's IP address. Choose Start > Run, type CMD, and press Enter. At the command prompt type (for example): "ping 192.168.0.2" If the ping doesn't work, you have network problems that need to be solved.|
|•||Examine the diagram below to see if you've misconfigured anything.|
Note: If the Server Host is open to the Internet, the database can be accessed from anywhere in the world. You need to be careful if you do this, and be sure that any users you create have secure passwords. (There are programs on the internet that will scan for an open port 3306 and look for a MySQL database. This is the reason MemberTies defaults to port 3310 instead.)
Example of Internal (local) and External (remote) Connections
This graphic example depicts 10 connections, 5 coming from outside the local network (the computers at the top) and 5 coming from inside the local network (the computers at the bottom).
|•||External Network Connections - shown at the top of the illustration, have to pass through the firewall to get to the server host computer. Therefore, they use a profile that points to the IP address of the modem, because that is the "doorway" into the internal network where the server host resides. The firewall protecting the internal network has also been configured to keep port 3310 open, and direct requests inward to the server host computer's IP address. (Note that the host computer may have it's own firewall, such as the one installed with Windows XP. You may need to enable port 3310 on that firewall as well.)|
|•||Internal Network Connections - shown at the bottom of the illustration, can see the server host computer directly. Therefore they have profiles defined that point to the server host IP address instead of the modem address.|
There are some things you should do to increase the security of your database:
|•||Limit user accounts - be sure that you only have the user accounts that you actually need. If someone leaves your organization, remove or at least deactivate their account so that nobody can login using their credentials. |
|•||Change the mtadmin password. The default password for this account is just "password", and since it's documented in the Help, anyone can know what it is. Be sure to change it to something more secure.|
|•||Secure the computer where the database physically resides. Don't use it for children's games, internet surfing, or other things that can introduce viruses or worms that could be seeking out database information. Also remember that anyone with physical access to a computer can eventually bypass any security.|
|•||Consider hosting the database with Myrro International and connecting to it remotely. That way a major computer crash or theft on your end won't take your database with it.|
The following problems are most commonly encountered by users trying to setup a remote connection:
|•||The computer running the server has received a new IP address, so now the remote computers can't see it because they have database profiles set up and pointed to the old IP address. Update the remote profiles on the remote computers (see example below to update the profile from the login window), OR change the IP address on the server computer back to what it was before.|
|•||A full path was entered instead of just the database folder name for the profile. This is by far the most common issue! The database folder entry should be something like, "mydatabase", NOT c:/long-path-to-some-folder/mydatabase/|
Note that you can modify a profile directly from the Login window to correct a typo or other error. Just select the database you want, then right-click and choose Modify Database Profile from the popup menu. Make your changes and save, the then try to login again.
|•||The server utility has the Server IP Address set to "localhost" instead of the actual public IP of the server machine. Correct the IP address on the server utility on the server computer.|
|•||The port (default is 3310) is not open. Consult your firewall documentation to determine how to open the port.|
|•||Windows is blocking the mtmysqld.exe program. Consult your firewall documentation to determine how to allow the program.|
|•||The database server computer is running, but the server software has not been started. The server software can be started either by logging into MemberTies once (you can exit afterward), or by starting the Server Utility and starting the server manually. You can also setup the server to run as a Windows service so it starts automatically when Windows starts.|
|•||The database folder has been "shared" using Windows File Sharing. The database server does not work this way, and using a shared database from multiple workstations will almost certainly cause database corruption. There should only be one database server running, and it should be accessed via an IP address and port number.|