Skip to content

rexenv documentation

rexenv runs your whole local web stack natively on your machine — edge proxy with real HTTPS, a shared web server, seven PHP versions, MySQL/MariaDB/PostgreSQL/Redis, one-click WordPress, .rex domains, mail catching and public tunnels — from one app.

No Docker, no VM, no hosts-file editing. Native static binaries, downloaded on demand and checksum-pinned. macOS 13+, Windows 11 x64 and Ubuntu 22.04+ on x86_64 or arm64, from the same release — macOS 15 gets every component at its newest version, 13 and 14 run with older pins and without two of them.

The three platforms differ in ways that matter on the pages that follow — how you install, what the first run asks for, where things live, and which components the Windows and Linux builds do not have. Every one of those pages has a macOS / Windows / Linux switch at the top. It opens on the system you are reading from, and a choice you make follows you across the site.

  1. Install it — brew tap rexenv/tap, brew trust rexenv/tap, brew install --cask rexenv.
  2. Open rexenv. It asks for your admin password twice and for Keychain access once: the first two write a DNS resolver and let the edge proxy bind ports 80 and 443, the third trusts a local certificate authority that signs only your own sites.
  3. New site → WordPress → Create. rexenv provisions the docroot, a database, a certificate and a server block.
  4. Open https://yoursite.rex. Real HTTPS, real green lock, no warning page.

Everything after that — switching PHP per site, swapping one database engine for another, reading mail, sharing a tunnel — is one click or one rex command.

  • macOS 13 (Ventura) or later, Intel or Apple Silicon, one universal build. On 13 and 14 some components are older builds and PostgreSQL and PHP 8.0 are refused by name — everything is there on macOS 15 (Sequoia). Requirements has the table.
  • First run needs an internet connection. rexenv downloads its components — PHP, nginx, MySQL, Caddy and the rest — the first time you use them. Expect up to ~600MB across a full cold start. After that it works offline.
  • It lives in the menu bar, with no dock icon. Closing the window hides it; Quit is in the menu-bar menu.
  • The build is ad-hoc signed and not yet notarized by Apple. Installing through Homebrew handles this for you; installing the .dmg by hand needs one right-click → Open the first time.
  • Uninstalling has an in-app step first. rexenv installs privileged things that deleting the app cannot remove — a root daemon on port 443, resolver files, and CA trust in your login keychain. Settings → Remove system changes undoes all of it.
Where things live
Your sites ~/rexenv/Sites/
Settings, databases and downloaded components ~/Library/Application Support/dev.rexenv.rexenv/
DNS resolver for your dev TLD /etc/resolver/rex
Local CA trust your login keychain

macOS is the complete build — every web server, every database engine, Xdebug on five PHP versions. Windows 11 x64 ships from the same release since 0.8.0, smaller by five components, and Linux — Ubuntu 22.04 or newer, x86_64 and arm64, as a .deb or an AppImage — since 0.8.8, smaller by four. Each has its own installer, its own DNS mechanism and its own trust store, and each is documented here side by side, behind the switch at the top of every page that differs.

rexenv is open source under the Apache License 2.0. The source, every release and the issue tracker are one repository, github.com/rexenv/rexenv — public since 30 September 2026. A bug goes to its issues; a suspected vulnerability goes through its security policy first, not a public issue.

If rexenv will not open at all, that is almost always the operating system refusing an unsigned build rather than a bug — Gatekeeper’s right-click → Open on macOS, SmartScreen’s More info → Run anyway on Windows — or, on Linux, an AppImage missing libfuse2. It won’t open has each one word for word.