menu_book Documentation expand_more

configuration

Sitecake configuration files are located in the sitecake/ folder. There are three main configuration files you may need to edit.

The folder structure looks like this:

sitecake/
  <version>/
    client/
    config/
      ...
      config.php
  credentials.php.default
  credentials.php
  editor.cnf

The three configuration files are:

  • sitecake/credentials.php — contains the CMS admin password
  • sitecake/editor.cnf — editor and toolbar configuration
  • sitecake/<version>/config/config.php — general CMS configuration

Admin password

The credentials.php file contains the admin password as a bcrypt hash:

<?php $credentials = "$2y$12$XXXXXXXXXXXXXXXXXXXXXXeXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; ?>

The default password is admin. Change it through the login dialog's Change password option — don't edit the hash by hand.

info

The factory-reset file (credentials.php.default) still ships as a legacy SHA-1 hash. Sitecake recognizes it and silently upgrades it to bcrypt the first time you log in.

If you forget the password, replace credentials.php with credentials.php.default to reset it back to admin. See the password reset guide.

Editor configuration

The editor.cnf file controls the toolbar and editor behavior:

# Toolbar.components - the list of content types on the toolbar
# Possible: HEADING1..6, TEXT, TEXTLIST, IMAGE, FLASH, VIDEO, MAP, HTML, FILE, SEP
Toolbar.components = HEADING1,HEADING2,HEADING3,TEXTLIST,TEXT,SEP,IMAGE,VIDEO,SEP,FLASH,MAP,HTML,FILE

# upload size limit in KB
FileUploaderItem.uploadSizeLimit = 20000

# interface language (en, sl, sr, es, de, fr, dk, it, jp, ru, cs, sk, pt, pt-br, nl, auto)
Locale.code = auto

Toolbar.components lists the items available for editing. By default only H1–H3 headings are shown. The list can be reordered and separated with SEP (a separator).

FileUploaderItem.uploadSizeLimit sets the maximum image/file upload size in KB. The default of 20000 KB (~19.5 MB) can be increased if needed.

Locale.code sets the UI language. The default auto detects the language based on the editor’s IP. See multiple language support for more details.

General configuration

The config.php file (in sitecake/<version>/config/) sets general CMS options:

  • debug — whether Sitecake is in debug mode. Impacts error display and logging.
  • entry_point_file_name — the entry point file (sitecake.php). Can be renamed for security.
  • session.save_handler — session handler: files, memcache, memcached, or redis.
  • session.options — options for session storage. ini_set must be enabled on the server.
  • log.size — maximum log file size before archiving (default: 2 MB).
  • log.archive_size — number of archived log files kept (default: 5).
  • error.level — PHP error level.
  • site.default_pages — array of default index page extensions Sitecake searches for (e.g. index.html, index.php).
  • site.number_of_backups — how many publish backups to keep (default: 2).
  • site.images_directory_name — folder for uploaded images (default: images).
  • image.valid_extensions — accepted image formats (default: jpg, jpeg, png, gif, webp).
  • image.srcset_widths — widths (in px) generated for responsive srcset images (default: 1280, 960, 640, 320).
  • image.srcset_qualities — JPEG quality (0–100) used when generating srcset images (default: 75).
  • upload.directory_name — folder for uploaded files (default: files).
  • upload.allowed_extensions — allowlist of file extensions accepted for non-image uploads (PDFs, docs, archives, etc.).
  • pages.prioritize_manual_changes — if a page is edited both through Sitecake (unpublished) and manually uploaded, the manually uploaded version wins when true (default).
  • pages.use_document_relative_paths — use document-relative instead of site-relative paths in generated navigation links.

Filesystem adapter

By default Sitecake writes directly to the website files on disk (local adapter). If the PHP process can’t write to the site root — common on some shared hosts — switch to the ftp adapter instead:

$config['filesystem.adapter'] = 'ftp';
$config['filesystem.adapter.config'] = [
    'host' => 'ftp.example.com',
    'username' => 'username',
    'password' => 'password',
    'root' => '/path/to/root',
    'passive' => true,
    'ssl' => true,
    'timeout' => 30,
    'port' => 21,
];