# Put Varnish on port 80

Until now we’ve been running with Varnish on a high port which is great for testing purposes. Let’s now put Varnish on the default HTTP port 80.

First we stop varnish: `service varnish stop`

Now we need to edit the configuration file that starts Varnish.

## Debian/Ubuntu (legacy)

On older Debian/Ubuntu this is /etc/default/varnish. In the file you’ll find some text that looks like this:

    DAEMON_OPTS="-a :6081 \
                 -T localhost:6082 \
                 -f /etc/varnish/default.vcl \
                 -S /etc/varnish/secret \
                 -s default,256m"

Change it to:

    DAEMON_OPTS="-a :80 \
                 -T localhost:6082 \
                 -f /etc/varnish/default.vcl \
                 -S /etc/varnish/secret \
                 -s default,256m"

## Debian (v8+) / Ubuntu (v15.04+)

On more recent Debian and Ubuntu systems this is configured in the systemd service file.

Applying changes to the default service is best done by creating a new file /etc/systemd/system/varnish.service.d/customexec.conf:

    [Service]
    ExecStart=
    ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s default,256m

This will override the ExecStart part of the default configuration shipped with Varnish Cache.

Run `systemctl daemon-reload` to make sure systemd picks up the new configuration before restarting Varnish.

## Red Hat Enterprise Linux / CentOS

On Red Hat/CentOS you can find a similar configuration file in /etc/sysconfig/varnish.

# Restarting Varnish again

Once the change is done, restart Varnish: `service varnish start`.

Now everyone accessing your site will be accessing through Varnish.