STEP 1: Getting the Root Server

NOTE: You should always use this zipped file, as opposed to directly pulling from Git. This is because the project contains Git submodules, and Git does not recursively fetch submodules. You will end up with empty directories where the submodules are supposed to be.

Video Guides

We will be creating new BMLT Video tutorials. They will be made available here as they are completed and uploaded.

STEP 2: Set Up The Database

Your next step is to create a completely empty MySQL database, and a MySQL user that has complete rights to that database. You will need them for the wizard.

STEP 3: Start The Install Wizard

Once this has been done, point your browser to the new location, and follow the wizard, as described in this video guide, which will walk you through the steps below.

Once you have installed the directory, point your browser to the root (the main_server directory, or whatever you have named it -it may be the top level directory).

You will see this screen:

Figure 2: The initial installer wizard screen.

Enter The Database Information

Here is where you enter the database information for the database that you set up in Step 2.

Figure 3: We have entered information for the database

At this point, you can test that the database information is sufficient. Press the “TEST” button, and you will see an alert that displays the result of the test.

Figure 4: A report of a successful test

If the test was successful (the database exists, the user has full rights to it, and it has not already been set up as a BMLT root server database), you will get the result shown in Figure 4.

However, if the database doesn’t exist, the user does not have full rights to it, or there was an error in the information that you provided, you will likely see an alert similar to Figure 5.

Figure 5: Incorrect database credentials, or the database is not set up correctly

If the database information is correct, but the database already has BMLT root server data in it, you will see an alert like Figure 6.

Figure 6: Database is already established

Setting The Server Geographical Center

Once we have the database information correctly entered, we go to the next tab, where we set up the basic center for the entire root server. This information is used as the default location (if one is not set when creating a meeting, it will default to this location).

Google API Key

Before you proceed, you need to set up a Google Cloud Services API Key for JavaScript Google Maps. You will need this key in order to render your maps.

It is also possible to set a regional bias. This is something that helps the meeting search to find addresses and locations. For example, we have Paris, France, and Paris, Texas. In order to help us to locate Paris, France, over Paris TX, when we enter “Paris,” we may want to set the Region bias to “France”.

Setting Basic Server Parameters

The next tab is where we set up the various basic server parameters. We create a Server Administrator account, and some basic settings for the server (these can be changed after the fact).

Figure 9: The server settings page

Note that the Server Administrator password must pass the criteria set forth in the “Password Length” field (a simple “minimum length” criteria). It’s a very, very good idea to make this an extremely secure password.

You also have a series of choices that you can make about the Server setup. All of these choices can be changed after the fact by editing the configuration file.

Final Setup

Once you reach the final tab, your server is almost set up. You will see something like the screen in Figure 10.

Figure 10: The initial appearance of the final wizard screen

As long as the database information, and the Server Administrator information is correct, you should have an “Initialize Database” button for this screen. If you do not have this button, then you should go back, and review your information.

Press this button. It will set up a “starter” database for you. You will now be left with a screen like that shown in Figure 11.

Figure 11: The final screen after initializing the database.

At this point, the database has been created, but the root server still has no idea how to connect to it.

Notice the large gray area. This is the complete contents of a text file that you will create. For security reasons, we don’t directly create it. Instead, we ask you to copy the text within this gray box (ignore the smaller gray area below), paste it into a text editor, then create a text file, called “auto-config.inc.php”.

You need to use your FTP program to copy this file to the same level as the main_server directory, as shown in Figure 12.

Figure 12: The auto-config file, placed next to the main_server directory

It is important to make sure that this file has the correct file permissions. There are a number of ways that this can be done. The smaller gray box on the page has a command line to do this (if you connect via SSH). The basic permission needs to be 0644, which means that the owner can read and write the file, and others can read it, but only if they are running on the server (this prevents the file from being read directly from the server, thus compromising your database password).

After this, if you refresh the page, you should see the standard login page, as in Figure 13.

Figure 13: The standard root server login page

Log in with the Server Administrator account that you set up during the wizard. Currently, this is the only user on the system.

Figure 14: Logging in with the Server Administrator account login

Setting Up The First User And Service Body

Figure 15: The first set of choices given to the Server Administrator

At this point, you can’t create any meetings or Service bodies (see the choices in Figure 15). That’s because your first step is to set up your first Service Body Administrator user.

Only the Server Administrator can create users and Service bodies. This is a basic security policy. Additionally, even though the Server Administrator has “god” powers, it cannot be assigned to a Service body as its Primary Administrator.

The first thing that you need to do is to create a Service Body Administrator user, so you can have a Service body (if there are no available Service Body Administrators, then you will not be able to create a Service body).

Remember that a single Service Body Administrator can be assigned as the Primary Administrator for more than one Service body, so you only need to create one initial administrator.

Setting Up The First User

Open the “User Administration” disclosure line. You will see a screen like that shown in Figure 16.

Figure 16: The Create New User screen

Enter the information for the user. Make sure that they are a “Service Body Administrator” user (the default is “Disabled”). Once the information is entered, press the “Create This New User” button, and you should see something like the result screen in Figure 17.

Figure 17: The first Service Body Administrator has been successfully created

At this point, you should log out, then log back in (as the Server Administrator). This will refresh the choices that you have. When you log back in, you should now see the choices shown in Figure 18.

Figure 18: Now you can see a “Service Body Administration” choice

Setting Up An Initial Service Body

Open the new “Service Body Administration” disclosure line. You will see a screen like that shown in Figure 19.

Figure 19: The Create Service Body screen

Enter the information for your first Service body. Note that you only have one choice for Primary Admin. This would be the initial user that you just created.

Figure 20: The initial Service Body

Once you have created this Service body, you should see some orange text, advising you to reload the screen. The best way to do this, is to sign out, then log back in (this time, you can log in as the new Service Body Administrator, if you choose).

Figure 21: The new “Meeting Editor” line has been added

You will now see a new “Meeting Editor” disclosure line. You can now add meetings.