Setup Joomla
Setup Joomla
This example installs Joomla 5 inside Devilbox and serves it through the standard htdocs document root.
Overview
| Project name | Container path | Database | TLD_SUFFIX | Project URL |
|---|---|---|---|---|
my-joomla | /shared/httpd/my-joomla | my_joomla | lvh.me | http://my-joomla.lvh.me / https://my-joomla.lvh.me |
Projects live in /shared/httpd/ inside the container and in ./data/www/ on the host.
Prerequisites
- Devilbox with PHP 8.3 or PHP 8.4 available.
- HTTPD, MySQL, and Bind services.
- Docker Compose v2 through Docker.
Start the stack:
./dvl.sh up php httpd mysql bindWalk through
It will be ready in seven steps:
- Enter the PHP container.
- Create a new virtual host directory.
- Download and extract Joomla 5.
- Link the document root.
- Add a MySQL database.
- Verify DNS.
- Open the Joomla installer.
1. Enter the PHP container
./dvl.sh shell php832. Create the vhost directory
mkdir -p /shared/httpd/my-joomlacd /shared/httpd/my-joomla3. Download and extract Joomla 5
Download the current Joomla 5 full package from the official Joomla downloads page, then extract it into joomla:
mkdir joomlaunzip Joomla_5-Stable-Full_Package.zip -d joomlaExpected structure:
tree -L 1.├── Joomla_5-Stable-Full_Package.zip└── joomla4. Link the document root
ln -s joomla htdocsExpected structure:
tree -L 1.├── Joomla_5-Stable-Full_Package.zip├── joomla└── htdocs -> joomla5. Add the MySQL database
mysql -u root -h 127.0.0.1 -p -e 'CREATE DATABASE my_joomla CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'6. Verify DNS
my-joomla.lvh.me resolves automatically to localhost. Add a hosts entry only when using a custom suffix.
7. Open the Joomla installer
Visit http://my-joomla.lvh.me or https://my-joomla.lvh.me and follow the installer.
Use these database values:
- Database type:
MySQLi - Host:
127.0.0.1 - User:
root - Database name:
my_joomla - Password: your
.envvalue
Next steps
- Remove the installation directory if Joomla prompts for manual cleanup.
- Configure valid local HTTPS.
- Use Adminer or phpMyAdmin from the Devilbox intranet for database checks.