Setup a dev enviroment on WSL
https://docs.microsoft.com/en-us/windows/wsl/wsl-config#configure-global-options-with-wslconfig
Setup a dev enviroment on WSL
https://docs.microsoft.com/en-us/windows/wsl/wsl-config#configure-global-options-with-wslconfig
# Settings apply across all Linux distros running on WSL 2 | |
[wsl2] | |
# Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB | |
memory=4GB | |
# Sets the VM to use two virtual processors | |
processors=1 | |
# Turn off default connection to bind WSL 2 localhost to Windows localhost | |
localhostforwarding=true | |
guiApplications=false |
#!/usr/bin/env bash | |
sudo apt-get install keychain | |
mkdir $HOME/.ssh/ | |
chmod 0700 $HOME/.ssh/ | |
ssh-keygen | |
apt install net-tools | |
apt install software-properties-common | |
apt install unzip |
#!/bin/bash | |
# Node | |
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash | |
nvm install node | |
npm install -g n | |
corepack enable | |
# YARN | |
# PHP | |
sudo apt install -y php8.0 php8.0-cli php8.0-common php8.0-xml php8.0-zip php8.0-mbstring php8.0-phpdbg php8.0-intl php8.0-mbstring php8.0-mysql php8.0-curl php8.0-dev php8.0-xdebug php8.0-ast php8.0-sqlite3 php8.0-opcache php8.0-msgpack |
$remoteport = bash.exe -c "ifconfig eth0 | grep 'inet '" | |
$found = $remoteport -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'; | |
if( $found ){ | |
$remoteport = $matches[0]; | |
} else{ | |
echo "The Script Exited, the ip address of WSL 2 cannot be found"; | |
exit; | |
} | |
#[Ports] | |
#All the ports you want to forward separated by coma | |
$ports=@(80,443,10000,3000,5000); | |
#[Static ip] | |
#You can change the addr to your ip config to listen to a specific address | |
$addr='0.0.0.0'; | |
$ports_a = $ports -join ","; | |
#Remove Firewall Exception Rules | |
iex "Remove-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' "; | |
#adding Exception Rules for inbound and outbound Rules | |
iex "New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Outbound -LocalPort $ports_a -Action Allow -Protocol TCP"; | |
iex "New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Inbound -LocalPort $ports_a -Action Allow -Protocol TCP"; | |
for( $i = 0; $i -lt $ports.length; $i++ ){ | |
$port = $ports[$i]; | |
iex "netsh interface portproxy delete v4tov4 listenport=$port listenaddress=$addr"; | |
iex "netsh interface portproxy add v4tov4 listenport=$port listenaddress=$addr connectport=$port connectaddress=$remoteport"; | |
} |
#!/usr/bin/env bash | |
mysql_apt_deb=mysql-apt-config_0.8.14-1_all.deb | |
sudo apt-get remove mysql-server mysql-client -y | |
sudo apt-get autoremove -y && sudo apt-get autoclean -y | |
wget –c "https://dev.mysql.com/get/${mysql_apt_deb}" | |
sudo dpkg -i $mysql_apt_deb # select 5.7 | |
sudo apt-get update | |
sudo apt policy mysql-server #(it will show 5.x is the default candidate) | |
sudo apt-get -y install mysql-server | |
# ensure your host windows have no mysql service running | |
sudo service mysql start | |
sudo service mysql stop | |
sudo dpkg -i $mysql_apt_deb # select 8.0 | |
sudo apt-get update | |
sudo apt policy mysql-server #(it will show 8.x is the default candidate) | |
sudo apt-get -y install mysql-server | |
sudo sed -ie 's/\/usr\/share\/mysql\/mysql-helpers/\/usr\/share\/mysql-8.0\/mysql-helpers/' /etc/init.d/mysql | |
sudo service mysql start |