{"id":32692923,"url":"https://github.com/rajen05/linux-based-webserver-dashboard-interface","last_synced_at":"2026-05-05T17:31:47.571Z","repository":{"id":319010912,"uuid":"1076550657","full_name":"rajen05/Linux-Based-WebServer-Dashboard-Interface","owner":"rajen05","description":"A modular, web-based control panel for managing Linux VPS servers, providing file management, system monitoring, service control, database management, logs viewing, and a web terminal,all from your browser.","archived":false,"fork":false,"pushed_at":"2025-10-16T06:15:01.000Z","size":163,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-17T04:54:01.316Z","etag":null,"topics":["apache","cloud-server","file-manager","linux","nginx","server-management","vps","web-dashboard"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rajen05.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-15T02:53:00.000Z","updated_at":"2025-10-16T06:15:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"967c0508-85ed-4ec9-bdca-bea6cb7d787f","html_url":"https://github.com/rajen05/Linux-Based-WebServer-Dashboard-Interface","commit_stats":null,"previous_names":["rajen05/linux-based-webserver-dashboard-interface"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/rajen05/Linux-Based-WebServer-Dashboard-Interface","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajen05%2FLinux-Based-WebServer-Dashboard-Interface","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajen05%2FLinux-Based-WebServer-Dashboard-Interface/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajen05%2FLinux-Based-WebServer-Dashboard-Interface/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajen05%2FLinux-Based-WebServer-Dashboard-Interface/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rajen05","download_url":"https://codeload.github.com/rajen05/Linux-Based-WebServer-Dashboard-Interface/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajen05%2FLinux-Based-WebServer-Dashboard-Interface/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":282166183,"owners_count":26625194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-01T02:00:06.759Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache","cloud-server","file-manager","linux","nginx","server-management","vps","web-dashboard"],"created_at":"2025-11-01T16:02:14.088Z","updated_at":"2025-11-01T16:05:03.029Z","avatar_url":"https://github.com/rajen05.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🖥️ Complete Server Control Panel\n\nA comprehensive, modular web-based control panel for managing your Linux VPS server.\n\n**For:** Linux VPS / Cloud Servers\n\n## 🚀 Quick Start\n\n```bash\n# 1. Upload to server\nscp -r * root@YOUR-SERVER-IP:/var/www/html/panel/\n\n# 2. Set permissions\nssh root@YOUR-SERVER-IP\nchown -R www-data:www-data /var/www/html/panel\nchmod -R 755 /var/www/html/panel\n\n# 3. Change password in config.php\nnano /var/www/html/panel/config.php\n\n# 4. Access\n# http://YOUR-SERVER-IP/panel/\n```\n\n## ⭐ What's New in File Manager\n\n- ✅ **Drag \u0026 Drop to Move Files** - Organize by dragging files to folders\n- ✅ **Grid/List View Toggle** - Switch between icon and detailed views\n- ✅ **Enhanced UI** - Modern Windows Explorer-style interface\n- ✅ **Light/Dark Mode** - Theme toggle with saved preference\n- ✅ **Improved Navigation** - Breadcrumbs, sidebar tree, keyboard shortcuts\n\n## 📁 File Structure\n\n```\nLinux-web-server-Interface/\n├── index.php              # Main panel entry point\n├── filemanager.php        # Standalone file manager\n├── config.php             # Configuration (CHANGE PASSWORD!)\n├── auth.php               # Authentication system\n├── .htaccess              # Apache security settings\n│\n├── includes/\n│   ├── header.php         # Sidebar navigation\n│   ├── footer.php         # Footer\n│   └── functions.php      # Shared utilities\n│\n├── modules/\n│   ├── dashboard.php      # System overview\n│   ├── terminal.php       # Web terminal\n│   ├── monitor.php        # System monitoring\n│   ├── files.php          # File manager (embedded)\n│   ├── websites.php       # Virtual hosts\n│   ├── services.php       # Service control (auto-detect)\n│   ├── database.php       # Database management\n│   └── logs.php           # Log viewer\n│\n└── assets/\n    ├── css/style.css      # All styles\n    └── js/main.js         # JavaScript\n```\n\n## ✨ Features\n\n### 📊 Dashboard\n- **System Overview** - CPU, RAM, Disk usage at a glance\n- **Service Status** - See which services are running\n- **Quick Actions** - Jump to any module quickly\n- **Real-time Stats** - Auto-refreshes every 5 seconds\n\n### 💻 Terminal\n- **Web-based Command Line** - Execute shell commands from browser\n- **Command History** - Keeps track of your commands\n- **Safety Features** - Blocks dangerous commands\n- **Quick Commands** - Pre-built buttons for common tasks\n- **Syntax Highlighting** - Color-coded terminal output\n\n### 📈 System Monitor\n- **CPU Monitoring** - Real-time CPU usage and load average\n- **Memory Stats** - RAM usage with visual progress bars\n- **Disk Space** - Storage usage across partitions\n- **Process List** - Top processes by memory usage\n- **Network Info** - Network interface statistics\n- **Auto-refresh** - Updates every 3 seconds\n\n### 📁 File Manager (Enhanced!)\n- **Modern Windows Explorer Interface** - Familiar layout with sidebar and file grid\n- **Drag \u0026 Drop Upload** - Simply drag files to upload\n- **Drag \u0026 Drop to Move** - Drag files to folders to organize\n- **Grid/List View Toggle** - Switch between icon view and detailed table\n- **In-Browser Editor** - Edit HTML, PHP, CSS, JS, TXT files directly\n- **File Operations** - Upload, download, rename, delete, create folders\n- **Light/Dark Mode** - Toggle theme to suit your preference\n- **Breadcrumb Navigation** - Easy path navigation\n- **Directory Tree Sidebar** - Quick folder access\n- **Keyboard Shortcuts** - F2 (rename), Delete, F5 (refresh)\n- **Responsive Design** - Works on desktop and mobile\n- **Security Features** - Path traversal protection, file type validation\n\n### 🌐 Website Management\n- **Virtual Host Listing** - See all configured sites\n- **Site Status** - Check if sites are enabled/disabled\n- **Quick Setup Guide** - Instructions for hosting new sites\n- **Apache Commands** - Common website management commands\n\n### ⚙️ Service Control\n- **Start/Stop Services** - Control Apache, Nginx, MySQL, PHP-FPM\n- **Enable/Disable Auto-start** - Configure boot behavior\n- **Service Status** - Real-time status indicators\n- **One-click Actions** - Simple buttons for service management\n\n### 🗄️ Database Management\n- **MySQL/MariaDB Status** - Check if database is running\n- **Common Commands** - SQL command reference\n- **phpMyAdmin Setup** - Installation guide\n- **Backup/Restore** - Database backup commands\n\n### 📝 Log Viewer\n- **Multiple Logs** - Apache, Nginx, MySQL, System logs\n- **Real-time Viewing** - Auto-refreshes every 5 seconds\n- **Configurable Lines** - View 10-500 lines\n- **Search \u0026 Filter** - Terminal commands for log analysis\n\n## 🚀 Quick Deployment\n\n### Upload to Server\n```powershell\n# From Windows PowerShell\nscp -r Linux-web-server-Interface/* root@YOUR-SERVER-IP:/var/www/html/panel/\n```\n\n### Set Permissions\n```bash\nssh root@YOUR-SERVER-IP\nchown -R www-data:www-data /var/www/html/panel\nfind /var/www/html/panel -type d -exec chmod 755 {} \\;\nfind /var/www/html/panel -type f -exec chmod 644 {} \\;\n```\n\n### Configure\n```bash\nnano /var/www/html/panel/config.php\n# Change ADMIN_PASSWORD (line 16)\n# Server IP is auto-detected - no need to change!\n```\n\n### Access\n```\nhttp://YOUR-SERVER-IP/panel/\n```\n\n## 🔧 Installation\n\n### Step 1: Upload Files\n\nUpload all files to your server maintaining the directory structure:\n\n```bash\nscp -r Linux-web-server-Interface/* root@YOUR-SERVER-IP:/var/www/html/panel/\n```\n\nOr create the structure manually:\n\n```bash\nssh root@YOUR-SERVER-IP\ncd /var/www/html\nmkdir -p panel/{includes,modules,assets/{css,js}}\n```\n\n### Step 2: Set Permissions\n\n```bash\n# Set ownership\nchown -R www-data:www-data /var/www/html/panel\n\n# Set directory permissions\nfind /var/www/html/panel -type d -exec chmod 755 {} \\;\n\n# Set file permissions\nfind /var/www/html/panel -type f -exec chmod 644 {} \\;\n```\n\n### Step 3: Configure\n\nEdit `config.php`:\n\n```php\n// Change the password!\ndefine('ADMIN_PASSWORD', 'your-strong-password-here');\n\n// Server IP is auto-detected - no need to change!\n// Server root (change if your web root is different)\ndefine('SERVER_ROOT', '/var/www/html');\n```\n\n### Step 4: Access\n\nNavigate to:\n```\nhttp://YOUR-SERVER-IP/panel/index_new.php\n```\n\nLogin with the password you set in `config.php`.\n\n## 🔧 Configuration Options\n\n### config.php Settings\n\n```php\n// Authentication\nADMIN_PASSWORD          // Login password\n\n// Paths\nSERVER_ROOT            // Root directory for file operations\nSERVER_IP              // Your server's IP address\n\n// File Manager\nMAX_UPLOAD_SIZE        // Maximum upload size (bytes)\nMAX_PREVIEW_SIZE       // Maximum preview size (bytes)\nALLOWED_EXTENSIONS     // Array of allowed file types\n\n// Services\nSERVICES               // Services to manage\n\n// Logs\nLOG_FILES              // Log files to display\n\n// Database\nDB_HOST, DB_USER, DB_PASS  // MySQL credentials\n```\n\n## 📖 Usage Guide\n\n### Dashboard\n- View system stats and service status\n- Click any stat card to see more details\n- Use quick action buttons to navigate\n\n### Terminal\n- Type commands and press Enter\n- Use quick command buttons for common tasks\n- Type `clear` to clear the screen\n- Command history is saved in your session\n\n### System Monitor\n- View real-time system resources\n- Progress bars show usage percentages\n- Auto-refreshes every 3 seconds\n- Check top processes and disk partitions\n\n### Service Control\n- Click Start/Stop to control services\n- Click Restart after configuration changes\n- Enable/Disable auto-start on boot\n- Confirm dialogs prevent accidents\n\n### Log Viewer\n- Select log file from dropdown\n- Choose number of lines to display\n- Auto-refreshes every 5 seconds\n- Use terminal for advanced log analysis\n\n## 🔐 Security Best Practices\n\n### 1. Change Default Password\n```php\n// In config.php\ndefine('ADMIN_PASSWORD', 'Use-A-Very-Strong-P@ssw0rd!');\n```\n\n### 2. Rename Entry Point\n```bash\nmv index_new.php my-secret-panel.php\n```\n\n### 3. Restrict by IP\nAdd to `.htaccess`:\n```apache\n\u003cRequireAll\u003e\n    Require ip YOUR.IP.ADDRESS\n\u003c/RequireAll\u003e\n```\n\n### 4. Use HTTPS\n```bash\n# Install SSL certificate\napt install certbot python3-certbot-apache\ncertbot --apache -d yourdomain.com\n```\n\n### 5. Regular Updates\n```bash\n# Keep system updated\napt update \u0026\u0026 apt upgrade\n```\n\n## 🎨 Customization\n\n### Change Colors\nEdit `assets/css/style.css`:\n```css\n:root {\n    --primary: #667eea;      /* Change to your color */\n    --secondary: #764ba2;    /* Change to your color */\n}\n```\n\n### Add New Module\n1. Create `modules/mymodule.php`\n2. Add to `index_new.php` valid modules array\n3. Add navigation link in `includes/header.php`\n\n### Modify Services\nEdit `config.php`:\n```php\ndefine('SERVICES', [\n    'apache2' =\u003e 'Apache Web Server',\n    'your-service' =\u003e 'Your Service Name',\n]);\n```\n\n## 🐛 Troubleshooting\n\n### Can't Login\n```bash\n# Check file permissions\nls -la /var/www/html/panel/config.php\n\n# Verify password in config.php\ncat /var/www/html/panel/config.php | grep ADMIN_PASSWORD\n```\n\n### Terminal Not Working\n```bash\n# Check PHP exec() is enabled\nphp -r \"echo (function_exists('exec') ? 'Enabled' : 'Disabled');\"\n\n# Check disable_functions in php.ini\ngrep disable_functions /etc/php/*/apache2/php.ini\n```\n\n### Services Won't Start/Stop\n```bash\n# Check if running as www-data has sudo access\n# You may need to add www-data to sudoers for systemctl\n\n# Or run panel as root (not recommended for production)\n```\n\n### Logs Not Showing\n```bash\n# Check log file permissions\nls -la /var/log/apache2/\n\n# Make logs readable\nchmod 644 /var/log/apache2/*.log\n```\n\n## 📁 File Manager Guide\n\n### Accessing the File Manager\n\n**Standalone Access:**\n```\nhttp://YOUR-SERVER-IP/panel/filemanager.php\n```\n\n**Integrated Access:**\n- Click \"Files\" in the sidebar navigation\n\n### Features Overview\n\n#### 1. **Drag \u0026 Drop Upload**\n- Click \"Upload\" button or drag files directly\n- Supports multiple file uploads\n- Max file size: 50MB\n- Allowed types: html, php, js, css, txt, jpg, png, gif, svg, zip, pdf, json, xml, md\n\n#### 2. **Drag \u0026 Drop to Move Files** ⭐ NEW!\n- Click and hold any file/folder\n- Drag over a folder (it highlights blue)\n- Release to drop\n- Confirm the move\n- Works with sidebar folders too!\n\n#### 3. **View Modes** ⭐ NEW!\n- **Grid View (⊞)** - Large icons, perfect for browsing images\n- **List View (☰)** - Detailed table with size, date, permissions\n- Your preference is saved automatically\n\n#### 4. **File Operations**\n- **Upload** - Drag \u0026 drop or click to browse\n- **Download** - Select file and click download\n- **Rename** - Select file and press F2 or click Rename\n- **Delete** - Select file and press Delete or click Delete button\n- **Edit** - Double-click text files to edit in browser\n- **Create Folder** - Click \"New Folder\" button\n\n#### 5. **Navigation**\n- **Breadcrumbs** - Click any path segment to navigate\n- **Sidebar Tree** - Click folders in left sidebar\n- **Back/Up Buttons** - Navigate through history\n- **Double-click** - Open folders or edit files\n\n#### 6. **Keyboard Shortcuts**\n- `F2` - Rename selected file\n- `Delete` - Delete selected file\n- `F5` - Refresh file list\n- `Double-click` - Open folder or edit file\n\n#### 7. **Light/Dark Mode**\n- Click theme toggle in header\n- Preference saved in browser\n- Smooth transitions between themes\n\n### File Manager Configuration\n\nEdit `filemanager.php` (lines 3-6):\n\n```php\ndefine('ROOT_DIR', '/var/www/html');           // Root directory\ndefine('MAX_UPLOAD_SIZE', 52428800);           // 50MB limit\ndefine('ALLOWED_EXTENSIONS', array(...));      // Allowed file types\ndefine('EDITABLE_EXTENSIONS', array(...));     // Editable in browser\n```\n\n### Security Features\n\n✅ **Path Traversal Protection** - Cannot access files outside ROOT_DIR\n✅ **File Type Validation** - Only allowed extensions can be uploaded\n✅ **Input Sanitization** - All user inputs are sanitized\n✅ **Confirmation Dialogs** - Confirms before delete/move operations\n✅ **Size Limits** - 50MB upload limit prevents abuse\n\n### Tips \u0026 Tricks\n\n**Quick Organization:**\n1. Switch to List View (☰) to see file details\n2. Sort by date/size visually\n3. Drag files to folders to organize\n4. Switch back to Grid View (⊞) for visual browsing\n\n**Sidebar Shortcuts:**\n- Drag files directly to sidebar folders\n- No need to navigate into folder first\n- Quick access to deep directory structures\n\n**Batch Operations:**\n- Upload multiple files at once\n- Drag \u0026 drop supports multiple files\n- Progress shown for each file\n\n### Troubleshooting\n\n**Upload fails:**\n- Check folder permissions (755 for folders, 644 for files)\n- Verify file size \u003c 50MB\n- Ensure file type is in ALLOWED_EXTENSIONS\n\n**Can't move files:**\n- Refresh page (F5)\n- Check destination folder permissions\n- Ensure not moving folder into itself\n\n**Editor not working:**\n- File must be in EDITABLE_EXTENSIONS\n- File size must be reasonable\n- Check file permissions (must be readable)\n\n**Dark mode not saving:**\n- Enable browser localStorage\n- Clear browser cache\n- Try different browser\n\n## 📊 Module Overview\n\n| Module | Purpose | Auto-Refresh |\n|--------|---------|--------------|\n| Dashboard | System overview | 5 seconds |\n| Terminal | Command execution | No |\n| Monitor | Resource monitoring | 3 seconds |\n| Files | File management | No |\n| Websites | Virtual host management | No |\n| Services | Service control | No |\n| Database | MySQL management | No |\n| Logs | Log viewing | 5 seconds |\n\n## 🚀 Advanced Features\n\n### Add Cron Job Management\nCreate `modules/cron.php` to manage scheduled tasks\n\n### Add User Management\nCreate `modules/users.php` to manage Linux users\n\n### Add Backup System\nCreate `modules/backup.php` for automated backups\n\n### Add Firewall Management\nCreate `modules/firewall.php` for UFW/iptables control\n\n## 📝 Development Notes\n\n### Adding a New Module\n\n1. **Create module file**: `modules/newmodule.php`\n```php\n\u003c?php\nif (!defined('PANEL_ACCESS')) {\n    die('Direct access not permitted');\n}\n?\u003e\n\n\u003cdiv class=\"card\"\u003e\n    \u003cdiv class=\"card-header\"\u003eYour Module\u003c/div\u003e\n    \u003cdiv class=\"card-body\"\u003e\n        \u003c!-- Your content --\u003e\n    \u003c/div\u003e\n\u003c/div\u003e\n```\n\n2. **Add to routing**: Edit `index_new.php`\n```php\n$validModules = ['dashboard', 'terminal', ..., 'newmodule'];\n```\n\n3. **Add navigation**: Edit `includes/header.php`\n```php\n\u003ca href=\"\u003c?php echo buildUrl('newmodule'); ?\u003e\" class=\"nav-item\"\u003e\n    \u003cspan class=\"nav-icon\"\u003e🎯\u003c/span\u003e\n    \u003cspan class=\"nav-text\"\u003eNew Module\u003c/span\u003e\n\u003c/a\u003e\n```\n\n## ⚠️ Important Warnings\n\n1. **Terminal Access** - The terminal has full server access. Use carefully!\n2. **Service Control** - Stopping critical services can break your server\n3. **File Operations** - Always backup before bulk operations\n4. **Database Access** - Incorrect SQL can corrupt databases\n5. **Log Files** - Some logs may contain sensitive information\n\n## 🆘 Emergency Access\n\nIf locked out:\n\n```bash\n# SSH into server\nssh root@YOUR-SERVER-IP\n\n# Reset password in config\nnano /var/www/html/panel/config.php\n\n# Or remove panel temporarily\nmv /var/www/html/panel /root/panel-backup\n```\n\n## 📞 Support\n\nFor issues:\n1. Check the troubleshooting section\n2. Review server error logs\n3. Test commands in SSH first\n4. Verify file permissions\n\n## 📄 License\n\nPersonal/Educational use. Modify as needed for your server.\n\n---\n\n## 🎯 File Manager Highlights\n\nThe enhanced file manager (`filemanager.php`) is a standalone, production-ready tool that can be used independently or integrated into the control panel:\n\n### Standalone Use:\n```\nhttp://YOUR-SERVER-IP/panel/filemanager.php\n```\n\n### Key Features:\n- 🎨 **Modern UI** - Windows Explorer-style interface\n- 🖱️ **Drag \u0026 Drop** - Upload files and move them between folders\n- 👁️ **View Modes** - Grid (icons) and List (details) views\n- ✏️ **In-Browser Editor** - Edit code files directly\n- 🌓 **Dark Mode** - Easy on the eyes\n- ⌨️ **Keyboard Shortcuts** - Power user friendly\n- 🔒 **Secure** - Path traversal protection, file validation\n- 📱 **Responsive** - Works on mobile devices\n\n### Perfect For:\n- Managing website files without FTP\n- Quick edits to HTML/CSS/JS/PHP files\n- Organizing server files visually\n- Uploading multiple files at once\n- Moving files between directories\n\n---\n\n**🎉 You now have a complete server control panel!**\n\nAccess all features through the sidebar navigation. Start with the Dashboard to get an overview of your system.\n\n**File Manager:** The standalone file manager is your go-to tool for visual file management - no more command line or FTP needed!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajen05%2Flinux-based-webserver-dashboard-interface","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frajen05%2Flinux-based-webserver-dashboard-interface","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajen05%2Flinux-based-webserver-dashboard-interface/lists"}