Skip to content

Releases: stevepop/phpark

PHPark v1.1.0 - Daily use no longer requires root

04 Apr 17:05

Choose a tag to compare

Minimal sudo — daily use no longer requires root

Previously almost every PHPark command required sudo. This release reduces sudo to two commands:

Command Requires sudo Reason
setup Yes (once) Installs packages, configures nginx and sudoers
trust / untrust Yes Writes to /etc/dnsmasq.d
Everything else No

park, link, unlink, use, rebuild, secure, unsecure, status, links all now run as your normal user.

How it works

sudo phpark setup now performs two one-time system changes:

  1. Writes /etc/nginx/conf.d/phpark.conf — tells nginx to include configs from ~/.phpark/nginx/*.conf directly, removing the need to copy files into /etc/nginx/sites-available
  2. Writes /etc/sudoers.d/phpark — grants your user passwordless access to the specific systemctl and update-alternatives calls that PHPark needs

Bug fixes

  • SUDO_USER home detectionsetup now correctly creates ~/.phpark/ in the real user's home directory instead of /root when run via sudo
  • Directory ownership~/.phpark/ and all files within it are now owned by the real user after setup, preventing permission denied errors on park and link
  • Binary installationsetup now installs phpark to /usr/local/bin/phpark automatically; no manual sudo mv step needed
  • DNS upstream config — dnsmasq upstream config now always includes explicit server=8.8.8.8 and server=1.1.1.1 fallback entries, preventing a complete DNS outage if the systemd-resolved file is stale or contains only loopback addresses after setup

Breaking changes

None — existing installations can re-run sudo phpark setup to gain the new behaviour.

PHPark v1.0.0 — Initial Stable Release

19 Feb 09:45

Choose a tag to compare

🐘 PHPark v1.0.0 — Initial Stable Release

PHPark is a modern PHP development environment manager for Linux, inspired by Laravel Valet and Herd. It brings the same zero-configuration, instant setup experience that macOS developers enjoy — natively to Linux.

From a bare Ubuntu install to fully running .test domains in under 2 minutes.


✨ What's Included

One-Command Setup
A single sudo phpark setup installs and configures nginx, dnsmasq, and PHP — no manual dependency management required.

Multi-Version PHP Support
Switch between PHP 7.4, 8.0, 8.1, 8.2, 8.3, and 8.4 globally or per-site. PHPark automatically installs any version you request on demand.

Automatic Nginx Configuration
Production-grade nginx configs are generated and deployed automatically for every parked or linked site, with built-in support for Laravel, Symfony, and standard PHP frameworks.

.test Domain Resolution
Automatic local domain routing via dnsmasq — no editing of /etc/hosts required.

SSL Support
Self-signed certificates for HTTPS development with a single command: phpark secure <site>.

Zero Manual Configuration
Automatic permission management, service orchestration (nginx + PHP-FPM), and instant CLI PHP version switching. It just works.


📋 Requirements

  • Ubuntu 20.04+ or any Debian-based Linux distro
  • sudo access

That's it. PHPark handles the rest.


🚀 Quick Install

wget https://github.com/stevepop/phpark/releases/latest/download/phpark-linux
chmod +x phpark-linux
sudo mv phpark-linux /usr/local/bin/phpark
sudo phpark setup
sudo phpark trust

Full usage instructions and workflow examples are in the [README](https://github.com/stevepop/phpark#readme).


🗺️ What's Next

v1.1.0 will bring database management (MySQL/PostgreSQL), Redis/Memcached support, custom domain support beyond .test, and site scaffolding templates.

v2.0.0 is planned to include Docker integration, multi-distro support (Arch, Fedora), and a web-based control panel.


🙏 Thanks

A big thank you to everyone who tested the release candidates and provided feedback — your input shaped this release. If PHPark saves you time, please consider starring the repo and sharing it with your team.


Built with ❤️ for the Linux/PHP community — [MIT License](https://github.com/stevepop/phpark/blob/master/LICENSE)


v1.0.0-rc7

17 Feb 14:53

Choose a tag to compare

v1.0.0-rc7 Pre-release
Pre-release

What's New

When apt-get install is executed on Ubuntu,the postinstall scripts trigger resolvconf, which tells systemd to stop and restart dnsmasq as part of its network config update cycle. Since there's no Restart policy, when systemd stops it, it stays stopped.
This fix adds Restart=always drop-in to ensure that systemd will bring dnsmasq back within 3 seconds automatically, regardless of who stopped it.

Install from latest release

wget https://github.com/stevepop/phpark/releases/download/v1.0.0-rc7/phpark-linux
chmod +x phpark-linux
sudo mv phpark-linux /usr/local/bin/phpark

sudo phpark setup

v1.0.0-rc6 - Feature - Add Composer To Setup

17 Feb 14:27

Choose a tag to compare

What's New

  • Added installation of composer to setup where it has not been installed
  • On existing boxes where Composer is already installed, it's a no-op — just prints ✅ Composer already installed

Install from latest release

wget https://github.com/stevepop/phpark/releases/download/v1.0.0-rc6/phpark-linux
chmod +x phpark-linux
sudo mv phpark-linux /usr/local/bin/phpark

sudo phpark setup

v1.0.0-rc5 — Fix: Local DNS resolution for .test domains

17 Feb 14:05

Choose a tag to compare

What's New

  • Fixed an issue where Dnsmasq domains were written into /etc/dnsmasq.d/test but Ubuntu only loads .conf` files from that directory

Download Latest Release

wget https://github.com/stevepop/phpark/releases/download/v1.0.0-rc4/phpark-linux
chmod +x phpark-linux
sudo mv phpark-linux /usr/local/bin/phpark

sudo phpark setup

v1.0.0-rc4 - — Fix: untrust bug impacting DNS

17 Feb 13:04

Choose a tag to compare

Bug fix

phpark untrust was leaving the system without working DNS after removing
the .test domain configuration.

Root cause: dnsmasq binds to 0.0.0.0:53 (all interfaces), which includes
127.0.0.53. When reverting the systemd-resolved stub listener, dnsmasq was
still holding port 53 on 127.0.0.53, preventing systemd-resolved from
reclaiming it. All DNS queries then went to an address nothing was serving.

Fix: dnsmasq is now stopped before systemd-resolved is restarted, giving
it a clean port to bind its stub listener on 127.0.0.53:53.

Download latest release

wget https://github.com/stevepop/phpark/releases/download/v1.0.0-rc4/phpark-linux
chmod +x phpark-linux
sudo mv phpark-linux /usr/local/bin/phpark

sudo phpark setup

v1.0.0-rc3 — Naming fix

17 Feb 12:43

Choose a tag to compare

Pre-release

What's changed

  • Binary and module renamed from phppark to phpark to match the
    product name PHPark (PHP + Ark). The previous name phppark was
    PHP + park — a different word.

Upgrade from rc1/rc2

If you have an existing install, rename your config directory:

mv ~/.phppark ~/.phpark

Then replace the binary:

wget https://github.com/stevepop/phpark/releases/latest/download/phpark-linux
chmod +x phpark-linux
sudo mv phpark-linux /usr/local/bin/phpark
sudo rm -f /usr/local/bin/phppark   # remove old binary if present

v1.0.0-rc2

15 Feb 06:08

Choose a tag to compare

v1.0.0-rc2 Pre-release
Pre-release

PHPark is ready for community testing! This RC includes all planned features for the v1.0.0 release.

✨ What's New

Complete Automation:

  • 🚀 One-command setup: sudo phppark setup
  • 🐘 Auto-install PHP versions on demand
  • ⚡ Instant CLI PHP switching
  • 🔧 Auto-deploy nginx configs
  • 🔐 Automatic permission fixes
  • ⚙️ Auto-start services (nginx, PHP-FPM)

Zero Configuration:
From bare Ubuntu to working sites in under 2 minutes!

📦 Installation

# Download
wget https://github.com/stevepop/phppark/releases/download/v1.0.0-rc2/phppark-linux
chmod +x phppark-linux
sudo mv phppark-linux /usr/local/bin/phppark

# Setup everything
sudo phppark setup

# Create a site
mkdir -p ~/sites/demo/public
echo ' ~/sites/demo/public/index.php
cd ~/sites
sudo phppark park
sudo phppark trust

# Done! Site running at demo.test

🧪 Testing Needed

Please test and report:

  • ✅ Installation on different Ubuntu versions
  • ✅ PHP version switching
  • ✅ Multiple sites with different PHP versions
  • ✅ SSL certificate generation
  • ✅ Any bugs or unexpected behavior

📝 Feedback

Please open issues for:

  • Bugs you encounter
  • Feature suggestions
  • Documentation improvements
  • Installation problems

Goal: Gather feedback for 1 week, then release v1.0.0 stable!

🙏 Thank You!

Your testing and feedback will help make v1.0.0 rock solid!


Tested on: Ubuntu 22.04 LTS (AWS EC2)
Status: Release Candidate - feature complete, needs community validation

AV1.0.0-beta2

13 Feb 14:41

Choose a tag to compare

  • New 'phppark setup' command installs everything
  • Auto-installs nginx, dnsmasq, PHP 8.2-FPM
  • Interactive confirmation
  • Perfect onboarding for new users
  • Updated install command to detect missing deps

🧪 Release Candidate for v1.0.0

13 Feb 22:55

Choose a tag to compare

Pre-release

PHPark is ready for community testing! This RC includes all planned features for the v1.0.0 release.

✨ What's New

Complete Automation:

  • 🚀 One-command setup: sudo phppark setup
  • 🐘 Auto-install PHP versions on demand
  • ⚡ Instant CLI PHP switching
  • 🔧 Auto-deploy nginx configs
  • 🔐 Automatic permission fixes
  • ⚙️ Auto-start services (nginx, PHP-FPM)

Zero Configuration:
From bare Ubuntu to working sites in under 2 minutes!

📦 Installation

# Download
wget https://github.com/stevepop/phppark/releases/download/v1.0.0-rc1/phppark-linux
chmod +x phppark-linux
sudo mv phppark-linux /usr/local/bin/phppark

# Setup everything
sudo phppark setup

# Create a site
mkdir -p ~/sites/demo/public
echo ' ~/sites/demo/public/index.php
cd ~/sites
sudo phppark park
sudo phppark trust

# Done! Site running at demo.test

🧪 Testing Needed

Please test and report:

  • ✅ Installation on different Ubuntu versions
  • ✅ PHP version switching
  • ✅ Multiple sites with different PHP versions
  • ✅ SSL certificate generation
  • ✅ Any bugs or unexpected behavior

📝 Feedback

Please open issues for:

  • Bugs you encounter
  • Feature suggestions
  • Documentation improvements
  • Installation problems

Goal: Gather feedback for 1 week, then release v1.0.0 stable!

🙏 Thank You!

Your testing and feedback will help make v1.0.0 rock solid!


Tested on: Ubuntu 22.04 LTS (AWS EC2)
Status: Release Candidate - feature complete, needs community validation