Post by @jorijn

Replying to a post that is no longer available

@jeroen @dvk

I gave it a bit of thought, and now that I'm back behind an actual keyboard, I wanted to share more about it.

I definitely prefer Symfony (or Laravel if you must) to WordPress, but packaging it to be easy to install does include some complexity. You'll need to keep the number of external dependencies low or none, as you won't be able to run composer install on each new host that this application will run on. Usually, composer will account for available extensions and the installed PHP version to resolve to a unique set of versions tailored to that host, unless it's locked.

It depends on the amount of "easy" you want to support here. WordPress is unique in this matter as the entire install can be installed to the public webroot of the configured vhost. Access control is managed through the code itself, which (honestly) is not the prettiest solution, but it works. Vendored code won't have these same access controls should you choose to install vendor in the public parts of the web hosting package. You could solve this with .htaccess  rules or nginx config, depending on the platform. But this is complexity that strays away from the goal of the install staying easy to install.

It might be better to just expose the public directory of Symfony/Laravel and leave the rest private. I know that DirectAdmin/cPanel installs support this, but it does require the end-user to know how to configure it.

So, definitely doable, even preferable, but keeping stuff easy is complex.