A simple, beautiful hosting control panel built with PHP and SQLite.
- ✅ User authentication and login system
- ✅ Beautiful, responsive UI with gradient design
- ✅ Admin user creation and setup
- ✅ Dashboard with stats and quick actions
- ✅ Sidebar navigation with multiple sections
- ✅ Session management
- ✅ SQLite database (no external DB required)
- ✅ Automated installer script
Using the automated installer (recommended):
sudo bash install.shThe installer will:
- ✅ Check all requirements (PHP, SQLite, Apache)
- ✅ Detect your web root automatically
- ✅ Copy files to the correct location
- ✅ Set proper permissions
- ✅ Display access URLs
- Copy all files to your web directory (Apache/Nginx DocumentRoot), e.g.:
- Apache (common on RHEL/Alma/Rocky):
/var/www/html/panel/ - Nginx (varies):
/usr/share/nginx/html/panel/or your vhostrootdirectory
- Apache (common on RHEL/Alma/Rocky):
- Set ownership:
chown -R apache:apache /path/to/panel - Set permissions:
chmod 755 /path/to/panel && chmod 644 /path/to/panel/* - Make directory writable:
chmod 775 /path/to/panel - Navigate to the panel in your browser
- If your domain has multiple vhosts, make sure the panel is installed under the vhost
DocumentRootthat serves your domain. - On many setups, HTTP (
:80) redirects to HTTPS (:443). Access the panel via the HTTPS URL you actually use.
If you run Nginx + PHP-FPM, a minimal server block that serves /panel might look like:
server {
listen 80;
server_name example.com;
root /usr/share/nginx/html;
index index.php;
location /panel/ {
try_files $uri $uri/ /panel/index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php-fpm/www.sock; # adjust to your distro
}
}If you use SQLite, ensure the /panel directory is writable by the PHP-FPM worker user so it can create panel.db.
-
First Time Setup
- Navigate to the panel in your browser
- You'll be redirected to
/setup.php - Create your admin account
-
Login
- After setup, you'll be redirected to login
- Use your admin credentials to access the dashboard
-
Dashboard
- View hosting stats
- Access quick actions
- Navigate through different sections using the sidebar
/home/
├── index.php # Login page
├── setup.php # Initial admin setup
├── dashboard.php # Main dashboard
├── config.php # Configuration & database
├── config.local.php # Optional local overrides (create locally; don't commit)
├── logout.php # Logout handler
├── style.css # Beautiful styling
├── .htaccess # Apache configuration
└── panel.db # SQLite database (created on setup)
## Public Repo Note
- `panel.db` is ignored by git and should never be committed.
- System-command features are disabled by default. Enable with `PANEL_ALLOW_SYSTEM_COMMANDS=1` only if you understand the risk.
- PHP 7.4 or higher
- SQLite3 PHP extension
- Apache with mod_rewrite (or similar web server)
- Passwords are hashed using PHP's password_hash()
- Database file is protected via .htaccess
- Sessions are used for authentication
- SQL injection protection via prepared statements
The sidebar includes navigation for:
- Domains Management
- Websites Management
- Database Management
- Email Accounts
- FTP Accounts
- SSL Certificates
- Statistics
These are currently placeholder links ready for implementation.
The panel features a modern design with:
- Purple gradient theme (#667eea to #764ba2)
- Smooth animations and transitions
- Responsive layout
- Clean, professional UI
- Card-based layout
- Icon-enhanced navigation