Installation
Requirements
Section titled “Requirements”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
Installation Steps
Section titled “Installation Steps”1) Unzip files
Section titled “1) Unzip files”Unzip the software files on your local computer, preserving the directory structure.
2) Find your web root
Section titled “2) Find your web root”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.
3) Create a directory under your web root
Section titled “3) Create a directory under your web root”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.
4) Upload files
Section titled “4) Upload files”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.
5) Run the program
Section titled “5) Run the program”Finally, run the admin program /cmsb/admin.php with your web browser. The URL will look something like this:
http://example.com/cmsb/admin.phpThe 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}.phpfile 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.
/~usernameor/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 asCMS::$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:
- Disable
/cmsb/php.iniby renaming it tophp.ini.disabled - Disable
/cmsb/.htaccessby renaming it to.htaccess.disabled - Disable
/cmsb/.user.iniby renaming it to.user.ini.disabled - Contact support or post in the forum.
Where Settings Are Stored
Section titled “Where Settings Are Stored”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.