Hosting Panel
    Free Tier

    Deploy KeyHelp Hosting Panel on a VPS

    Free, feature-rich hosting control panel with domain management, email, databases, DNS, SSL certificates, and reseller support — no licensing costs.

    At a Glance

    ProjectKeyHelp by Keyweb AG
    LicenseFree tier (Pro upgrade available)
    Recommended PlanRamNode Premium KVM 2 GB+
    OSUbuntu 24.04 LTS or Debian 12/13
    StackApache, MariaDB, PHP, Postfix, Dovecot, BIND, PureFTPd
    Estimated Setup Time15–25 minutes

    Prerequisites

    • A RamNode VPS with at least 2 GB RAM (Ubuntu 24.04 LTS or Debian 12)
    • A registered domain name with DNS access
    • An SSH client and basic Linux command-line familiarity
    • A clean, minimal OS — no pre-installed web/mail/DB servers
    1

    Provision Your RamNode VPS

    Deploy a VPS with Ubuntu 24.04 LTS, 2 GB+ RAM. Note the IP address from the dashboard.

    DNS Records

    TypeNameValue
    Apanel.yourdomain.comYOUR_SERVER_IP
    Ayourdomain.comYOUR_SERVER_IP
    MXyourdomain.companel.yourdomain.com
    2

    Initial Server Configuration

    SSH in and update
    ssh root@YOUR_SERVER_IP
    apt update && apt upgrade -y
    Set hostname
    hostnamectl set-hostname panel.yourdomain.com
    echo "YOUR_SERVER_IP panel.yourdomain.com panel" >> /etc/hosts
    3

    Install KeyHelp

    KeyHelp requires a clean OS with no pre-installed web servers or databases.

    Download and run installer
    wget https://install.keyhelp.de/get_keyhelp.php -O install_keyhelp.sh
    bash install_keyhelp.sh

    The interactive wizard prompts for admin username, password, email, hostname, and Let's Encrypt. Installation takes 5–10 minutes, then the server reboots.

    Retrieve login credentials
    cat /root/keyhelp_login_data_*

    Important: Save credentials in a password manager, then delete the file: rm /root/keyhelp_login_data_*

    4

    Access the KeyHelp Panel

    Navigate to https://panel.yourdomain.com and log in with your admin credentials. The dashboard shows server resource usage, service status, and recent activity.

    5

    Add Your First Domain

    • Navigate to Hosting → UsersAdd User
    • Define resource limits under Hosting Packages
    • Go to Hosting → DomainsAdd Domain
    • KeyHelp auto-creates the Apache VHost, DNS zone, and directory structure
    6

    Configure SSL/TLS with Let's Encrypt

    Navigate to a domain → SSL/TLS tab → select Let's Encrypt → check domain and subdomains → Request Certificate.

    Enable Force HTTPS in the same tab. Certificates renew automatically 30 days before expiration.

    7

    Set Up Email

    KeyHelp installs Postfix and Dovecot automatically. Create accounts under Email → Email Accounts.

    Email Deliverability DNS Records

    SPF record
    v=spf1 ip4:YOUR_SERVER_IP ~all
    DMARC record
    v=DMARC1; p=quarantine; rua=mailto:postmaster@yourdomain.com

    Enable DKIM under Email → DKIM and set the PTR record via the RamNode control panel. Webmail available at https://panel.yourdomain.com/webmail.

    8

    Database Management

    Create databases under Databases → MySQL Databases. Access phpMyAdmin at https://panel.yourdomain.com/phpmyadmin.

    9

    Security Hardening

    Enable 2FA

    Go to User Settings → enable Two-Factor Authentication and scan the QR code.

    Harden SSH

    SSH hardening
    Port 2222
    PermitRootLogin prohibit-password
    PasswordAuthentication no
    MaxAuthTries 3
    Restart SSH
    systemctl restart sshd

    Restrict Panel Access by IP

    .htaccess
    <RequireAny>
        Require all denied
        Require ip YOUR_OFFICE_IP
        Require ip YOUR_HOME_IP
    </RequireAny>

    Verify Fail2Ban

    Check fail2ban
    systemctl status fail2ban
    fail2ban-client status
    10

    Configure Backups

    Configure under Configuration → Backup: daily schedule, retention period, and components (files, databases, email, config).

    Off-Server Backup

    Rsync cron job
    0 3 * * * rsync -avz /home/keyhelp/backups/ user@backup-server:/backups/keyhelp/ --delete
    11

    Performance Tuning

    MariaDB (2 GB VPS)

    50-server.cnf tuning
    innodb_buffer_pool_size = 256M
    innodb_log_file_size = 64M
    max_connections = 50
    query_cache_type = 1
    query_cache_size = 32M
    tmp_table_size = 32M
    max_heap_table_size = 32M
    Restart MariaDB
    systemctl restart mariadb

    Per-domain PHP settings available under Hosting → Domains → PHP Settings. Verify OPcache: php -i | grep opcache.enable.

    Troubleshooting

    • Cannot access panel — Verify DNS, check Apache: systemctl status apache2, check firewall: iptables -L -n.
    • Let's Encrypt fails — Ensure ports 80/443 are open, verify A record resolves, check rate limits.
    • Email not working — Confirm MX record, check Postfix: systemctl status postfix, verify port 25 isn't blocked.
    • High memory — Reduce Apache MaxRequestWorkers, lower MariaDB buffer pool, disable ClamAV if not needed.