System Requirements

Published on May 6, 2026 • Last updated on June 9, 2026

A Beginner's Guide to System Requirements

Before you install any software, it helps to know what your server or hosting account needs to support it. The good news is that Scriptlog is not demanding. It runs on the kind of setup that most shared hosting plans already provide. You do not need a powerful cloud server or a special environment. You just need the right version of a few standard tools.

This article walks through each requirement, explains what it is, and tells you why Scriptlog needs it. By the end, you will know exactly what to check before you begin.


PHP 7.4 or Higher

PHP is the programming language Scriptlog is written in. When someone visits your blog, your server runs the PHP code and sends back the finished page to their browser.

Scriptlog requires PHP version 7.4 as a minimum. Most hosting providers have offered PHP 7.4 and above for several years, so this should not be an obstacle. If you are on shared hosting, you can usually check and change your PHP version from the hosting control panel. Look for something labeled "PHP Version" or "PHP Selector."

Required PHP Extensions

Beyond the PHP version itself, Scriptlog needs five specific PHP extensions to be enabled. Extensions are add-ons that give PHP extra capabilities. Here is what each one does:

pdo stands for PHP Data Objects. It is the layer that lets PHP talk to databases in a safe, consistent way. Scriptlog uses PDO to send queries and read results back.

pdo_mysql is the MySQL-specific driver for PDO. While pdo provides the general interface, pdo_mysql is what makes it work specifically with MySQL and MariaDB databases.

json allows PHP to read and write JSON data. Scriptlog uses JSON for caching translation strings and handling API responses.

mbstring stands for Multibyte String. It adds proper support for languages that go beyond the standard Latin alphabet, including Arabic and Chinese, both of which Scriptlog supports natively.

curl is a tool for making HTTP requests from your server. Scriptlog uses it for background tasks that involve communicating with external services.

Most shared hosting plans have all five of these extensions enabled by default. If you are unsure, your hosting provider's support team can confirm this quickly.


MySQL 5.7 or Higher, or MariaDB 10.3 or Higher

Scriptlog stores everything in a database: your posts, settings, users, media, and translations. The database it uses is either MySQL or MariaDB.

MySQL and MariaDB are closely related. MariaDB was created as a community fork of MySQL and the two are largely compatible. Either one works perfectly with Scriptlog.

The minimum versions are MySQL 5.7 and MariaDB 10.3. Both have been widely available for years, so any reasonably current hosting plan should meet this requirement without changes.

During installation, Scriptlog creates 21 database tables automatically. You do not have to build these by hand. The installation wizard handles it once you provide a database name and login credentials.

One detail worth noting: when you create your database, set the character set to utf8mb4 and the collation to utf8mb4_general_ci. This ensures Scriptlog can store and display text correctly across all the languages it supports.


A Web Server: Apache or Nginx

A web server is the software that listens for requests from visitors and serves them the right files. Scriptlog works with both Apache and Nginx, which are the two most popular web servers in the world.

If you are on shared hosting, you are almost certainly running one of these already and do not need to do anything extra. Apache is particularly common on shared hosting plans.

One important note for Apache users: Scriptlog needs the mod_rewrite module to be enabled. This module is what makes clean, readable URLs work. For example, it turns an address like ?id=1 into something like /post/1/my-first-blog-post. Most Apache setups have mod_rewrite enabled by default. If your links are not working after installation, this is the first thing to check.


Composer

Composer is a dependency manager for PHP. In plain terms, it is a tool that automatically downloads the third-party libraries Scriptlog relies on, such as its encryption tools and security packages.

You run Composer once during setup with the command composer install. It reads a file called composer.json, downloads everything Scriptlog needs, and places it in the correct folder.

Some shared hosting providers have Composer available through SSH. If yours does not, you can run Composer on your own computer and upload the result. Your hosting provider's documentation will tell you which approach applies.


File Permissions

Scriptlog needs write access to two specific folders: public/cache/ and public/log/. These are where Scriptlog stores cached files and error logs. If your web server cannot write to these folders, caching will not work and errors may not be recorded.

The right way to set permissions

The most important step is to set the correct ownership first. Your web server runs under a specific user account, usually www-data on Apache and Nginx on Ubuntu and Debian systems, or apache on CentOS and AlmaLinux. When the web server owns the folders, you can use tighter permissions that do not expose your files to anyone else on the server.

Recommended: 755 with correct ownership

This is the safest option for production. Set the web server user as the owner, then apply 755. The web server gets full read and write access. Everyone else gets read-only.

chown -R www-data:www-data public/cache/ public/log/
chmod -R 755 public/
chmod -R 755 public/cache/ public/log/

Alternative: 775 when you share a group with the web server

Use this when your own user account also needs to manage the files directly, for example on a VPS where you deploy manually. Both your user and the web server are in the same group, and both get full access. Everyone else is read-only.

chown -R youruser:www-data public/cache/ public/log/
chmod -R 775 public/cache/ public/log/

Strictest option: 770

Use this on servers where you want to block all access for anyone outside the owner and group. No read, no write, no execute for others.

chown -R www-data:www-data public/cache/ public/log/
chmod -R 770 public/cache/ public/log/

Which one should you choose?

For most setups, 755 with correct ownership is the right answer. If you are on shared hosting and cannot change file ownership through your control panel, ask your hosting provider which user the web server runs as, and whether they can set it for you. Some control panels handle this automatically when you use their file manager.

Avoid setting public/cache/ and public/log/ to 777 in production. While it is sometimes used as a quick fix during setup, it means anyone sharing the same server can read and write to those folders. Tighter permissions with correct ownership achieve the same result without the risk.

If you use an FTP client or a file manager in your hosting control panel, right-click the folder and look for a "Permissions" or "CHMOD" option to set the numeric value directly.


Quick Summary

Here is everything Scriptlog needs at a glance:

  • PHP 7.4 or higher, with the extensions pdo, pdo_mysql, json, mbstring, and curl enabled
  • MySQL 5.7 or higher, or MariaDB 10.3 or higher, with utf8mb4 encoding
  • Apache with mod_rewrite enabled, or Nginx
  • Composer, either on your server or local machine
  • Write permissions on public/cache/ and public/log/. Use 755 with correct web server ownership, or 775 if sharing a group. Avoid 777 in production.

If your hosting account checks all of those boxes, you are ready to go. The installation wizard will walk you through connecting the database, creating the tables, and generating your configuration files. The whole process takes just a few minutes.


Scriptlog is open source and free under the MIT License. Full documentation is available on GitHub.