itzbund/gsb-selfhost-classic

Government Site Builder 11 - The classic installer.

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Type:typo3-cms-extension

pkg:composer/itzbund/gsb-selfhost-classic

dev-main 2025-10-17 08:18 UTC

This package is auto-updated.

Last update: 2025-10-17 08:18:13 UTC


README

TYPO3 12


<img src="https://www.itzbund.de/SiteGlobals/Frontend/Images/logo.svg?__blob=normal&v=18" alt="Logo" width="300">

Jumpstart your GSB11 powered tenant development.

Government Site Builder 11 - The classic installer

This guide explains how to install the Government Site builder 11 manually using FTP or a web hosting control panel, with command-line access (composer installation) or without it (zip installation).

Prerequisites

The following packages must be installed on the target server.

System environment

ComponentMinimum versionRecommendation
PHP8.3PHP 8.3 with appropriate extensions
DatabaseMariaDB ≥ 10.4 / MySQL ≥ 5.7MariaDB 10.6+ or MySQL 8
Web serverApache 2.4 or NginxApache with mod_rewrite enabled
Node.js / npm≥ Node 18 (for build processes)Optional for GSB assets

PHP extensions

The following PHP extensions must be enabled:

  • mbstring
  • json
  • pdo
  • pdo_mysql
  • xml
  • fileinfo
  • gd
  • ctype
  • zip
  • filter
  • intl
  • session
  • openssl
  • bcmath

Check with:

php -m

Configure web server

Apache (.htaccess)

TYPO3 comes with a .htaccess file. Make sure that mod_rewrite is enabled.

a2enmod rewrite

Apache VHost example:

<VirtualHost *:80>
    DocumentRoot /var/www/html/public
    ServerName gsb.local

    # Please adjust the hostname (gsb.local) according to your local environment
    SetEnv FRONTEND_DOMAIN "gsb.local"
    SetEnv BACKEND_DOMAIN "gsb.local"
    SetEnv TYPO3__EXTENSIONS__gsb_core__allowedVideoDomains "*.gsb.local"
    SetEnv TYPO3__EXTENSIONS__gsb_core__allowedAudioDomains "*.gsb.local"
    
    SetEnv TYPO3__SYS__features__brandingBackendLogin true
    SetEnv TYPO3__EXTENSIONS__gsb_core__additionalAllowedFileExtensionsForUploadsElement "docx,xlsx"
    SetEnv TYPO3__EXTENSIONS__backend__backendFavicon "EXT:gsb_core/Resources/Public/Favicons/favicon-32x32.png"
    SetEnv TYPO3__EXTENSIONS__backend__backendLogo "EXT:gsb_core/Resources/Public/Favicons/favicon.ico"
    SetEnv TYPO3__EXTENSIONS__backend__loginBackgroundImage "EXT:gsb_core/Resources/Public/Images/bg.jpg"
    SetEnv TYPO3__EXTENSIONS__backend__loginFootnote "© GSB - ITZBund"
    SetEnv TYPO3__EXTENSIONS__backend__loginHighlightColor "#004b76"
    SetEnv TYPO3__EXTENSIONS__backend__loginLogo "EXT:gsb_core/Resources/Public/Favicons/android-chrome-192x192.png"
    SetEnv TYPO3__EXTENSIONS__backend__loginLogoAlt "GSB - ITZBund"

    <Directory /var/www/html/public>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

GSB 11 Installation

At this time, we only support manual installation on the console with these instructions.

1. Download

Download this repository for example as .tar.gz or .zip using the OpenCoDE GitLab UI:

this image the possibility to download for example the .zip and .tar.gz archives

2. Extract

Ensure that the contents on your server are unzipped correctly.

For further information on this, please consult this section of the Typo3 documentation.

3. Database

GSB11 requires a MySQL database. If you do not yet have access data for a corresponding database but have administrative access to a MySQL server accessible from the server, you can create a combination of user and database using the following instructions. Please ensure that you choose a secure password.

CREATE DATABASE gsb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

CREATE USER 'gsb_user'@'localhost' IDENTIFIED BY 'secure-password';

GRANT ALL PRIVILEGES ON gsb.* TO 'gsb_user'@'localhost';

FLUSH PRIVILEGES;

4. Configure

Check the parameters of the following statement and execute it on the console.

vendor/bin/typo3 setup --force \
    --no-interaction \
    --server-type='apache' \
    --driver='mysqli' \
    --username='gsb_user' \
    --password='secure-password' \
    --host='localhost' \
    --port=3306 \
    --dbname='gsb' \
    --project-name="GSB11" \
    --create-site='http://gsb.local' \
    --admin-username='admin' \
    --admin-user-password='§Chang3Me§' \
    --admin-email=''

Now the setup of the extensions must be executed.

vendor/bin/typo3 extension:setup

5. Use the application

The application should now be accessible at the configured URL. Enjoy!

Directory structure

A TYPO3 installation via Composer follows a clear and clean directory structure. Below is an overview of the most important folders and their functions.

my-project/
├── composer.json              ← Composer configuration (dependencies, etc.)
├── composer.lock              ← Exact versions of the installed packages
├── public/                    ← Webroot (publicly accessible folder)
│   ├── index.php              ← Entry point for TYPO3 frontend
│   ├── typo3/                 ← Symlink to TYPO3 backend (core)
│   ├── fileadmin/             ← User-defined files (images, downloads)
│   ├── uploads/               ← Legacy upload directory
│   ├── typo3conf/             ← Legacy (now empty or with symlinks)
│   └── ...
├── var/                       ← Runtime data (cache, logs, etc.)
│   ├── log/                   ← Logs (install tool, errors)
│   └── ...
├── config/                    ← System-wide configuration
│   ├── sites/                 ← Site configurations (multi-site support)
│   │   └── default/           ← Configuration for a specific site
│   │       └── config.yaml
│   └── system/settings.php    ← Additional configuration (e.g. devIPmask)
├── vendor/                    ← Dependencies (installed by Composer)
│   └── typo3/                 ← TYPO3 CMS Core
└── .gitignore                 ← Configure version control (e.g. ignore var/)

Explanation of important directories

Directory/fileDescription
public/Webroot, the web server points to this folder (DocumentRoot).
public/index.phpEntry point for TYPO3.
public/typo3/Backend access (TYPO3 login), usually a symlink in Composer installations.
fileadmin/File system accessible to editors (via the backend).
config/sites/Contains config.yaml and site configurations for multi-site support.
var/Caches, logs, temporary data – must not be versioned.
vendor/Dependencies managed by Composer, including TYPO3 Core.

Web server note

The document root of the web server must point to the public/ directory.

Further information

Further tips

  • Enable debug mode:
    In config/system/settings.php:
  return [
      “SYS” => [
          “devIPmask” => “*”,
          “displayErrors” => 1,
      ],
  ];

Contributing

We welcome your contributions! Please follow our Contribution Walkthrough to get started.

License

This project is licensed under the GPL-3.0-or-later.

References