๐ Documentation
NewsPanel Pro Docs
Everything you need to set up, configure, and manage your news website platform from scratch.
1
Getting Started1
Create a Database
Create a MySQL database named
newspanel and import both SQL files.
MySQL / phpMyAdmin
CREATE DATABASE newspanel CHARACTER SET utf8mb4;
USE newspanel;
SOURCE /path/to/database.sql;
SOURCE /path/to/database_phase2.sql;
2
Configure Connection
Open
includes/config.php and update your database and site settings.
includes/config.php
define('DB_HOST', 'localhost');
define('DB_NAME', 'newspanel');
define('DB_USER', 'your_db_user');
define('DB_PASS', 'your_db_password');
define('SITE_URL', 'https://yourdomain.com/newspanel');
3
Upload Files
Upload the
newspanel/ folder to your web server. Make sure mod_rewrite is enabled in Apache.4
Login as Admin
Visit
/newspanel/auth/login.php and sign in with your admin credentials. Change the default password immediately.โน๏ธ PHP 7.2+ and MySQL 5.7+ are required. Make sure AllowOverride All is set in your Apache virtual host config.
2
Project Structure| Folder / File | Purpose |
|---|---|
newspanel/ | Main Dashboard โ user accounts, request management |
newspanel/auth/ | Login, signup, logout pages |
newspanel/dashboard/ | User dashboard home with stats & notifications |
newspanel/requests/ | Website installation request wizard (5 steps) |
newspanel/admin/ | Admin approval panel โ approve/reject/suspend |
newspanel/settings/ | Profile, bio, and password settings |
site-dashboard/ | Per-Website Dashboard โ articles, media, SEO, ads |
website/ | News Website Frontend โ public-facing pages |
website/.htaccess | URL routing & canonical redirect rules |
uploads/{site_id}/ | Media library uploads (auto-created) |
3
Workflow โ From Request to Live Site1
User Signs Up
Any user can create a free account at
/auth/login.php?mode=register2
Submit Website Request
User fills the 5-step wizard: domain, category, color theme, SEO codes (GSC, GA4, AdSense). AI content suggestions are shown per category.
3
Admin Reviews
Admin logs into
/admin/, reviews the request, enters the server IP, and clicks Approve.4
DNS Setup
User points their domain A record to the server IP shown in their dashboard.
5
Site Goes Live
User logs into
/site-dashboard/ and starts writing articles. The public website auto-loads from site_settings by domain.4
URL Structure (Canonical)| Page | File Served | Canonical URL |
|---|---|---|
| Homepage | index.php | https://domain.com/ |
| Article | article/index.php?slug=X | https://domain.com/slug/ |
| About | about/index.php | https://domain.com/about/ |
| Privacy | privacy/index.php | https://domain.com/privacy/ |
| Contact | contact/index.php | https://domain.com/contact/ |
| Category | category/index.php?slug=X | https://domain.com/category/slug/ |
| Tag | tag/index.php?tag=X | https://domain.com/tag/keyword/ |
| Search | search/index.php | https://domain.com/search/ |
| Sitemap | sitemap.php | https://domain.com/sitemap.xml |
| RSS Feed | feed.php | https://domain.com/feed.xml |
5
Server RequirementsMinimum Requirements
PHP 7.2+ (7.4 recommended) ยท MySQL 5.7+ or MariaDB 10.3+ ยท Apache with mod_rewrite ยท AllowOverride All ยท PDO + PDO_MySQL extension ยท GD extension for images
โ ๏ธ Set display_errors = Off and enable HTTPS in production. Update the
secure cookie flag in config.php when using SSL.