Simple Website Framework

Installation & Getting Started

Monday April 20th, 2026

Written by Scary le Poo

This guide covers everything you need to get Simple Website Framework up and running, from server requirements to your first page.


Server Requirements

Before you begin, make sure your server meets these requirements:

  • PHP 7.4 or higher (PHP 8.x recommended)
  • Apache with mod_rewrite enabled
  • AllowOverride All set for your document root (required for .htaccess to function)

The framework does not require a database, Composer, or any package manager. Everything it needs is bundled in the repository.


Installation

1. Clone or download the repository

Place the files in your web server's document root, or in a subdirectory if you prefer.

git clone https://github.com/ScarylePoo/simple-website-framework.git

2. Copy and configure config.php

A config-example.php is provided in the config/ folder. Copy it to config.php and open it for editing:

cp config/config-example.php config/config.php

At minimum, set the following values before the site will work correctly:

  • $WebsiteURL — your domain name, without protocol (e.g. example.com)
  • $SSL — set to true if your site uses HTTPS
  • $ForceWWW — set to true to force the www. prefix, false to strip it

See the Configuration Reference for a full breakdown of every available option.

3. Verify Apache is configured correctly

The framework relies on .htaccess to route all clean URLs through index.php. If you are getting 404 errors on every page, mod_rewrite is likely not enabled or AllowOverride is not set to All.

On Ubuntu/Debian you can enable mod_rewrite with:

sudo a2enmod rewrite
sudo systemctl restart apache2

4. Set file permissions

The web server needs read access to all files. If you intend to use HTML caching, the web server also needs write access to the root directory so it can create cache files:

chmod 755 /path/to/your/site

5. Visit your site

If everything is configured correctly, navigating to your domain should display the home page. If you see a blank page or errors, check your PHP error log.


Development vs Production

The framework ships with caching disabled by default, which is correct for development. Before deploying to production, enable caching in config.php:

$enableHTMLCacheServe = true;

See the Caching page for full details.


Directory Structure

Here is a quick overview of what each folder does:

Path Purpose
config/ Site configuration
css/ Global CSS (normalize, base, flex grid)
images/ Site-wide images (favicon, hero, defaults)
includes/ Bundled JS libraries (jQuery)
pages/ All page content as .html files
pages/posts/ Blog post content
pages/footer/ Footer column content
plugins/ Plugin files and plugins.php loader
required/ Core framework PHP files (do not edit)
themes/ Theme folders
themes/skeleton/ The default starter theme
extras/ Optional tools not part of the core framework

Next Steps

Simple Website Framework

A lean, flat-file PHP framework with no database, no bloat, and no black boxes. Build something clean and keep control of every part of it.

Contribute on GitHub

Found a bug? Have an idea? The project is open source and contributions are welcome. Find it on GitHub.

Documentation

This site is the living documentation for the framework. Every feature is demonstrated in the place it's meant to be used. Start with the introduction or dive straight into the setup guide.