Requirements

A summary of the server environment required to run Pubvana.

TL;DR

  • PHP 8.1+ (8.2+ recommended)
  • MySQL 5.7+ or MariaDB 10.3+
  • Apache with mod_rewrite or Nginx with URL rewriting enabled
  • Composer 2.x
  • PHP extensions: intl, json, mbstring, mysqlnd, curl, gd or imagick, xml

Details

PHP

Pubvana requires PHP 8.1 or higher. PHP 8.2 or 8.3 is recommended for best performance and long-term support. PHP 7.x is not supported.

The following PHP extensions must be enabled:

Extension Purpose
intl Internationalisation support (required by CodeIgniter 4)
json JSON encoding/decoding
mbstring Multi-byte string handling
mysqlnd MySQL native driver
curl HTTP requests (marketplace, social sharing)
gd or imagick Image processing and WebP conversion
xml XML parsing (RSS feeds, sitemap)

Set memory_limit to at least 256MB in your php.ini. Image processing during upload can be memory-intensive for large photos.

Database

  • MySQL 5.7+ or MariaDB 10.3+
  • A dedicated database and user with full privileges on that database are required.
  • UTF-8 encoding (utf8mb4 character set) is strongly recommended.

Web Server

Apache with mod_rewrite enabled. The .htaccess file in public/ handles URL rewriting. Your virtual host must allow .htaccess overrides (AllowOverride All).

Nginx is also supported. You will need to configure URL rewriting manually — see the CodeIgniter 4 Nginx configuration guide for an example try_files block.

Composer

Composer 2.x must be available on the server to install PHP dependencies if you use git clone. Run composer --version to verify. Composer is not required when installing from a github release .zip or by using the easy-installer.

Writable Directory

The writable/ directory (and all subdirectories) must be writable by the web server user. Set permissions to 775 (with correct group ownership) or 777 if needed.

chmod -R 775 writable/
chown -R www-data:www-data writable/