Creating the Exponent CMS Database
Before you can begin running the installation process, you must have created a database. MySQL is currently the only supported database. Because of security reasons, each web host tends to have a specific or limited method to create new databases,however the basic steps are:
- Update the MySQLi settings for a windows server installation (see note at bottom of this entry)
- Create a new database user with full permissions, if you haven't already
- Create a new database
- Give the new database user, full permissions to the new database
Here's an example of how to Create the Database which Exponent will use to hold the content for your website using cPanel v11.
The Control Panel
The way you manage your site will depend on your Hosting Service Provider package. You will usually have a Control Panel with a set of icons for accessing all your services.
Note: Your actual Control Panel may vary somewhat from this example, but the basic steps should be the same. If you are unsure, then either contact your Hosting Service Provider or use the Exponent Forums to look for help.
Go to your Control Panel and login.
Once you've logged into your Control Panel you'll find a whole host of options for managing your domain.
Find the Databases section and click on the MySQL® Databases link.
You should now be on the MySQL Databases page. This allows you to manage the databases for your domain.
Create New Database
Using the Create New Database section type in a name for your new database. We're going to call our database exponent but you can call yours whatever you like.
Then click Create Database.
Once the database has been created you'll get a confirmation message with the database name, in this case exponent. Make a note of this as you'll need it later.
Then click the Go Back button to return to the main MySQL Databases page.
Create New User
You now need to create a User to allow you to access the database.
Using the Add New User section, type in a Username (1) and Password (2). Remember that the stronger your password, the safer your site.
Then click Create User.
Note: If you've already created a User for another database then you can always use that identity for your new database, though it's more secure to have a different user and password for each database you manage.
Once the user has been created you'll get a confirmation message with your Username (1) and Password (2), in this case expuser and my01paSSworDx991a. Make a note of these as you'll need them later.
Then click the Go Back button.
Add User to Database
Now you need to give the User you created access to the Database.
Using the Add User To Database section, use the dropdown menus to select the User (1) and the Database (2) you just created. In this case expuser and exponent.
Then click Submit.
Manage User Privileges
The Manage User Privileges page should now load. This is where you set the Privileges your user will have when accessing the database.
In this case, you want the user to access everything, so tick the All Privileges box.
Then click Make Changes.
Once the user has been added to the database you'll a get confirmation message with the Username (1) and Database (2), in this case expuser and exponent. This should match the settings you made a note of earlier.
Now click the Go Back button.
You've now created a Database to hold all the content for your Exponent website and created a Username and Password to access the database.
Next move to the Running the Installation Process step.
The ability to use other database connections is stubbed in, but has not been fully developed.
NOTE: Because MS Windows doesn't install table names with case sensitivity in mind and here are a number of tables in Exponent's database that have camel cased naming, you MUST do the following:
Open up the settings file, normally it's 'C:xamppmysqlbinmy.cnf'
and just after:
lower_case_table_names = 2
Restart XAMPP, the try re-installing Exponent, and check the tables to see that it's working. This issue becomes apparent when importing, exporting, and/or moving databases between systems.