Personal Blog CMS · PHP

A lightweight CMS
built for blogging

KiraUI is a high-performance PHP content management system purpose-built for personal blogs. Modern architecture, responsive design, and a complete admin panel — without the bloat.

www.kiraui.org
Getting started with KiraUI — a quick setup guide
Why I built my own blog engine instead of using WordPress
Optimizing file-based caching in PHP 8 applications
Dark mode implementation with CSS custom properties
⚠️

Important: KiraUI can now be used in edge production environments. Always back up your files and database before updating.

Features

Everything a personal blog needs

From content creation to comment moderation, KiraUI covers the full lifecycle of running a personal blog.

🚀
High Performance
File-based caching reduces database hits and keeps page loads snappy, even under sustained traffic. Friendly to low-spec servers.
📱
Responsive Design
Fully adaptive layouts that look great on desktops, tablets, and phones without any extra effort.
🔒
Security Built In
Protections against common web vulnerabilities baked into the core — not bolted on as an afterthought.
📝
Article Management
Full CRUD for posts with categories and tags. Draft, publish, and organize your content from a clean admin panel.
💬
Comment System
Reader comments with threaded replies and admin moderation. Stay in control of your conversations.
👥
User Roles & Permissions
Multi-user support with role-based access control for collaborative blog setups.
📧
Email Notifications
Integrated PHPMailer handles transactional emails — comment alerts, password resets, and more.
🌗
Light / Dark Theme
One-click theme toggle with persistent preference, powered by CSS custom properties and a small JS module.
🔍
SEO Friendly
Clean URL structure, optimized meta tags, and semantic HTML give your posts the best chance of being discovered.
🔄
Built-in Updater
Online update from the admin panel with automatic database and file backup — your data is always preserved.
📄
Page & Menu Manager
Manage static pages and site navigation menus directly from the dashboard, no file editing needed.
Cache Management
Clear and refresh the file cache on demand from the admin panel for instant content updates.
Frontend
  • 📰 Latest posts homepage
  • 📖 Article detail with comments
  • 👤 User profile & settings center
  • 🔍 Full-text keyword search
Admin Panel
  • 📊 Dashboard with site statistics
  • ✏️ Publish, edit & delete articles
  • 👥 User registration & permissions
  • 💬 Comment review & moderation
  • ⚙️ System settings & site info
  • 📄 Pages & menu management
  • 🔄 Cache flush & online update

Tech Stack

Pragmatic and proven

Built on widely-supported, battle-tested technologies. No exotic dependencies, no lock-in.

PHP
PHP
8.0 or higher
SQL
MySQL
8.0 or higher
HTTP
Apache
mod_rewrite required
HTTP
Nginx
Rewrite rules needed
Mail
PHPMailer
v7.0.2
Cache
File Cache
Zero-dependency

Installation

Up and running quickly

A standard LAMP or LNMP stack is all you need. Follow these steps to get your blog live.

1
Clone the repository
Download the project and upload it to your web server's root directory.
$git clone https://github.com/YuSoLAB/KiraUI
2
Set up your environment
Install PHP 8.0+, MySQL 8.0+, and Apache or Nginx. Enable mod_rewrite on Apache, or configure rewrite rules on Nginx.
3
Install dependencies
The source ships with all required libraries. Only run this if you need to update them.
$composer install
4
Initialize via the admin panel
Create a MySQL database, then visit the setup page to complete initial configuration.
/admin/admin
5
Start blogging
Your blog is live at the domain root. Manage everything from the admin dashboard.
Project Structure
KiraUI/ ├── admin/ — back-end management ├── cache/ — file cache storage ├── img/ — static image assets ├── include/ — core class library ├── uploads/ — user-uploaded files ├── vendor/ — Composer dependencies ├── .htaccess — Apache rewrite rules ├── index.php — front-end entry point └── README.md
Access Points
Front www.kiraui.org/
Admin www.kiraui.org/admin/admin

Philosophy

Why KiraUI exists

The goal is a simple, efficient CMS for personal blogs — without wasted resources or unnecessary complexity.

🎯
No animation bloat
Storage space and render performance are not wasted on showy animations that add no value to readers.
🖥️
Low-spec friendly
Designed to run smoothly on cheap shared hosting and handle high-traffic blogs without expensive hardware.
🆓
Completely free
Features that other platforms charge for as premium plugins are built in and open-source under GPL 2.0.
📦
Out of the box
No marketplace of required paid themes or plugins. Everything you need to run a blog ships in the repository.
🚫
Escape WordPress
Break free from WordPress's heavy resource consumption, sprawling plugin ecosystem, and expensive premium themes.
🔧
Batteries included
PHPMailer, file caching, SEO routing, dark mode, and user management — all integrated, zero configuration glue required.

Nginx Reference

Running on Nginx

KiraUI is developed on Apache, but Nginx is fully supported. Use this rewrite configuration as a starting point.

nginx.conf (server block)
server {
    listen 80;
    server_name www.kiraui.org;
    root /path/to/your-project;

    index index.php;

    location ~* ^/favicon\.(ico|png|svg)$ {
        try_files /img/favicon.$1 =404;
    }

    if ($request_uri ~ "^/index\.php(\?.*)?$") {
        return 301 /;
    }

    set $php_redir "";
    if ($request_method = GET)                        { set $php_redir "G"; }
    if ($uri ~ "^/(index|get_download_url)\.php")     { set $php_redir "skip"; }
    if ($php_redir = "G") {
        rewrite ^/([^/]+)\.php$ /$1 permanent;
    }
    rewrite ^/([^./]+(?:/[^./]+)*)/?$ /$1.php last;

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

⚠️ This is a reference configuration. Adjust paths and server_name to match your environment. For most setups with modest traffic, Apache with mod_rewrite is the recommended and simpler choice.