A comprehensive, modular web-based control panel for managing your Linux VPS server.
For: Linux VPS / Cloud Servers
# 1. Upload to server
scp -r * root@YOUR-SERVER-IP:/var/www/html/panel/
# 2. Set permissions
ssh root@YOUR-SERVER-IP
chown -R www-data:www-data /var/www/html/panel
chmod -R 755 /var/www/html/panel
# 3. Change password in config.php
nano /var/www/html/panel/config.php
# 4. Access
# http://YOUR-SERVER-IP/panel/- β Drag & Drop to Move Files - Organize by dragging files to folders
- β Grid/List View Toggle - Switch between icon and detailed views
- β Enhanced UI - Modern Windows Explorer-style interface
- β Light/Dark Mode - Theme toggle with saved preference
- β Improved Navigation - Breadcrumbs, sidebar tree, keyboard shortcuts
Linux-web-server-Interface/
βββ index.php # Main panel entry point
βββ filemanager.php # Standalone file manager
βββ config.php # Configuration (CHANGE PASSWORD!)
βββ auth.php # Authentication system
βββ .htaccess # Apache security settings
β
βββ includes/
β βββ header.php # Sidebar navigation
β βββ footer.php # Footer
β βββ functions.php # Shared utilities
β
βββ modules/
β βββ dashboard.php # System overview
β βββ terminal.php # Web terminal
β βββ monitor.php # System monitoring
β βββ files.php # File manager (embedded)
β βββ websites.php # Virtual hosts
β βββ services.php # Service control (auto-detect)
β βββ database.php # Database management
β βββ logs.php # Log viewer
β
βββ assets/
βββ css/style.css # All styles
βββ js/main.js # JavaScript
- System Overview - CPU, RAM, Disk usage at a glance
- Service Status - See which services are running
- Quick Actions - Jump to any module quickly
- Real-time Stats - Auto-refreshes every 5 seconds
- Web-based Command Line - Execute shell commands from browser
- Command History - Keeps track of your commands
- Safety Features - Blocks dangerous commands
- Quick Commands - Pre-built buttons for common tasks
- Syntax Highlighting - Color-coded terminal output
- CPU Monitoring - Real-time CPU usage and load average
- Memory Stats - RAM usage with visual progress bars
- Disk Space - Storage usage across partitions
- Process List - Top processes by memory usage
- Network Info - Network interface statistics
- Auto-refresh - Updates every 3 seconds
- Modern Windows Explorer Interface - Familiar layout with sidebar and file grid
- Drag & Drop Upload - Simply drag files to upload
- Drag & Drop to Move - Drag files to folders to organize
- Grid/List View Toggle - Switch between icon view and detailed table
- In-Browser Editor - Edit HTML, PHP, CSS, JS, TXT files directly
- File Operations - Upload, download, rename, delete, create folders
- Light/Dark Mode - Toggle theme to suit your preference
- Breadcrumb Navigation - Easy path navigation
- Directory Tree Sidebar - Quick folder access
- Keyboard Shortcuts - F2 (rename), Delete, F5 (refresh)
- Responsive Design - Works on desktop and mobile
- Security Features - Path traversal protection, file type validation
- Virtual Host Listing - See all configured sites
- Site Status - Check if sites are enabled/disabled
- Quick Setup Guide - Instructions for hosting new sites
- Apache Commands - Common website management commands
- Start/Stop Services - Control Apache, Nginx, MySQL, PHP-FPM
- Enable/Disable Auto-start - Configure boot behavior
- Service Status - Real-time status indicators
- One-click Actions - Simple buttons for service management
- MySQL/MariaDB Status - Check if database is running
- Common Commands - SQL command reference
- phpMyAdmin Setup - Installation guide
- Backup/Restore - Database backup commands
- Multiple Logs - Apache, Nginx, MySQL, System logs
- Real-time Viewing - Auto-refreshes every 5 seconds
- Configurable Lines - View 10-500 lines
- Search & Filter - Terminal commands for log analysis
# From Windows PowerShell
scp -r Linux-web-server-Interface/* root@YOUR-SERVER-IP:/var/www/html/panel/ssh root@YOUR-SERVER-IP
chown -R www-data:www-data /var/www/html/panel
find /var/www/html/panel -type d -exec chmod 755 {} \;
find /var/www/html/panel -type f -exec chmod 644 {} \;nano /var/www/html/panel/config.php
# Change ADMIN_PASSWORD (line 16)
# Server IP is auto-detected - no need to change!http://YOUR-SERVER-IP/panel/
Upload all files to your server maintaining the directory structure:
scp -r Linux-web-server-Interface/* root@YOUR-SERVER-IP:/var/www/html/panel/Or create the structure manually:
ssh root@YOUR-SERVER-IP
cd /var/www/html
mkdir -p panel/{includes,modules,assets/{css,js}}# Set ownership
chown -R www-data:www-data /var/www/html/panel
# Set directory permissions
find /var/www/html/panel -type d -exec chmod 755 {} \;
# Set file permissions
find /var/www/html/panel -type f -exec chmod 644 {} \;Edit config.php:
// Change the password!
define('ADMIN_PASSWORD', 'your-strong-password-here');
// Server IP is auto-detected - no need to change!
// Server root (change if your web root is different)
define('SERVER_ROOT', '/var/www/html');Navigate to:
http://YOUR-SERVER-IP/panel/index_new.php
Login with the password you set in config.php.
// Authentication
ADMIN_PASSWORD // Login password
// Paths
SERVER_ROOT // Root directory for file operations
SERVER_IP // Your server's IP address
// File Manager
MAX_UPLOAD_SIZE // Maximum upload size (bytes)
MAX_PREVIEW_SIZE // Maximum preview size (bytes)
ALLOWED_EXTENSIONS // Array of allowed file types
// Services
SERVICES // Services to manage
// Logs
LOG_FILES // Log files to display
// Database
DB_HOST, DB_USER, DB_PASS // MySQL credentials- View system stats and service status
- Click any stat card to see more details
- Use quick action buttons to navigate
- Type commands and press Enter
- Use quick command buttons for common tasks
- Type
clearto clear the screen - Command history is saved in your session
- View real-time system resources
- Progress bars show usage percentages
- Auto-refreshes every 3 seconds
- Check top processes and disk partitions
- Click Start/Stop to control services
- Click Restart after configuration changes
- Enable/Disable auto-start on boot
- Confirm dialogs prevent accidents
- Select log file from dropdown
- Choose number of lines to display
- Auto-refreshes every 5 seconds
- Use terminal for advanced log analysis
// In config.php
define('ADMIN_PASSWORD', 'Use-A-Very-Strong-P@ssw0rd!');mv index_new.php my-secret-panel.phpAdd to .htaccess:
<RequireAll>
Require ip YOUR.IP.ADDRESS
</RequireAll># Install SSL certificate
apt install certbot python3-certbot-apache
certbot --apache -d yourdomain.com# Keep system updated
apt update && apt upgradeEdit assets/css/style.css:
:root {
--primary: #667eea; /* Change to your color */
--secondary: #764ba2; /* Change to your color */
}- Create
modules/mymodule.php - Add to
index_new.phpvalid modules array - Add navigation link in
includes/header.php
Edit config.php:
define('SERVICES', [
'apache2' => 'Apache Web Server',
'your-service' => 'Your Service Name',
]);# Check file permissions
ls -la /var/www/html/panel/config.php
# Verify password in config.php
cat /var/www/html/panel/config.php | grep ADMIN_PASSWORD# Check PHP exec() is enabled
php -r "echo (function_exists('exec') ? 'Enabled' : 'Disabled');"
# Check disable_functions in php.ini
grep disable_functions /etc/php/*/apache2/php.ini# Check if running as www-data has sudo access
# You may need to add www-data to sudoers for systemctl
# Or run panel as root (not recommended for production)# Check log file permissions
ls -la /var/log/apache2/
# Make logs readable
chmod 644 /var/log/apache2/*.logStandalone Access:
http://YOUR-SERVER-IP/panel/filemanager.php
Integrated Access:
- Click "Files" in the sidebar navigation
- Click "Upload" button or drag files directly
- Supports multiple file uploads
- Max file size: 50MB
- Allowed types: html, php, js, css, txt, jpg, png, gif, svg, zip, pdf, json, xml, md
- Click and hold any file/folder
- Drag over a folder (it highlights blue)
- Release to drop
- Confirm the move
- Works with sidebar folders too!
- Grid View (β) - Large icons, perfect for browsing images
- List View (β°) - Detailed table with size, date, permissions
- Your preference is saved automatically
- Upload - Drag & drop or click to browse
- Download - Select file and click download
- Rename - Select file and press F2 or click Rename
- Delete - Select file and press Delete or click Delete button
- Edit - Double-click text files to edit in browser
- Create Folder - Click "New Folder" button
- Breadcrumbs - Click any path segment to navigate
- Sidebar Tree - Click folders in left sidebar
- Back/Up Buttons - Navigate through history
- Double-click - Open folders or edit files
F2- Rename selected fileDelete- Delete selected fileF5- Refresh file listDouble-click- Open folder or edit file
- Click theme toggle in header
- Preference saved in browser
- Smooth transitions between themes
Edit filemanager.php (lines 3-6):
define('ROOT_DIR', '/var/www/html'); // Root directory
define('MAX_UPLOAD_SIZE', 52428800); // 50MB limit
define('ALLOWED_EXTENSIONS', array(...)); // Allowed file types
define('EDITABLE_EXTENSIONS', array(...)); // Editable in browserβ Path Traversal Protection - Cannot access files outside ROOT_DIR β File Type Validation - Only allowed extensions can be uploaded β Input Sanitization - All user inputs are sanitized β Confirmation Dialogs - Confirms before delete/move operations β Size Limits - 50MB upload limit prevents abuse
Quick Organization:
- Switch to List View (β°) to see file details
- Sort by date/size visually
- Drag files to folders to organize
- Switch back to Grid View (β) for visual browsing
Sidebar Shortcuts:
- Drag files directly to sidebar folders
- No need to navigate into folder first
- Quick access to deep directory structures
Batch Operations:
- Upload multiple files at once
- Drag & drop supports multiple files
- Progress shown for each file
Upload fails:
- Check folder permissions (755 for folders, 644 for files)
- Verify file size < 50MB
- Ensure file type is in ALLOWED_EXTENSIONS
Can't move files:
- Refresh page (F5)
- Check destination folder permissions
- Ensure not moving folder into itself
Editor not working:
- File must be in EDITABLE_EXTENSIONS
- File size must be reasonable
- Check file permissions (must be readable)
Dark mode not saving:
- Enable browser localStorage
- Clear browser cache
- Try different browser
| Module | Purpose | Auto-Refresh |
|---|---|---|
| Dashboard | System overview | 5 seconds |
| Terminal | Command execution | No |
| Monitor | Resource monitoring | 3 seconds |
| Files | File management | No |
| Websites | Virtual host management | No |
| Services | Service control | No |
| Database | MySQL management | No |
| Logs | Log viewing | 5 seconds |
Create modules/cron.php to manage scheduled tasks
Create modules/users.php to manage Linux users
Create modules/backup.php for automated backups
Create modules/firewall.php for UFW/iptables control
- Create module file:
modules/newmodule.php
<?php
if (!defined('PANEL_ACCESS')) {
die('Direct access not permitted');
}
?>
<div class="card">
<div class="card-header">Your Module</div>
<div class="card-body">
<!-- Your content -->
</div>
</div>- Add to routing: Edit
index_new.php
$validModules = ['dashboard', 'terminal', ..., 'newmodule'];- Add navigation: Edit
includes/header.php
<a href="<?php echo buildUrl('newmodule'); ?>" class="nav-item">
<span class="nav-icon">π―</span>
<span class="nav-text">New Module</span>
</a>- Terminal Access - The terminal has full server access. Use carefully!
- Service Control - Stopping critical services can break your server
- File Operations - Always backup before bulk operations
- Database Access - Incorrect SQL can corrupt databases
- Log Files - Some logs may contain sensitive information
If locked out:
# SSH into server
ssh root@YOUR-SERVER-IP
# Reset password in config
nano /var/www/html/panel/config.php
# Or remove panel temporarily
mv /var/www/html/panel /root/panel-backupFor issues:
- Check the troubleshooting section
- Review server error logs
- Test commands in SSH first
- Verify file permissions
Personal/Educational use. Modify as needed for your server.
The enhanced file manager (filemanager.php) is a standalone, production-ready tool that can be used independently or integrated into the control panel:
http://YOUR-SERVER-IP/panel/filemanager.php
- π¨ Modern UI - Windows Explorer-style interface
- π±οΈ Drag & Drop - Upload files and move them between folders
- ποΈ View Modes - Grid (icons) and List (details) views
- βοΈ In-Browser Editor - Edit code files directly
- π Dark Mode - Easy on the eyes
- β¨οΈ Keyboard Shortcuts - Power user friendly
- π Secure - Path traversal protection, file validation
- π± Responsive - Works on mobile devices
- Managing website files without FTP
- Quick edits to HTML/CSS/JS/PHP files
- Organizing server files visually
- Uploading multiple files at once
- Moving files between directories
π You now have a complete server control panel!
Access all features through the sidebar navigation. Start with the Dashboard to get an overview of your system.
File Manager: The standalone file manager is your go-to tool for visual file management - no more command line or FTP needed!