The Windows Subsystem for Linux lets developers run GNU/Linux environment — including most command-line tools, utilities, and applications — directly on Windows, unmodified, without the overhead of a virtual machine.
Install the Windows Subsystem for Linux
Before installing any Linux distros for WSL, you must ensure that the “Windows Subsystem for Linux” optional feature is enabled.
Open PowerShell as Administrator and run:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Restart your computer when prompted.
Install your Linux Distribution of Choice
Open the Microsoft Store and choose your favorite Linux distribution.
Once your distro has been downloaded and installed, you’ll need to complete initialization of the new distro.

Launch a new instance , wait a few minutes until instalation is finished and then you will be prompted to create a new user account (and its password).
Installing an Apache HTTP server
First update your package catalog and upgrade your installed packages:
sudo apt update && sudo apt upgrade
Install Apache2
sudo apt install apache2
Create a project folder for your web applications. This folder should be outside of the WSL filesystem. Please replace WINUSER with your Windows username.
sudo mkdir /mnt/c/Users/WINUSER/Workspace
Create a symbolic link to the selected folder:
sudo ln -s /mnt/c/Users/WINUSER/Workspace /var/www/html/
Open the Apache default virtual host configuration file:
sudo nano /etc/apache2/sites-enabled/000-default.conf
Modify file with following:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/Workspace
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Enable mod rewrite and restart apache2 server
sudo a2enmod rewrite
sudo service apache2 restart
Installing the MariaDB server
Install MariaDB server:
sudo apt-get install mariadb-server
You wont be asked for password, default root user doesn’t have password in MariaDB. Start server and run a simple security script. During execution you can choose root password.
sudo service mysql start
sudo mysql_secure_installation
Installing PHP
Install PHP and helper packages and restart apache2 after installation is finished:
sudo apt install php libapache2-mod-php php-mysql php-mbstring php-gettext php-xml php-json php-curl php-zip php-soap
Installing PHPMyAdmin
Install PHPMyAdmin and after installation ends enable mbstring mod and restart apache2 server
sudo apt-get install phpmyadmin
sudo phpenmod mbstring
sudo service apache2 restart