Apache and services

The Apache panel is the server itself: whether it is running, and the modules your sites need. The Services panel is everything else Homebrew keeps running in the background.

Status

The sidebar carries an Apache indicator at all times and re-checks every fifteen seconds, so you can see the server is up from any screen.

The panel itself shows the same state with a Restart button next to it. That runs:

sudo apachectl restart

which works without a password because of the sudoers rule granted during installation.

Note that it is a restart, not a graceful reload — in-flight requests are dropped. On a development machine that is unnoticeable, and it is the reliable choice when a module or a Listen directive has changed.

You rarely need the button. Adding, editing, deleting, toggling, repairing a site and enabling HTTPS all restart Apache for you.

When it will not start

Apache refuses to start when its configuration does not parse. Before any restart it triggers itself, Vhostly runs apachectl -t and stops if that fails — showing you the error, which names the file and the line, and leaving the running server alone.

If Apache is already down, the Health panel runs the same test and reports it as Apache config: Invalid with the first lines of the error.

Proxy modules

Proxy sites need four modules loaded:

ModuleDoes
mod_proxyThe proxy engine
mod_proxy_httpForwarding HTTP
mod_proxy_wstunnelForwarding WebSocket upgrades
mod_rewriteThe rules that route those upgrades

The panel shows which are on and toggles each one, which comments or uncomments its LoadModule line in httpd.conf. Enable missing modules turns on all four at once.

mod_ssl and mod_socache_shmcb are handled from the SSL panel instead, since they are enabled as part of turning on HTTPS.

Health

Environment → Health runs every check the first-run wizard did, at any time: Homebrew, PHP, Apache, whether it is running, whether its config parses, whether /etc/hosts and the vhosts file are still writable, whether the sudoers rule survived — plus the optional OpenSSL, mkcert, Composer and Node.

Anything failing shows what it means and the exact command that fixes it. Nothing runs until you press the button.

This is the first place to look after a macOS update or a Homebrew upgrade, both of which can quietly undo file ownership.

Services

Environment → Services wraps brew services, grouped so the important things are not buried:

  • Web stack — httpd, php, dnsmasq: what actually serves your sites.
  • Databases — MySQL, MariaDB, PostgreSQL, Redis, MongoDB, Memcached, Elasticsearch, Meilisearch, Valkey.
  • Other local services — everything else Homebrew is running.

Each row starts, stops and restarts. Vhostly does not configure these services, create databases or manage their data; it starts and stops them so you do not need a second window for brew services list.