The Devilbox Project is a complete LAMP stack for Docker. If you use the Docker-Toolbox, this part of the documentation are worth reading.
In order to run the Devilbox you need to have Docker and Docker Compose installed on your system. Read through the Devilbox Prerequisites documentation for more information on that, if you are not running these applications yet on your system.
There is no installation routine. You just have to download the files from the Devilbox GitHub Page into an empty directory. The configuration takes place via a single file. In your directory you will find the file env-example
. Copy and rename
the file to .env
. In the new file you can now make your configurations. The following settings need to be changed:
The individual steps (especially for the entries NEW_UID
and NEW_GID
) are well described in the Devilbox Documentation. For Contao itself, the other entries should be set to something like this:
HTTPD_DOCROOT_DIR=web
HTTPD_SERVER=apache-2.4
PHP_SERVER=7.3
MYSQL_SERVER=mariadb-10.3
After every change in the configuration .env
file, the Devilbox must be restarted.
Do not delete entries in the .env file! For example, by default, the entry HTTPD_SERVER=nginx-stable
is set and # HTTPD_SERVER=apache-2.4
is disabled (see #
at the beginning of the line). To change such
entries you only have to enable or disable them by adding or removing the comment symbol. Make sure to enable HTTPD_SERVER=apache-2.4
. As a web server nginx
could also be used. For Contao, however, further configuration of the web server will then be necessary.
Change to the directory and start the Devilbox with Docker. Initially it can take a while to create and load each Docker image and the containers. Restarts are much faster afterwards.
docker-compose up -d httpd php mysql
docker-compose stop
Once the Devilbox has started you can access the Devilbox dashboard in your browser under http: //127.0.0.1
. The navigation gives you access to the various functions.
The IP address to use depends on your Docker environment. If you have the Docker-Toolbox installed, your IP address
may be different. The IP address can be determined by using the command docker-machine ip
.
Navigation | Description |
---|---|
Home | Status information |
Virtual Hosts | List of existing vhosts or websites |
Emails | E-Mail catch service |
Databases | Database information |
Info | More information |
Tools | Access to tools such as phpMyAdmin |
One or more Contao installations are created in the Devilbox directory data\www
. Each Contao installation will
reside in its own directory there. The directory name you choose will correspond to the vhost name. For example, a
directory named contao4
will correspond to a vhost for contao4.loc
.
You have created a directory (e. g. contao4
). Change to this directory and create a new subfolder web
. Copy the
Contao Manager .phar
file into this folder and rename the file to contao-manager.phar.php
.
The domain suffix .loc
is the default. However, this can be changed in the .env
file via the entry TLD_SUFFIX
.
The manual editing of »/etc/hosts
« may be neglected. The »Devilbox« offers a
“Auto DNS feature.
Start phpMyAdmin
in the Devilbox dashboard via Tools\phpMyAdmin
and create a new database. Change then
in the navigation to the page Virtual Hosts
. Here you should see a list of your existing web projects
and you can call them right away. You can now initiate the Contao installation via the Contao Manager. For example: contao4.loc/contao-manager.phar.php
.
The further procedure is then identical to the normal installation.
By default, the PHP memory limit for the Devilbox’s PHP container is too low and therefore must be previously configured for Composer.
Change to the directory cfg
. Did you configure the devilbox with PHP 7.3 in the .env
file, make the following changes
accordingly in the directory cfg\php-ini-7-3
. Create a file memory_limit.ini
with the following entry:
[PHP]
memory_limit = -1
Afterwards you have to restart the Devilbox. The Devilbox main directory contains the files shell.sh
and shell.bat
.
So you can plug into the running Devilbox PHP container. Here are already numerous tools preinstalled. Also composer
. After calling you are in the directory shared\http
. To install e. g. Contao 4.8 in a directory contao48
you just have to enter:
composer create-project contao/managed-edition contao48 4.8
Create a new database:
mysql -u root -h mysql -p -e 'CREATE DATABASE db_contao49;'
Afterwards you can leave the container via exit
and open the Contao Install Tool.
The settings for the Contao Install Tool are basically identical. You only have to pay attention to the following entries:
Entry | Value |
---|---|
Host | mysql |
Username | root |
Password | Do not enter a value |
The user root
with empty password is the Devilbox default setting. This could be changed in the Devilbox configuration. In this case, you must enter your configured credentials in the Contao Install Tool.