English, Nederlands
Donate with PayPal

Installing

System Requirements

We recommend the following system specifications.

PHP
It’s recommended to have the latest PHP version, but the minimum PHP version supported is PHP 5.6. Nocterra works best with PHP v7.2 or v8.0 or greater. (Note: PHP 5.6 and 7.x are EOL)
Server
Nocterra can work on all servers supporting PHP. As a minimum we recommend at least 2 GB of RAM and at least an Intel Core2 duo CPU or Intel Atom 330 CPU. Minimum free disk space required is 5 MB, but heavily depends on the website's contents like images, video and log file requirements.
Browsers
Nocterra generates the basic structure of websites using standard HTML that remains usable in modern browsers, older browsers and text browsers. Navigation, headings, links, headers, footers and normal page content remain readable and navigable without depending on modern CSS or JavaScript. This output has been tested in Firefox, Chrome, Safari, Microsoft Edge, Opera, Mosaic, Links and Lynx.
Compatibility with older browsers does not mean that Nocterra assumes old fixed desktop layouts. The generated document structure is not designed around a fixed screen width and can adapt to different available screen and window sizes. The further presentation and behaviour of a particular website also depend on its CSS, page-specific markup and installed extensions or add-ons. Components that deliberately require modern browser features can therefore introduce additional browser requirements.

Installing

To install Nocterra on your server, just unpack the downloaded tar.gz into the document root or any subdirectory of your webserver capable of running PHP scripts. Beware that the tar.gz file contains a .htaccess file, which may override an existing .htaccess file you've setup. Continue to the Quick Start guide below to start configuration.

Quick Start

Open site.php in your favorite editor.

Domain setup

The domains configuration section specifies which domains are served which content.

For a simple single domain directly in the root of the URL namespace, for a single language site the domains configuration could look like:

$domains			= array(
'example.com' => array(
'base' => '/',
'languages' => 'en',
'host' => 'www.example.com'
)
);

For a multi language single domain directly in the root of the URL namespace, with English as the default language the domains configuration could look like:

$domains			= array(
'example.com' => array(
'base' => '/',
'languages' => array('nl', 'en'),
'defaultLanguage' => 'en',
'host' => 'www.example.com'
)
);

For a multi domain directly in the root of the URL namespace, with English as the default language the domains configuration could look like:

$domains			= array(
'example.com' => array(
'base' => '/',
'languages' => array('en', 'sp'),
'defaultLanguage' => 'en',
'host' => 'www.example.com'
),
'example.nl' => array(
'base' => '/',
'languages' => 'nl',
'host' => 'www.example.nl'
)
);

See the documentation on domains for details.

Language setup

The language configuration section specifies how requests in a specific language should be served to the user. By default an entry for English is supplied.

For each language the website should support, you need to configure an entry into the languages array:

$languages			= array(
'en' => array(
'name' => 'English',
'locale' => 'en_GB',
'image' => 'icon_english.png',
'time_s' => '%hour%:%minute%',
'time_m' => '%hour%:%minutes%:%seconds%',
'time_l' => '%hour%:%minutes%:%seconds%',
'date_s' => '%year%/%month0%/%date%',
'date_m' => '%Month_abbr%/%date0%/%year%',
'date_l' => '%Month_name% %date_ord%, %year%'
)
);

See the documentation on localization and language for details.

Branding, Page and Variants

The default site.php contains example branding and page configurations. The branding settings define how the website presents itself to the visitor, searchbots and platforms like Twitter and Facebook. It contains settings for a site wide title, keywords, description, an image to represent the website, which stylesheets and scripts to load.

The page configuration contains settings how to markup the website's pages. These include settings like if and how to show breadcrumbs, present a menu, navigation links, page footer et cetera.

The default site.php contains an empty variants configuration. You can define multiple variants to the website's main branding and page configuration. With a simple tag by calling an API function you can switch sets of pages to a different branding style or page markup.

See the documentation on branding, page and variants for details.

The website's menu

The default site.php contains a menu containing a entry to the website's home and a sample page. This menu definition is used for generating breadcrumbs and navigation on each page and for generating cross language links across the website.

See the documentation on menu, links, page and variants for details.