Skip to main content

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.
Do not use this method as a shortcut around appliance planning. A poorly managed host creates unstable inspection, missing logs, and difficult incident response.

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:
Update package metadata according to the organization’s change process:
Check disk and memory:
Expected result: disk and memory match the sizing plan, with enough free space for logs, reports, updates, and support bundles.
Use the organization’s approved package repositories and change window:
Confirm that local hardening does not block SafeSquid, Monit, or BIND9 service management.
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.
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.
Retrieve and unpack the package:
Expected result: a _mkappliance directory is extracted, containing the installation scripts.Run the installer from the directory you extracted into:
The installer checks dependencies, creates the 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:
Expected result: no line reads 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.
After extracting or installing the package, start SafeSquid:
If the platform uses the legacy service script, use the approved service command for that build:

Verify service health

Check service state:
Check listener state:
Check access-log creation after a pilot request:
Expected result: SafeSquid runs, listens on the approved port, and records pilot traffic.

Configure supporting services

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 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:
See Monit for the fuller configuration reference, and escalate the path discrepancy to the CTO.
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 shipped administrator password before the host is reachable from any client network.
  1. Open the management interface at https://SERVER-IP:8443/ from an approved administrator network.
  2. Go to System and open User Management.
  3. Change the password on the administrator account.
Record that the change was made in the deployment evidence. A proxy carrying all corporate web traffic on a default credential is a direct compromise path.
Without rotation, SafeSquid logs grow until the volume fills and evidence is silently truncated. Create /etc/logrotate.d/safesquid:
Adjust 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:
Expected result: the dry run reports the files it would rotate, with no configuration errors.

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