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!