Troubleshooting

Here's how to find and fix errors.

Problems with installation

The following problems can occur:

Datenstrom Yellow requires Apache configuration file!

  • Copy file .htaccess into the installation folder.
  • Check if your FTP software has a setting to show all files.

Datenstrom Yellow requires [...] write access!

  • Run command chmod -R a+rw * in the installation folder.
  • You can use your FTP software to give write permissions to all files.

Datenstrom Yellow requires [...] rewrite module!

  • Configure your web server, see examples for Apache and Nginx.

Datenstrom Yellow requires [...] extension!

  • Install the missing PHP extension on your web server.

Datenstrom Yellow requires PHP 5.6 or higher!

  • Install the latest PHP version on your web server.

Problems with Apache

Here's a .htaccess configuration file for the Apache web server:

<IfModule mod_rewrite.c>
RewriteEngine on

DirectoryIndex index.html yellow.php
RewriteRule ^(cache|content|system)/ error [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ yellow.php [L]
</IfModule>

Here's an example for a subfolder:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /yellow/
DirectoryIndex index.html yellow.php
RewriteRule ^(cache|content|system)/ error [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ yellow.php [L]
</IfModule>

When your website doesn't work, then check the global configuration file. You probably have to enable the rewrite module and configure AllowOverride All in the web server settings.

Problems with Nginx

Here's a nginx.conf configuration file for the Nginx web server :

server {
    listen 80;
    server_name website.com;
    root /var/www/website/;
    index index.html yellow.php;

    location /cache {
        rewrite ^(.*)$ /error break;
    }

    location /content {
        rewrite ^(.*)$ /error break;
    }

    location /system {
        rewrite ^(.*)$ /error break;
    }

    location / {
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /yellow.php last;
            break;
        }
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index yellow.php;
        include fastcgi_params;
    }
}

Here's an example for a static website:

server {
    listen 80;
    server_name website.com;
    root /var/www/website/;
    error_page 404 /404.html;
}

When your website doesn't work, then check server_name and root in your configuration file. If the configuration file has been changed, you need to restart/reload the Nginx web server.

System diagnostics

The log file system/extensions/yellow.log shows important information and errors. Here's an example:

2019-03-12 13:33:37 info Datenstrom Yellow 0.8.8, PHP 7.1.23, Apache/2.4.33 Darwin
2019-03-12 13:33:37 info Install language 'English'
2019-03-12 13:33:37 info Install language 'French'
2019-03-12 13:33:37 info Install language 'German'
2019-03-12 13:33:49 info Install extension 'Blog 0.8.4'
2019-03-12 13:33:49 info Add user 'Anna'

For more information open file system/extensions/core.php and change <?php define("DEBUG", 1);

YellowCore::sendPage Cache-Control: max-age=60
YellowCore::sendPage Content-Type: text/html; charset=utf-8
YellowCore::sendPage Content-Modified: Wed, 06 Feb 2019 13:54:17 GMT
YellowCore::sendPage Last-Modified: Thu, 07 Feb 2019 09:37:48 GMT
YellowCore::sendPage layout:blogpages theme:flatsite parser:markdown
YellowCore::processRequest file:content/1-en/2-features/1-blog/page.md
YellowCore::request status:200 handler:core time:19 ms

Get file system information by increasing debug level to <?php define("DEBUG", 2);

YellowSystem::load file:system/settings/system.ini
YellowEditUsers::load file:system/settings/user.ini
YellowText::load file:system/extensions/english-language.txt
YellowText::load file:system/extensions/french-language.txt
YellowText::load file:system/extensions/german-language.txt
YellowText::load file:system/settings/text.ini
YellowCore::load extensions:43 time:10 ms

Get maximum information by increasing debug level to <?php define("DEBUG", 3);

YellowCore::load Datenstrom Yellow 0.8.8, PHP 7.1.23, Apache/2.4.33 Darwin
YellowSystem::load file:system/settings/system.ini
YellowSystem::load Sitename:Datenstrom developers
YellowSystem::load Author:Datenstrom
YellowSystem::load Email:webmaster
YellowSystem::load Language:en
YellowSystem::load Layout:default