Compatibility with web applications

Ferron has been tested for compatibility with various web applications, ensuring seamless integration with popular content management systems (CMS). Below, you’ll find specific configurations and recommendations for using Ferron with different platforms. If you encounter any issues, consider checking for additional plugins or configurations that enhance compatibility.

WordPress

WordPress is a very popular, open-source content management system (CMS) that allows website owners to manage web content, primarily in form of websites and blogs.

We tested Ferron 1.0.0-beta8 with WordPress, and it works without any problems, although it doesn’t support URL rewriting in Ferron. For WordPress to support URL rewriting in Ferron, you can install and activate the Ferron URL rewriting support plugin.

You can use the configuration below for websites built on WordPress:

// Global configuration
* {
    log "/var/log/ferron/access.log" // Replace with the path to the access log
    error_log "/var/log/ferron/error.log" // Replace with the path to the error log
}

// Host configuration. Replace "example.com" with your domain name.
example.com {
    root "/var/www/ferron" // Replace with the path to the webroot
    status 403 regex="/\\."
    status 403 regex="^/(?:uploads|files)/.*\\.php(?:$|[#?])"
    rewrite "^/(.*)" "/index.php/$1" file=#false directory=#false last=#true
    fcgi_php "unix:///run/php/php8.4-fpm.sock" // Replace with the path to the PHP-FPM socket
}

Joomla

Joomla is an open-source content management system (CMS) written in PHP that allows website owners to easily manage web content. Joomla is known for its extensibility and flexibility, making it sutable for a wide range of websites, from simple blogs to complex e-commerce platforms and corporate sites.

We tested Ferron 1.0.0-beta8 with Joomla, and it works without any problems.

You can use the configuration below (without caching) for websites built on Joomla:

// Global configuration
* {
    log "/var/log/ferron/access.log" // Replace with the path to the access log
    error_log "/var/log/ferron/error.log" // Replace with the path to the error log
}

// Host configuration. Replace "example.com" with your domain name.
example.com {
    root "/var/www/ferron" // Replace with the path to the webroot
    status 403 regex="^/(?:images|cache|media|logs|tmp)/.*\\.(?:php|pl|py|jsp|asp|sh|cgi)(?:$|[#?])"
    rewrite "^/api(?:/(.*))?" "/api/index.php/$1" file=#false directory=#false last=#true
    rewrite "^/(.*)" "/index.php/$1" file=#false directory=#false last=#true
    fcgi_php "unix:///run/php/php8.4-fpm.sock" // Replace with the path to the PHP-FPM socket
}

If you enable and configure a cache module in Ferron, you can install the Server Cache for Joomla extension. This extension sets Cache-Control header, which will be then used by the cache module.

Uptime Kuma

Uptime Kuma is a self-hosted server uptime monitoring tool.

We tested Ferron 1.0.0-beta8 (as a reverse proxy) with Uptime Kuma, and it works without any problems.

YaBB

YaBB is a free Internet forum package written in Perl.

We tested Ferron 1.0.0-beta9 with YaBB, and it works without any problems.

You can use the configuration below for websites powered by YaBB:

// Global configuration
* {
    log "/var/log/ferron/access.log" // Replace with the path to the access log
    error_log "/var/log/ferron/error.log" // Replace with the path to the error log
}

// Host configuration. Replace "example.com" with your domain name.
example.com {
    root "/var/www/ferron" // Replace with the path to the webroot
    cgi
    status 301 regex="^/(?:$|[?#])" location="/cgi-bin/yabb2/YaBB.pl"
    status 403 regex="^/cgi-bin/yabb2/(?:Convert|Backups|Templates|Members|Sources|Admin|Messages|Languages|Variables|Boards|Help|Modules)(?:$|[/?#])"
}