Knowledge Base

Comprehensive guides to get your VPS/KVM up and running

Step-by-step tutorials • Troubleshooting • Best practices • 24/7 Support

Guides

Click on a guide to expand and view detailed instructions

Getting Started

Accessing Your VPS via SSH

Connect securely to your server using SSH from any terminal.

  1. Retrieve your server's IP and root password from the Client Portal email or dashboard.
  2. On Linux/Mac: Open Terminal. On Windows: Use PuTTY or PowerShell.
  3. Run: ssh root@your-server-ip
  4. Enter the root password when prompted (it won't show as you type).
  5. Immediately change the password: passwd
  6. For enhanced security, set up SSH key authentication: ssh-keygen on your local machine, then ssh-copy-id root@your-server-ip.

Tip: Edit /etc/ssh/sshd_config to disable password auth and restart SSH: systemctl restart ssh.

Reinstalling the Operating System

Reset your VPS with a fresh OS install directly from the portal—no downtime hassles.

  1. Log into the Client Portal.
  2. Navigate to "My Services" and select your VPS.
  3. Click "Reinstall OS" in the management panel.
  4. Choose from pre-built images: Ubuntu 22.04, Debian 12, CentOS Stream, AlmaLinux, or upload a custom ISO.
  5. Confirm the action; the process takes 5-10 minutes.
  6. Once complete, new root credentials will be emailed. Reconnect via SSH.

Warning: This wipes all data—create a snapshot first!

Resetting Root Password

Forgot your root password? Reset it instantly via the Client Portal without support tickets.

  1. Log into the Client Portal.
  2. Go to "My Services" and select your VPS.
  3. In the "Actions" dropdown, select "Reset Root Password".
  4. Confirm the request; a new secure password is generated and emailed within 1 minute.
  5. Use the new password to SSH in and update it further if needed: passwd.

Security Note: Enable two-factor authentication (2FA) in your portal account for added protection.

Managing Upstream Firewall via Client Portal

Configure network-level firewall rules upstream of your VPS for global protection without server config.

  1. Log into the Client Portal.
  2. Select your VPS under "My Services".
  3. Navigate to "Firewall" tab in the service dashboard.
  4. Toggle "Upstream Filtering" on to enable SeattleNAP's DDoS mitigation and rule sets.
  5. Add rules: Allow/Block IPs, ports (e.g., allow 22 for SSH, 80/443 for web), or protocols.
  6. Save and apply—changes propagate in under 30 seconds with no reboot required.

Pro Tip: Combine with server-side UFW for layered defense. Monitor hits in the portal logs.

Security

Setting Up Firewalls (UFW on Ubuntu/Debian)

Implement server-side firewalls to control inbound/outbound traffic.

  1. Update packages: apt update
  2. Install UFW: apt install ufw
  3. Allow essential ports: ufw allow OpenSSH and ufw allow 80,443/tcp
  4. Set default policies: ufw default deny incoming and ufw default allow outgoing
  5. Enable: ufw enable
  6. Verify: ufw status verbose

For CentOS: Use firewalld instead: firewall-cmd --permanent --add-service=http and firewall-cmd --reload.

Hardening SSH Access

Secure your SSH login against brute-force attacks using keys and monitoring tools.

  1. Edit config: nano /etc/ssh/sshd_config—set PermitRootLogin no, PasswordAuthentication no, PubkeyAuthentication yes.
  2. Create non-root user: adduser secureuser and usermod -aG sudo secureuser.
  3. Copy SSH key: From local, ssh-copy-id secureuser@your-server-ip.
  4. Install Fail2Ban: apt install fail2ban and configure jail for SSH.
  5. Restart: systemctl restart ssh.
  6. Test login with new user and key.

Software Setup

Installing LAMP Stack (Linux, Apache, MySQL, PHP)

Set up a full web server environment for dynamic sites.

  1. Update: apt update && apt upgrade
  2. Install Apache: apt install apache2 and systemctl enable --now apache2
  3. Install MySQL: apt install mysql-server, secure it: mysql_secure_installation
  4. Install PHP: apt install php libapache2-mod-php php-mysql
  5. Restart Apache: systemctl restart apache2
  6. Test: Create /var/www/html/info.php with <?php phpinfo(); ?> and visit http://your-ip/info.php.

Security: Remove info.php after testing. Use MariaDB for MySQL alternative.

Installing Nginx Web Server

Deploy a lightweight, high-performance web server.

  1. Update: apt update
  2. Install: apt install nginx
  3. Start: systemctl enable --now nginx
  4. Configure site: Edit /etc/nginx/sites-available/default
  5. Test config: nginx -t then systemctl reload nginx
  6. Access: Visit your IP in a browser to see the welcome page.

Managing Backups and Snapshots

Protect your data with automated backups via the portal and CLI.

  1. In Client Portal, go to VPS dashboard > "Backups".
  2. Enable automated daily/weekly snapshots (retain up to 7).
  3. Create manual: Click "Snapshot Now".
  4. Restore: Select snapshot > "Rollback" (causes brief downtime).
  5. CLI alternative: virsh snapshot-create-as your-vm daily-backup for KVM.

Best Practice: Offload critical data to external storage like S3-compatible services.

Advanced Deployments

Installing and Running NKN Tuna Node

Deploy a Tuna node to share bandwidth and earn NKN tokens on your VPS. Requires public IP and open ports.

  1. Prerequisites: Ubuntu/Debian VPS, Go 1.18+, Git, NKN wallet address for rewards.
  2. Install Go: apt update && apt install golang-go
  3. Clone repo: git clone https://github.com/nknorg/tuna.git && cd tuna
  4. Build: make (creates tuna binary)
  5. Copy configs: cp config.entry.json.example config.entry.json && cp config.exit.json.example config.exit.json && cp services.json.example services.json
  6. Edit services.json for services (e.g., HTTP proxy on port 30080 with AES-GCM encryption):
  7. [
      {
        "name": "httpproxy",
        "tcp": [30080],
        "encryption": "aes-gcm"
      }
    ]
  8. For Exit Mode (earn rewards): Edit config.exit.json—set beneficiaryAddr to your NKN wallet, listenTCP: ["0.0.0.0:30080"], services: ["httpproxy"].
  9. Run: ./tuna -b=YOUR_NKN_WALLET exit
  10. For Entry/Reverse Mode: Set reverse: true in config and run ./tuna -b=YOUR_NKN_WALLET entry --reverse.
  11. Firewall: Open ports (e.g., ufw allow 30080).
  12. Monitor: Check logs for connections; rewards accrue via NKN blockchain.

Note: Ensure port forwarding if behind NAT. View full docs at GitHub. Earnings ~0.0002 NKN/MB traffic.

Deploying NKN Node (Mining)

Set up an NKN miner to contribute to the network and earn rewards.

  1. Install dependencies: apt install curl wget
  2. Download latest binary: wget https://github.com/nkn-org/nkn/releases/download/vX.X.X/nkn-commercial-linux-amd64 (check latest version).
  3. Make executable: chmod +x nkn-commercial
  4. Create wallet: ./nkn-commercial wallet -c (save seed securely).
  5. Edit config.json: Set beneficiary to your wallet, miningPublicKey.
  6. Run: ./nkn-commercial
  7. Open port 30001-30005 TCP/UDP in firewall and portal upstream rules.
  8. Monitor: Use ./nkn-commercial info for status.

Tip: For NKN node monitoring, visit nBlock.net.

Troubleshooting

High Resource Usage

Identify and resolve CPU/RAM spikes.

  1. Install monitoring: apt install htop
  2. Run: htop—sort by CPU/RAM.
  3. Kill process: kill -9 PID for rogue apps.
  4. Check logs: journalctl -xe or dmesg.
  5. Upgrade resources via portal if sustained high load.

Network Connectivity Issues

Diagnose and fix connection problems.

  1. Test ping: ping -c 4 8.8.8.8
  2. Traceroute: mtr google.com (install if needed: apt install mtr).
  3. Check local firewall: ufw status
  4. Verify upstream: In portal "Firewall" tab, ensure no blocks.
  5. Reboot VPS via portal; use Looking Glass for external tests.

Still stuck? Our experts are available 24/7.

Open a Support Ticket