Install on a Managed Linux Host
Use the Linux server path only when the organization already owns the operating system lifecycle, hardening baseline, monitoring, backup, and rollback. For new deployments, the SafeSquid Appliance Builder is the standard path because it provides a repeatable appliance build and supporting services.Use this method when
Use an existing Linux host when:- The host is dedicated to SafeSquid or the security exception is approved.
- The OS version, packages, services, and hardening baseline are managed.
- Operations can install dependencies and troubleshoot service failures.
- Backup and rollback are already defined.
Validate prerequisites
Confirm:- Root or approved sudo access is available.
- The host has static IP, DNS, gateway, and NTP configuration.
- Required outbound paths are reachable.
- Required packages and libraries can be installed.
- No local service conflicts with the approved SafeSquid proxy port.
- Activation key and rollback plan are available.
Prepare the host
Record OS details:- Debian and Ubuntu
- RHEL family
Use the organization’s approved package repositories and change window:Confirm that local hardening does not block SafeSquid, Monit, or BIND9 service management.
Install build and runtime dependencies
Install build and runtime dependencies
SafeSquid links against these libraries. Install them before running the installer, using the organization’s approved repositories.Package names drift between releases. If one is not found, locate the equivalent for your distribution rather than skipping it — a missing library surfaces later as a service that installs cleanly and then refuses to start.
- Debian and Ubuntu
- RHEL, CentOS, Rocky
- SUSE and openSUSE
Prepare directories, firewall, SELinux, and time
Prepare directories, firewall, SELinux, and time
Create the data directories so the installer writes into a known layout, and so you can mount dedicated volumes underneath them:Open the proxy and management ports using whichever firewall the host runs. Restrict the source scope in the same change, as described in Deployment Checklist:Set SELinux to permissive for the setup window on RHEL-family hosts, then write a targeted policy once the deployment is stable:Confirm time synchronisation. SSL certificate validation and log correlation both depend on it:Expected result: NTP synchronisation is active. If it is not, enable it before continuing:
Install SafeSquid
Use the approved SafeSquid package or TAR source for the target release. Preserve the source URL, checksum if provided, and install date in the change record.Download, extract, and run the installer
Download, extract, and run the installer
Retrieve and unpack the package:Expected result: a The installer checks dependencies, creates the Expected result: no line reads
_mkappliance directory is extracted, containing the installation scripts.Run the installer from the directory you extracted into:safesquid system user and group, installs binaries under /opt/safesquid/, writes init and systemd service units, and places default configuration under /etc/safesquid/.Confirm every linked library resolved:not found. Any that does names a package still to install — resolve it before starting the service, because the failure otherwise appears at runtime as an immediate exit rather than a missing dependency.If the installer itself fails, the usual causes are a missing library, running without sudo, or insufficient free space. Check the terminal output first, then df -h.What the installer's post-install automation does
What the installer's post-install automation does
On a Debian-based system,
setup.sh above carries out the whole post-install sequence on its own. In order, it:- Suspends any existing process-monitoring service for the duration of the install.
- Detects the distribution family, to decide which remaining steps apply.
- Creates the service account SafeSquid runs as (not
root). - Removes leftovers from a previous installation on the same machine, if one existed.
- Installs the supporting packages SafeSquid depends on.
- Stops the service if it is already running (relevant on a re-install or upgrade).
- Configures a local DNS resolver tuned for appliance use, with IPv6 disabled and the zone data DNS Blacklist depends on already in place.
- Copies the appliance file tree into place.
- Stands up a local DNS blacklist server bound only to loopback.
- Enables and starts the service.
Verify service health
Check service state:Configure supporting services
Monit process monitoring
Monit process monitoring
Monit helps operators detect and restart failed services when it is part of the approved operations baseline. Confirm Monit is installed, enabled, and configured to monitor SafeSquid before relying on UI-triggered restarts or unattended recovery.Expected result: Monit runs, starts after reboot, and its configuration is included in the deployment record.
BIND9 local DNS service
BIND9 local DNS service
BIND9 is commonly used as the local DNS service on SafeSquid appliance-style deployments. On managed Linux hosts, confirm whether local DNS is required or whether enterprise resolvers will be used directly.Expected result: BIND9 runs when required, configuration syntax passes, and local resolution succeeds. If the distribution uses a different service name, use the approved equivalent and record it.
Harden before rollout
Before routing users:- Restrict proxy access to approved client networks.
- Restrict management access to approved administrators.
- Enable log forwarding or retention.
- Confirm OS patching and backup ownership.
- Confirm Root CA rollout path.
- Document service restart and rollback steps.
Change the default administrator password
Change the default administrator password
Change the shipped administrator password before the host is reachable from any client network.
- Open the management interface at
https://SERVER-IP:8443/from an approved administrator network. - Go to System and open User Management.
- Change the password on the
administratoraccount.
Configure log rotation
Configure log rotation
Without rotation, SafeSquid logs grow until the volume fills and evidence is silently truncated. Create Adjust Expected result: the dry run reports the files it would rotate, with no configuration errors.
/etc/logrotate.d/safesquid:rotate to the retention target agreed in Log-Retention Planning, and use the service reload command appropriate to your build. Test the configuration before relying on it:Capture deployment evidence
Store:- OS release and kernel details.
- Package or TAR source.
- Install date and operator.
- Service status output.
- Listener check.
- Pilot access-log sample.
- Firewall and management-access approval.
- Rollback or rebuild procedure.
Troubleshoot installation
Next steps
- Access the Interface - open
http://safesquid.cfg/safely. - Activate Your License - upload the activation key and run smoke tests.
- Connect Your Client - route pilot traffic.

