3.6 KiB
3.6 KiB
Installation Guide
LogWisp installation and service configuration for Linux and FreeBSD systems.
Installation Methods
Pre-built Binaries
Download the latest release binary for your platform and install to /usr/local/bin:
# Linux amd64
wget https://github.com/yourusername/logwisp/releases/latest/download/logwisp-linux-amd64
chmod +x logwisp-linux-amd64
sudo mv logwisp-linux-amd64 /usr/local/bin/logwisp
# FreeBSD amd64
fetch https://github.com/yourusername/logwisp/releases/latest/download/logwisp-freebsd-amd64
chmod +x logwisp-freebsd-amd64
sudo mv logwisp-freebsd-amd64 /usr/local/bin/logwisp
Building from Source
Requires Go 1.24 or newer:
git clone https://github.com/yourusername/logwisp.git
cd logwisp
go build -o logwisp ./src/cmd/logwisp
sudo install -m 755 logwisp /usr/local/bin/
Go Install Method
Install directly using Go (version information will not be embedded):
go install github.com/yourusername/logwisp/src/cmd/logwisp@latest
Service Configuration
Linux (systemd)
Create systemd service file /etc/systemd/system/logwisp.service:
[Unit]
Description=LogWisp Log Transport Service
After=network.target
[Service]
Type=simple
User=logwisp
Group=logwisp
ExecStart=/usr/local/bin/logwisp -c /etc/logwisp/logwisp.toml
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
WorkingDirectory=/var/lib/logwisp
[Install]
WantedBy=multi-user.target
Setup service user and directories:
sudo useradd -r -s /bin/false logwisp
sudo mkdir -p /etc/logwisp /var/lib/logwisp /var/log/logwisp
sudo chown logwisp:logwisp /var/lib/logwisp /var/log/logwisp
sudo systemctl daemon-reload
sudo systemctl enable logwisp
sudo systemctl start logwisp
FreeBSD (rc.d)
Create rc script /usr/local/etc/rc.d/logwisp:
#!/bin/sh
# PROVIDE: logwisp
# REQUIRE: DAEMON NETWORKING
# KEYWORD: shutdown
. /etc/rc.subr
name="logwisp"
rcvar="${name}_enable"
pidfile="/var/run/${name}.pid"
command="/usr/local/bin/logwisp"
command_args="-c /usr/local/etc/logwisp/logwisp.toml"
load_rc_config $name
: ${logwisp_enable:="NO"}
run_rc_command "$1"
Setup service:
sudo chmod +x /usr/local/etc/rc.d/logwisp
sudo pw useradd logwisp -d /nonexistent -s /usr/sbin/nologin
sudo mkdir -p /usr/local/etc/logwisp /var/log/logwisp
sudo chown logwisp:logwisp /var/log/logwisp
sudo sysrc logwisp_enable="YES"
sudo service logwisp start
Directory Structure
Standard installation directories:
| Purpose | Linux | FreeBSD |
|---|---|---|
| Binary | /usr/local/bin/logwisp |
/usr/local/bin/logwisp |
| Configuration | /etc/logwisp/ |
/usr/local/etc/logwisp/ |
| Working Directory | /var/lib/logwisp/ |
/var/db/logwisp/ |
| Log Files | /var/log/logwisp/ |
/var/log/logwisp/ |
| PID File | /var/run/logwisp.pid |
/var/run/logwisp.pid |
Post-Installation Verification
Verify the installation:
# Check version
logwisp version
# Test configuration
logwisp -c /etc/logwisp/logwisp.toml --disable-status-reporter
# Check service status (Linux)
sudo systemctl status logwisp
# Check service status (FreeBSD)
sudo service logwisp status
Uninstallation
Linux
sudo systemctl stop logwisp
sudo systemctl disable logwisp
sudo rm /usr/local/bin/logwisp
sudo rm /etc/systemd/system/logwisp.service
sudo rm -rf /etc/logwisp /var/lib/logwisp /var/log/logwisp
sudo userdel logwisp
FreeBSD
sudo service logwisp stop
sudo sysrc -x logwisp_enable
sudo rm /usr/local/bin/logwisp
sudo rm /usr/local/etc/rc.d/logwisp
sudo rm -rf /usr/local/etc/logwisp /var/db/logwisp /var/log/logwisp
sudo pw userdel logwisp