Download and install the client software

The recommended way to install Bear CMS on your hosting environment is using the installer we provide (click here to download it). It can detect if all the requirements are met and download the files needed. The installer will enable automatic updates for the Bear CMS client, so you will never have to think about this. There are alternatives too if you are interested.

Server requirements

A web server running PHP version 7.1 (or higher) is enough to run the Bear CMS client. The popular choices (and provided by most hosting companies) are Apache and NGINX. There are configurations for both at the end of the page.

Recommended file structure

Here is a recommended file structure that takes security and ease of management into account. We recommend creating a new directory for your website and then creating a public directory inside. Then point the domain to the public directory only. This way any website related private files can be put into the first one without interfering with files from other websites.
/ - A directory for website related files only /bearcms - This directory will be created by the installer to store CMS related files and site data /public - Point your domain here

Run the installer

The final step is to point your browser to the installer file ( Then provide the secret key for your website (shown when registering your website).
Download and install the client software

Enable pretty URLs

Pretty URLs are a must-have for any professional website. Sharing, for example, is much nicer when URLs look like than

Enable pretty URLs in Apache

The Bear CMS installer has created a .htaccess file in your website's public directory with the configurations needed to enable pretty URLs. If it does not work, please add the "AllowOverride All" option in the VirtualHost block related to your website, inside Apache's global configuration file (httpd.conf).

Enable pretty URLs in NGINX

Here is a sample NGINX configuration for your domain (called
server { listen 80; listen [::]:80; server_name; root /some/path/; index index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location /index.php { fastcgi_pass; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

Learn more