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.Missing: the tested distribution and version matrix, and the minimum kernel version, are not stated here. The legacy source lists both, but they are undated and unverified against the current build. Confirm supported platforms through the approved release or support channel before committing to a distribution.
- 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 Prerequisites: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.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.Missing: the See Monit for the fuller configuration reference, and escalate the path discrepancy to the CTO.
check process stanza is not reproduced here. SafeSquid documentation gives two different PID file paths for the same service — /var/run/safesquid.pid and /var/run/safesquid/safesquid.pid — and a stanza pointing at the wrong one leaves Monit believing the service is down, restarting it in a loop. Confirm which path your build writes before authoring the stanza: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 Deployment 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.

