How to install wordpress on Docker with devilbox on Ubuntu on Windows WSL2

Simple guide for advanced users on how to easily install docker and devilbox then install wordpress. all on ubuntu/debian on windows subsystem for linux known as WSL. make sure it’s WSL2. Haven’t we reached peak technology?

INSTALLATION:

First add docker key and repo, then create docker user & group and add your user to the group :

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io

sudo groupadd docker && sudo usermod -aG docker $USER

newgrp docker

sudo service docker start

docker run hello-world

After starting docker and running hello-world . docker should tell you everything is fine.

then you need to install docker compose so you can run compose commands

Go to the page : https://github.com/docker/compose/releases
scroll down and find the link appropriate for your distro e.g. linux-x86_64. Right click and copy the link, then put between the quotations marks like below for version 2.6.0:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.6.0/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

DEVIL BOX:

Then install the devil devilbox. It’s the devil son.👿

mkdir ~/dev/
cd ~/dev/
git clone https://github.com/cytopia/devilbox

Get user id

id -u

and get your group id

id -g

copy the results to .env example after renaming to .env

cd devilbox
cp env-example .env
nano .env

Find these lines and change them accordingly. if you got 1001 for id -g then place that in NEW_GID

NEW_UID=1000
NEW_GID=1001

Compose it up:

docker-compose up

and you should be able to see the devil by going to localhost. If you get bunch of errors about couldn’t launch because port in use. Check which similar service is running on your computer and stop it. e.g. if you have installed nginx. stop nginx.

Now let’s add first website and install wordpress

cd data/www
mkdir wordpress
cd wordpress
git clone https://github.com/WordPress/WordPress htdocs
mysql -u root -h 127.0.0.1 -p -e 'CREATE DATABASE wordpress;'

No password necessary.

Edit hosts file for windows and add wordpress.loc (or the directory name you chose above plus .loc
You have to edit this as administrator. I use notepad++ so I open it in normal user make any edit click save and notepad++ will ask me if I want to open it again as administrator. I chose yes and make the actual edit and save:

Location of hosts file. Bill Gates knows why it is in drivers:
c:\Windows\System32\Drivers\etc\hosts

Devilbox virtual hosts

add at the end:

127.0.0.1 wordpress.loc

Now go to wordpress.loc in your browser and you should be able to install it.