> For the complete documentation index, see [llms.txt](https://contentbox.ortusbooks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://contentbox.ortusbooks.com/v5.x/getting-started/installation/system-requirements.md).

# System Requirements

Let's get started with some system requirements for running ContentBox sites on all deployable options

## Java

You need Java 8+ to run ContentBox.

{% hint style="warning" %}
Java 17+ is not currently supported
{% endhint %}

## CommandBox

You will need  to have CommandBox for installation, upgrading and optionally for running your ContentBox sites. Please see our [CommandBox Installation](/v5.x/getting-started/installation/commandbox-installation.md) section.

## ColdFusion (CFML) Engine

ContentBox can be deployed to the following CFML Engines:

* Adobe ColdFusion
  * ~~*2016*~~*&#x20;(End of life is December 2021)*
  * 2018
  * 2021
* Lucee 5+

## Databases

Here are the supported databases for ContentBox:

* MySQL 5.7 (InnoDB ONLY!)
* MySQL 8+ (InnoDB ONLY!)
* Microsoft SQL Server 2012+
* HypersonicSQL
* Apache Derby
* PostgreSQL
* Oracle 11g+

If you have another database engine that needs ContentBox support, please let us know and we will be able to help you (<https://www.ortussolutions.com/contact>).

### Microsoft SQL Caveats

We have seen an issue where an error will be reported that `cbPermission` cannot be inserted. This is an issue where for some reason the JDBC driver will switch context and create the tables in the `master` schema and not the schema you chose. So please verify that the `master` schema has tables that start with `cb_*` and remove them and re-run the installer.

## URL Rewriting

ContentBox relies on Search Engine Safe (SES) URLs and URL Routing. The majority of CFML engines already allow for these types of URLs out of the box and ContentBox supports it out of the box. However, if you would like to use full URL rewriting (which we recommend, that's where the `index.cfm` is not showing in the URLs) you will need to use a web server rewriting tool and ContentBox will configure it for you.&#x20;

So before you install ContentBox make sure that you are using one of the supported rewriting engines show below:

* **CommandBox Server (Default)**
* Apache mod\_rewrite
* IIS 7 rewrite module
* Tuckey rewrite filter
* Nginx

The ContentBox installer will create rewrite files automatically for you for Apache, IIS7, and express editions. For Nginx or other rewrite engines, you will need to add the rewrites yourself and then manually modify the routing file.

### ContentBox Routing Full Rewrite Support

Edit `config/Router.cfc` and set `setFullRewrites` to `true`. That's it!

```javascript
function configure(){
    // Configuration
    setValidExtensions( 'xml,json,jsont,rss,html,htm,cfm,print,pdf,doc,txt' );
    // Process Full Rewrites then true, else false and an `index.cfm` will always be included in URLs
    setFullRewrites( true );
}
```

## File Permissions

ContentBox needs some files/folders to be writable at runtime.

### Installer

```
{Root}/Application.cfc
{Root}/config/ColdBox.cfc
{Root}/coldbox/system/aop/tmp
```

{% hint style="success" %}
You can remove the first two after installation.
{% endhint %}

### Engine

Here are the folders for the core engine to work accordingly

```
# Engine Operation (REQUIRED)
{Root}/coldbox/system/aop/tmp

# Media Manager
{Root}/modules_app/contentbox-custom/content
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://contentbox.ortusbooks.com/v5.x/getting-started/installation/system-requirements.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
