LAUNCH SEQUENCE

A clear route from ZIP to a working panel.

Upload the package to /root, open a root shell as its own first command and continue one stage at a time. tmux keeps installation alive if SSH disconnects.

00

Upload the ZIP with Windows PowerShell

Replace YOUR_NAME with your Windows account and SERVER_IP with the server address. Run this on your Windows computer.

PuTTY · Bash
scp "C:\Users\YOUR_NAME\Downloads\EXOpanel-1.8.0-Titan-Millennium-Bundle.zip" root@SERVER_IP:/root/
01

Open the root shell separately

If the prompt already ends in #, you are root and can continue to stage 02. Do not paste sudo -i at the beginning of another command block.

PuTTY · Bash
sudo -i
02

Extract and locate the installer

The command discovers the package root automatically instead of assuming the wrong path.

PuTTY · Bash
apt-get update
apt-get install -y unzip tmux
install -d -m 0700 /root/exopanel-install
unzip -oq /root/EXOpanel-1.8.0-Titan-Millennium-Bundle.zip -d /root/exopanel-install
PANEL_DIR="$(find /root/exopanel-install -maxdepth 4 -type f -name install.sh -printf '%h\n' -quit)"
test -n "$PANEL_DIR" || { echo 'install.sh was not found'; exit 1; }
printf 'Installer: %s\n' "$PANEL_DIR/install.sh"
Download install package
03

Launch inside a protected tmux session

If the connection drops, reconnect over SSH and run tmux attach-session -t exopanel180.

PuTTY · Bash
tmux kill-session -t exopanel180 2>/dev/null || true
tmux new-session -d -s exopanel180 "cd '$PANEL_DIR' && bash install.sh 2>&1 | tee /root/exopanel-1.8.0-install.log"
tmux attach-session -t exopanel180
04

Verify release and services

Installation is complete only after release, services and doctor3 checks succeed.

PuTTY · Bash
tail -n 100 /root/exopanel-1.8.0-install.log
cat /opt/exopanel/current/VERSION
systemctl is-active exopanel exopanel-hostd exopanel-tls
/usr/local/libexec/exopanel-hostctl doctor3
Root separatelyA new shell cannot swallow following lines
tmuxSSH loss does not stop installation
Log/root/exopanel-1.8.0-install.log
doctor3Proves the working result