Setting up a PHP development environment

Hello Silverblue users and developer,

Somewhere in the near future I want to build a new website with PHP. In the past I installed XAMPP (which installs a web server (Apache), a database (MySQL/MariaDB), and PHP) and worked from there.

How would you install a PHP development environment (Apache, MySQL, PHP) on Silverblue? Is there already a container which includes all these applications (is there a XAMPP container?) ? Or do I need to enter Fedora Toolbox and install XAMPP in there?

Is this procedure already documented somewhere?

I think using Fedora Toolbox is the way to go to install a local development environment (Apache, MySQL, PHP)? Could I access a website that I build in the Fedora toolbox, in my browser outside of it? How would you do it on Fedora Silverblue?

You should be able to run your whole XAMPP environment inside one or multiple unprivileged podman containers, sharing the www folder with a folder in your home directory and then using development tools from inside a toolbox to edit the code.

There doesn’t already exist a XAMPP container that I could use?

How can you use development tools from inside a container (for example GNOME Builder)? Is that possible? Do you know a good source where I can find more information?

You can look for docker-compose XAMPP projects to get started. podman is capable of using docker-compose configs now.

1 Like

I have decided to build my development environment not on my laptop but in a virtual machine on the server that I’m building.

Somewhere in the future I want to dive in how containers exactly work.

Thanks for thinking along!

We use a docker-compose file and it’s pretty handy when you want to reinstall your OS. You just need to run docker-compose and BAM you have redis, nginx, php, npm, etc all setup and connected on a network. Highly recommend. To be honest, I haven’t figured out how to use podman permissions, so I still use docker though.

Not sure if this helps, but we used this guide for Laravel if you happen to be using that as well: Create a local Laravel dev environment with Docker - YouTube

1 Like

Thanks! Looks very interesting!