Overview

Before installing Larapen, make sure your server meets the following requirements. These apply to all hosting environments: shared hosting, VPS, and dedicated servers.

Server requirements

RequirementMinimumRecommended
PHP8.38.3 or 8.4
MySQL8.08.0+
Node.js1818+ (for Vite asset builds)
Composer2.02.0+
Web ServerApache 2.4 or Nginx 1.18Apache 2.4+ or Nginx 1.22+
Disk Space200 MB (app only)1 GB+ (with media uploads)
RAM512 MB1 GB+
Note: Laravel is included with Larapen: you do not need to install it separately.

Required PHP extensions

The following PHP extensions must be enabled on your server:

ExtensionPurpose
BCMathArbitrary precision mathematics
CtypeCharacter type checking
cURLHTTP requests (API calls, GeoIP, etc.)
DOMXML/HTML parsing
FileinfoFile MIME type detection
GD or ImagickImage processing (thumbnails, resizing)
JSONJSON encoding/decoding
MbstringMulti-byte string handling (UTF-8)
OpenSSLEncryption and secure connections
PDODatabase access abstraction
PDO_MySQLMySQL database driver
TokenizerPHP tokenization (Blade templates)
XMLXML parsing
ZipZIP archive handling

Optional PHP extensions

ExtensionPurpose
IntlInternationalization support (recommended for multi-language)
RedisRedis cache driver (better performance)
ExifImage metadata reading (photo orientation)

PHP configuration

Ensure these PHP settings meet the minimum values in your php.ini:

SettingMinimum value
memory_limit256M
upload_max_filesize64M
post_max_size64M
max_execution_time300
max_input_vars5000
Tip: On shared hosting, you can usually adjust PHP settings through your hosting panel (cPanel → MultiPHP INI Editor, or Plesk → PHP Settings). If in doubt, contact your hosting provider.

Directory permissions

The web server process needs write access to the following directories:

  • storage/: Application logs, cache, sessions, and file storage
  • bootstrap/cache/: Framework bootstrap cache
  • public/: Public assets (symlinks for media and themes)

Recommended permissions:

  • Directories: 755
  • Files: 644
  • storage/ and bootstrap/cache/: 775 (writable by web server)

Database requirements

  • MySQL 8.0+ is required (MariaDB 10.6+ is also supported).
  • Character set: utf8mb4
  • Collation: utf8mb4_unicode_ci
  • The database user must have full privileges (SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, INDEX) on the database.

Web server configuration

Apache

Larapen ships with a .htaccess file in the public/ directory. Ensure that:

  • mod_rewrite is enabled.
  • AllowOverride All is set for your document root.

Nginx

Set the document root to the public directory and add the following to your site's Nginx configuration:

root "/path/to/www/public";

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
    fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    include fastcgi_params;
}

SSL certificate

An SSL certificate (HTTPS) is highly recommended and required for:

  • Payment processing (Stripe and other gateways)
  • Secure admin panel access
  • Better SEO rankings
  • Browser security warnings prevention

Most hosting providers offer free SSL via Let's Encrypt.

Verify your server

After installation, you can verify that all requirements are met from the admin panel at Settings → System Info, which shows your PHP version, loaded extensions, and directory permissions.

Was this article helpful?

Thank you for your feedback!

Still need help? Create a support ticket

Create a Ticket