Ir al contenido

Install WoHo Server

Esta página aún no está disponible en tu idioma.

  • Linux x86-64 with systemd (Ubuntu 20.04+, Debian 11+, RHEL 8+)
  • 512 MB RAM
  • Port 8080 reachable by admins — put a reverse proxy with HTTPS in front of it — and port 9000 reachable by the managed machines
  • A TLS certificate for the hostname agents will connect to, or -tunnel-insecure for a local trial
  1. Download the binary

    Terminal window
    curl -Lo /usr/local/bin/woho https://woho.cesbo.com/server-latest
    chmod +x /usr/local/bin/woho
    woho -version
  2. Create the service user and data directory

    Terminal window
    useradd --system --no-create-home --shell /usr/sbin/nologin woho
    mkdir -p /var/lib/woho
    chown woho:woho /var/lib/woho
  3. Write the config file

    config init writes /etc/woho/woho-server.yaml with every setting, commented, plus the flags you pass.

    Production, with a trusted certificate for the hostname agents connect to (the woho user must be able to read both files):

    Terminal window
    woho config init \
    -tls-cert /path/to/fullchain.pem \
    -tls-key /path/to/privkey.pem \
    -rp-id woho.example.com -rp-origin https://woho.example.com

    Local trial only, no TLS:

    Terminal window
    woho config init -tunnel-insecure

    The server will not start without one of the two. See Server Configuration for the full schema.

  4. Check the file

    Terminal window
    woho config check -config /etc/woho/woho-server.yaml

    Prints every setting and where its value comes from, and exits non-zero on any problem. It also prints the certificate’s SPKI pin, which agents need when the certificate is not publicly trusted.

  1. Create /etc/systemd/system/woho-server.service

    [Unit]
    Description=WoHo Remote Support Server
    After=network-online.target
    Wants=network-online.target
    [Service]
    Type=simple
    User=woho
    Group=woho
    WorkingDirectory=/var/lib/woho
    ExecStart=/usr/local/bin/woho -config /etc/woho/woho-server.yaml
    Restart=always
    RestartSec=5
    NoNewPrivileges=true
    ProtectSystem=strict
    ProtectHome=true
    ReadWritePaths=/var/lib/woho
    PrivateTmp=true
    LimitNOFILE=65535
    [Install]
    WantedBy=multi-user.target

    Every setting lives in the config file. A flag added to ExecStart would override the file and make it misleading.

  2. Enable and start

    Terminal window
    systemctl daemon-reload
    systemctl enable --now woho-server
    systemctl status woho-server

Open http://your-server:8080 and sign in as admin / admin.

The first login lands on Account & security, and nothing else works until a new password is set:

  1. Enter admin under Current Password.

  2. Enter a new password — 8 to 128 characters, different from the current one — twice.

  3. Click Change Password. You are signed out; sign in again with the new password.

Then open Settings → Connection keys and set Server Domain to the host and tunnel port agents connect to (woho.example.com:9000) and Client Download URL to where the agent binary is published. The panel needs both to build the agent install command.

Terminal window
systemctl stop woho-server
curl -Lo /usr/local/bin/woho https://woho.cesbo.com/server-latest
chmod +x /usr/local/bin/woho
systemctl start woho-server

The database and config file are preserved; migrations run on start. The changelog says for each release whether the agents need updating too. Agents can be updated from the panel.

The web UI is embedded into the binary at compile time.

Terminal window
git clone https://github.com/cesbo/woho.git
cd woho
npm install
npm run build:prod
go build -o bin/woho-server ./cmd/server