The purpose of this document is to setup a development enviroment that runs on Microsoft Windows.
- DDev
- Choco
- Docker Compsoe
- WSL 2
- Ubuntu
- Visual Studio Code
Before starting the installation process, you need to verify that you have the minumum required versions of some software
- Windows 10 (version 1903.1049, 1909.1049, 2004 or later)
- Docker Version 18.06 or higher
- Docker-compose 1.21.0 and higher (bundled with Docker in Docker Desktop for Mac and Docker Desktop for Windows)
- PowerShell v2+
- .NET Framework 4+
- Run
winver.exe
to get the version of your windows - Run
PowerShell
and then runGet-Host | Select-Object Version
- Run
PowerShell
and then run(Get-ItemProperty "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full").Release -ge 394802
if you see in the terminaltrue
then you meet the minumim requirment. - If you have Docker Toolbox installed, remove it.
Chocolatey is package manager for windows, that allows you to install software using Powershell and automate many of your processes.
- Run
PowerShell
asAdministrator
- Run
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
- Run
choco install -y mkcert
- Run
mkcert -install
- Run
setx CAROOT "$(mkcert -CAROOT)"; If ($Env:WSLENV -notlike "*CAROOT/up:*") { setx WSLENV "CAROOT/up:$Env:WSLENV" }
Windows Subsystem for Linux is allow developer to run Linux inside windows, which will make your life easier
- Run
PowerShell
withadministrator
privileges - Run
Enable-WindowsOptionalFeature -Online -FeatureName $("VirtualMachinePlatform", "Microsoft-Windows-Subsystem-Linux")
Computer will reboot - Download WSL2 Linux kernel, from this url
- Make WSL2 as the default version using
wsl --set-default-version 2
- Install Ubuntu via this link
- Run
PowerShell
withadministrator
privileges - Run
choco install docker-desktop
- Go to Docker Desktop settings > Resources > WSL integration > enable integration for your distro (now
docker
commands will be available from within your WSL2 distro). - In
PowerShell
runwsl -l -v
should show three distros, and your Ubuntu should be the default. All three should be WSL version 2. - Double-check in Ubuntu:
echo $CAROOT
should show something like/mnt/c/Users/<you>/AppData/Local/mkcert
- Check that docker is working inside Ubuntu:
docker ps
- Open the WSL2 terminal, for example
Ubuntu
from the Windows start menu. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
- Add brew to path
echo 'eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)' >> ~/.profile && source ~/.profile
- Inside WSL2 terminal, run
brew install gcc && brew tap drud/ddev && brew install ddev
- Install required tools for DDEV
sudo apt-get update && sudo apt-get install -y xdg-util
ssh-keygen -C "[email protected]"
- Add your key to Github
- Test your connection to Github
ssh -T [email protected]
git config --global user.email "[email protected]"
git config --global user.name"First Name Last Name"
- Go to https://github.com/mautic/mautic, then click on Fork
git clone [email protected]:mabumusa1/mautic.git code
cd code
git remote add upstream https://github.com/mautic/mautic.git
name: mautic
type: php
docroot: ""
php_version: "7.3"
webserver_type: apache-fpm
router_http_port: "80"
router_https_port: "443"
xdebug_enabled: true
additional_hostnames: []
additional_fqdns: []
mariadb_version: "10.2"
mysql_version: ""
provider: default
use_dns_when_possible: true
composer_version: "1"
webimage_extra_packages: [php7.3-imap]
timezone: "Asia/Amman"
cp ~/.gitconfig ~/code/.ddev/homeadditions/
ddev start
ddev composer install
- Visit https://mautic.ddev.site from your browser and install Mautic
- For Database configuration you need to use
Username: db
Password: db
Host: db
Email Configuration
Host: localhost
Port: 1025
ddev describe
ddev ssh
git fetch upstream
git merge upstream staging
git checkout -b xxxx staging
ddev auth ssh
git add -A
git commit -m "Fix the bug"
git push origin XXX
- Create a PR on Github
Thanks for great manual and presentation.
Just ping your presentation related to this document: https://www.youtube.com/watch?v=K477KWYOp_Y&ab_channel=MauticCommunity