Skip to content

Installation

To install the program, you will need:

  • The program zip
  • PHP v8.1 or later
    • PHP extensions: mysqli, gd, curl, openssl, mbstring (these are very common and almost universal)
  • MySQL 5.7.32 or later, or a compatible database server (MariaDB, Percona, etc.)
  • Your MySQL server information:
    • MySQL hostname (usually “localhost”)
    • MySQL database name
    • MySQL username
    • MySQL password
  • An FTP program to upload the files
  • A web browser

Unzip the software files on your local computer, preserving the directory structure.

Using an FTP program, log into your server and locate your “Web Root”. This is the top-level directory where you can place web pages that will be displayed on your website.

This is the same directory in which your website’s homepage resides. It’s often named /www/, /html/, /public_html/, /httpdocs/, /htdocs/ or something similar.

Create a new directory under your web root with your FTP program. We recommend naming it /cmsb/, though any name works. If you choose a different name, use it in place of /cmsb/ in the following steps.

Upload the folders and files from /cmsb/ into the web directory that you created in step 3.

The zip also includes an /uploads/ folder. Upload it directly under your web root, beside /cmsb/. This is where file uploads are stored, and the installer stops with an error if the upload directory doesn’t exist.

Make sure that the files are transferred in the correct mode (either “ascii” or “binary”). Most FTP programs have an auto-detect setting for transferring files in the correct mode.

Finally, run the admin program /cmsb/admin.php with your web browser. The URL will look something like this:

http://example.com/cmsb/admin.php

The program will take you through the final steps of the installation, including setting file and directory permissions if necessary.

The One Minute Install form asks for:

  • Database Location — your MySQL hostname, database, username, and password, plus a MySQL Table Prefix that gets added to all table names (default cms_; must be lowercase, start with a letter, and end with an underscore). The prefix lets multiple installations share one database.
  • Getting Started — the admin account details: full name, email, username, and password.

Instead of a new installation, the Restore From Backup tab restores an existing database backup. The backup file must be in the data folder’s backups/ directory, the target database location (database + table prefix) must have no pre-existing user accounts, and .zip backups require the PHP ZipArchive extension. See Moving Servers for the full workflow.

The form’s Advanced Options can usually be ignored:

  • Use Custom Settings File — saves settings to a per-domain settings.{hostname}.php file so uploading /data/ files from a development server can’t accidentally overwrite live-server settings. Use it on development servers only; the CMS detects common development servers and requires it there.
  • Website Prefix URL — a URL prefix (e.g. /~username or /development/client-name) for development servers that serve the site under a different path than the live server. It’s automatically added to viewer URLs and available in code as CMS::$prefixUrl.

6) Troubleshooting “Internal Server Error” issues

Section titled “6) Troubleshooting “Internal Server Error” issues”

The CMS comes with some default server config files in the /cmsb/ folder named .htaccess, .user.ini, and php.ini. These config files attempt to reset PHP and Apache settings to standard values and turn off deprecated or problematic features that would otherwise cause errors or problems.

These files aren’t supported on all servers, but on many they will prevent problems. However, they are optional and you can safely remove them if needed.

If you are getting errors on install, try each of the following steps until the errors stop occurring:

  1. Disable /cmsb/php.ini by renaming it to php.ini.disabled
  2. Disable /cmsb/.htaccess by renaming it to .htaccess.disabled
  3. Disable /cmsb/.user.ini by renaming it to .user.ini.disabled
  4. Contact support or post in the forum.

Settings are saved in the data folder as settings.dat.php, or as a per-domain settings.{hostname}.php when “Use Custom Settings File” is enabled. The CMS uses the hostname-specific file whenever one exists for the current domain.

The data folder defaults to /cmsb/data/. To relocate it (e.g. outside the web root), rename the included data_folder.php.example to data_folder.php and set the new path inside it.

Documents CMS Builder 3.83