Fresh / occupied gate and prerequisites
Use this guide for a new Managed Build, Entry Cloud, Unmanaged Config, or n8n packaging order. If the service already holds data you care about, stop and complete control writes → final export → verified restore before rebuild, Terminate Account, or cancel.
Private prerequisites: Managed vs Unmanaged decision, Build/Config hypothesis, term with intro and renew, region preference, domain/DNS authority, backup destination, and approved budget. The reader performs purchase in Client Area; do not paste live passwords into chat or tickets beyond what support explicitly requests through secure channels.
Choose Managed, Entry, Unmanaged, or n8n packaging
| Need | Order line | Note |
|---|---|---|
| WordPress / agency sites | Managed Cloud or WordPress Cloud Builds | SPanel + host-side ops |
| Tiny managed bridge | Entry Cloud (fixed 2/2 GB) | Only if 2 GB is intentional |
| Official n8n packaging | n8n Self-Hosted Cloud Builds | Confirm checkout SKU on order summary |
| Root / Docker / light DIY AI | Unmanaged Configs | You own hardening and backups |
| Shared $3 hosting | Web Hosting Mini/Start | Out of this runbook |
SPanel is the default $0 panel story on managed cloud. Add cPanel only when the license line is intentional on the order summary.
Datacenter and order summary
Prefer native Dallas / New York / Seattle / Sofia unless the form shows a required partner city for your SKU. Before you pay, capture:
| Field | Stop if |
|---|---|
| Plan / management line | Name matches Managed Build, Entry, Unmanaged Config, or n8n packaging |
| Resources | CPU / RAM / NVMe as displayed |
| Term | 12M / 36M / 1M (managed) or 12M / 6M / 1M (unmanaged) |
| Intro + renew | Both numbers present; renew not blank |
| Upfront | Matches intro × months on the summary |
| Addons | Backup tier, monitoring, cPanel—order summary wins over ads |
| Region / OS / panel | Native vs partner; Unmanaged OS; SPanel vs cPanel |
| Recovery | Off-provider export destination named |
Activation and welcome-email secrets
Official terms describe VPS activation often within about two hours and sometimes up to 24 hours; shared hosting is described as instant; some orders need manual verification. Store Client Area, SPanel Admin, and Unmanaged root credentials in a password manager. Rotate first-login secrets where the product allows. Keep my.scalahosting.com (billing/services) distinct from SPanel Admin/User URLs in the welcome email.
Managed path — SPanel Admin first account
- Sign in to SPanel Admin with welcome-email details.
- Create the first hosting account (domain, quotas) from Admin → create account flows.
- Open the account’s User interface: note File Manager, databases, email, DNS, Backup/Restore, SSL, and WordPress Manager entry points—inventory only on day zero.
- Set nameservers at your registrar to the values in the welcome email; allow DNS propagation before depending on HTTP or free SSL.
- If migrating, open a support request for free migration with old-host access details; track the ticket ID privately.
Managed acceptance checklist: correct Build on My Services; SPanel Admin login works; first account exists; nameserver plan recorded; Backup/Restore tool visible and restore-point count written down (confirm whether you see one rolling copy or multiple days); off-host export destination named. Listener audits with root ss belong primarily on Unmanaged—on Managed, only note panel services you enabled (web, email, offered SSH).
Unmanaged path — root SSH discovery
Welcome email includes root access. Create a limited sudo user with the supported method for your OS, open a second SSH session that proves that user works, then consider narrowing root/password login. Retain Client Area / console recovery.
# Documentation placeholders only — replace with your values.
DISCOVERED_USER='operator'
SERVER_IPV4='203.0.113.10' # RFC 5737 example
SSH_KEY="$HOME/.ssh/scala_operator_ed25519"
ssh -i "$SSH_KEY" -o IdentitiesOnly=yes "$DISCOVERED_USER@$SERVER_IPV4"
# Read-only discovery after login
cat /etc/os-release
uname -r
nproc
free -h
df -h
lsblk
sudo ss -lntup
systemctl --failed --no-pager
On your workstation, prepare a dedicated key if needed:
ssh-keygen -t ed25519 -a 100 -f "$HOME/.ssh/scala_operator_ed25519" -C "scala-operator-2026"
chmod 600 "$HOME/.ssh/scala_operator_ed25519"
chmod 644 "$HOME/.ssh/scala_operator_ed25519.pub"
Upload only the public half through the provider’s supported key mechanism when Unmanaged provisioning offers it. After first login, map listeners before opening ports; allow only intentional SSH and later HTTPS. Do not publish database or panel ports “for convenience.”
Optional SPanel-on-request is a product choice—do not assume it is installed. Do not paste a full LAMP tutorial as mandatory; if you refused Managed WordPress, own the stack deliberately or switch product lines.
Unmanaged acceptance checklist: Config matches order; limited SSH user works; firewall plan drafted; backup addon status known or explicit customer-owned backup duty; Client Area reachable for cancel later.
Day-zero handoff
Wrong SKU, management line, region, or renew total → stop and use billing/support paths; do not “fix forward” into production data. Next: WordPress day-two patterns stay on Managed and link review + billing; automation → n8n operations; local model experiments → AI apps.