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
| Requirement | Minimum | Recommended |
|---|---|---|
| PHP | 8.3 | 8.3 or 8.4 |
| MySQL | 8.0 | 8.0+ |
| Node.js | 18 | 18+ (for Vite asset builds) |
| Composer | 2.0 | 2.0+ |
| Web Server | Apache 2.4 or Nginx 1.18 | Apache 2.4+ or Nginx 1.22+ |
| Disk Space | 200 MB (app only) | 1 GB+ (with media uploads) |
| RAM | 512 MB | 1 GB+ |
Required PHP extensions
The following PHP extensions must be enabled on your server:
| Extension | Purpose |
|---|---|
BCMath | Arbitrary precision mathematics |
Ctype | Character type checking |
cURL | HTTP requests (API calls, GeoIP, etc.) |
DOM | XML/HTML parsing |
Fileinfo | File MIME type detection |
GD or Imagick | Image processing (thumbnails, resizing) |
JSON | JSON encoding/decoding |
Mbstring | Multi-byte string handling (UTF-8) |
OpenSSL | Encryption and secure connections |
PDO | Database access abstraction |
PDO_MySQL | MySQL database driver |
Tokenizer | PHP tokenization (Blade templates) |
XML | XML parsing |
Zip | ZIP archive handling |
Optional PHP extensions
| Extension | Purpose |
|---|---|
Intl | Internationalization support (recommended for multi-language) |
Redis | Redis cache driver (better performance) |
Exif | Image metadata reading (photo orientation) |
PHP configuration
Ensure these PHP settings meet the minimum values in your php.ini:
| Setting | Minimum value |
|---|---|
memory_limit | 256M |
upload_max_filesize | 64M |
post_max_size | 64M |
max_execution_time | 300 |
max_input_vars | 5000 |
Directory permissions
The web server process needs write access to the following directories:
storage/: Application logs, cache, sessions, and file storagebootstrap/cache/: Framework bootstrap cachepublic/: Public assets (symlinks for media and themes)
Recommended permissions:
- Directories:
755 - Files:
644 storage/andbootstrap/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_rewriteis enabled.AllowOverride Allis 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.