Installation

A quick and painless expierence.

Before Installation#

Before you begin the installation make sure you have these:

System Requirements#

  • PHP 5.4 or greater.
  • MySQL 5.1.0 or greater with InnoDB storage engine installed.

PHP extensions required:

MySQL user permissions required:

  • SELECT
  • INSERT
  • DELETE
  • UPDATE
  • CREATE
  • ALTER
  • INDEX
  • DROP

Step 1 : Upload files#

First, unzip the enactcms.zip file you obtained from http://enactcms.com/download somewhere on your computer. Navigate to the unzipped folder, you will notice there are two folders:

  • enact

  • public

The public folder should be placed as the root of your web server, aka the folder that is made publicly available to the Internet, hence the name public. Inside it are only two files:

  • index.php - All requests to your site are sent and handled via this file.

  • .htaccess - Tells Apache how to remove index.php from the request URI. If your running Nginx see Disco configuration.

Inside index.php you will see two lines that make all the magic happen:

$enactPath = '../enact/';

require $enactPath . 'app/bootstrap.php';

The first line defines the path to where the enact folder included in the zip you downloaded is located. The enact folder contains all the code necessary to use the CMS. You should try to upload the enact folder in the same folder you uploaded public to. If you do it that way, there will be no need to change anything, otherwise you will need to open the index.php file and change '../enact/' to point to where you uploaded the enact folder.

Step 2 : Permissions#

Enact needs to have write permissions for the enact/storage/ and enact/config/ folder, and for one click system updates, the enact/app/ folder as well. Take the appropriate actions to make them writable. The best course of action here is to change the owner of the directories to the user your web server runs as, if your on Apache2 this will most likely be the www-data user, you can change the owner by executing a command such as sudo chown -R www-data enact/storage/. You could also just change the permissions with a command such as sudo chmod -R 775 enact/storage/ or if your feeling really brave a sudo chmod -R 777 enact/storage/ command. Enact will let you know any time it doesn't have the necessary permission to directories it needs write access to so you won't need to guess if you got it right, if Enact runs without complaint, then your good to go.

You might have a look at this article, and this one, if your unfamiliar with file permissions.

Step 3 : Create/Configure your database#

If you're using a hosting provider for your site then you may already have a MySQL database assigned to you, if your hosting provider doesn't limit the number of MySQL databases you may use then you may create a new one specifically for Enact.

If you don't have a database created or assigned to you, use your favorite tool to interface with MySQL and create a database (schema) that will hold the tables Enact depends on. If given the choice you should set the charset to utf8 and the collation to utf8_unicode_ci.

Once you have a database ready for use, open enact/config/db.php and set the appropriate values to tell Enact how to connect to your database.

  • DB_DB – The database (schema) name to use (which you just created or where already assigned).

  • DB_HOST - The host of your database server, most likely “localhost” or “127.0.0.1”.

  • DB_USER – The name of the user to connect to the database with.

  • DB_PASSWORD – The password of the user to connect to the database with.

  • DB_PREFIX – A prefix to set on each of Enacts tables. Default is enact_ but it can be whatever you want, or even nothing at all.

Save your changes and close the file.

Step 4 : Navigate to the Installer#

Point your browser to http://yoursite.com,if you see the screen below you have done everything right!

If you dont see the Enact install screen above:

  • Is the message telling you that your database cannot be connected to? If so, revisit step 3.

  • Is the message telling you that a directory isn't writable? Make it writable using the advice in step 2.

  • Using Apache? Has the rewrite module been enabled.

  • Using Nginx? Has the proper directive been added to your sites configuration file

Now enter the name of your site, you can change this any time in the general settings screen.

Then enter the email address and password associated with your administrator account, you can change these any time your logged in.

Click set and prepare to be redirected to your fresh installation of Enact!