Installation Guide

Get scriptLog up and running in minutes with this comprehensive installation guide.

Home / Documentation / Installation

System Requirements

PHP

7.4 or higher

Required: pdo, pdo_mysql, json, mbstring, curl
Database

MySQL 5.7+ / MariaDB 10.2+

utf8mb4 charset support required
Web Server

Apache 2.4+ / Nginx

mod_rewrite recommended for Apache
Composer

Latest stable version

For dependency management

Installation Steps

1

Download scriptLog

Clone the repository or download the latest release from GitHub.

Bash Terminal
git clone https://github.com/cakmoel/Scriptlog.git
cd Scriptlog
2

Install Dependencies

Run Composer to install all required dependencies.

Bash Terminal
composer install
3

Create Database

Create a MySQL database with utf8mb4_general_ci collation.

SQL MySQL
mysql -u root -p
CREATE DATABASE scriptlog CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'youruser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON scriptlog.* TO 'youruser'@'localhost';
FLUSH PRIVILEGES;
4

Set Folder Permissions

Ensure write permissions for cache and log directories.

Bash Terminal
chmod -R 755 public/
chmod -R 777 public/cache/ public/log/
5

Run Installation Wizard

Open install/ in your browser and follow the setup wizard.

URL: http://your-domain/install/

The wizard will check requirements, create tables, generate config files, and set up admin account.

6

Remove Installation Directory

For security, delete the install/ folder after installation.

Bash Terminal
rm -rf install/
7

Access Your Blog

Public Site: http://your-domain/
Admin Panel: http://your-domain/admin/

Directory Structure

After extraction, you'll see the following structure:

Tree scriptlog/
scriptlog/
├── admin/              # Admin panel
├── api/                # REST API
├── install/            # Installation wizard
├── lib/                # Core library (80+ classes)
├── public/             # Public web root
│   ├── themes/         # Theme templates
│   ├── files/          # Uploaded files
│   ├── cache/          # Cache directory
│   └── log/            # Log directory
├── docs/               # Documentation
├── index.php           # Public front controller
├── config.php          # Configuration (created by installer)
└── .env                # Environment variables (created by installer)

Troubleshooting

Verify your database credentials in config.php:

  • Check database host (usually localhost or 127.0.0.1)
  • Verify username and password
  • Ensure database exists and user has proper permissions

Enable mod_rewrite for Apache:

Bash Terminal
sudo a2enmod rewrite
sudo systemctl restart apache2

For Nginx, ensure the following location block exists:

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

Set proper ownership for web server:

Bash Terminal
sudo chown -R www-data:www-data /var/www/scriptlog
sudo chmod -R 755 /var/www/scriptlog
sudo chmod -R 777 /var/www/scriptlog/public/cache /var/www/scriptlog/public/log
Previous