The Eclipse IDE Integrated Development Environment is open source and provides an excellent environment to develop web applications. I migrated the LAMP server from XAMPP to WSL (Windows Subsystem for Linux) with the arrival of Windows 10. See here for XAMPP related instructions.
| Application | Version |
|---|---|
| Eclipse for PHP Developers | 2024-03 |
| OS | Debian 12.5 |
| Apache | 2.4.59 |
| PHP | 8.3.7 |
| MariaDB | 10.11.61 |
wsl.conf with the following content to /etc in your linux distro:[automount] options="metadata,umask=22,fmask=11"
wsl --shutdown [OR] wsl -t NAME
wsl [OR] wsl --distribution NAME
wsl -l -v
From the next chapter onwards this guide explains how to use Eclipse IDE under Windows. Installing Eclipse within Debian and running it from Windows through an X-Server has the huge advantage that the file permissions are maintained propberly. This chapter is taken from Run Eclipse in WSL2 with changes to adapt to my particular environment, specially that I run WSL2 in mirrored networking mode. To do that, create file C:\Users\<user>\.wslconfig with the following content:
[wsl2] networkingMode=mirrored
Access WSL2 using putty Run Eclipse on WSL2 Ubuntu, displaying the Eclipse UI on VcXsrv running on Windows Connecting to VcXsrv directly from WSL2 Using SSH X11 forwarding, with network connection initiated from Windows to WSL2 Ubuntu, which is particularly useful on company laptops that refuse all incoming network connections on Windows. Prerequisites:
WSL2 up and running Putty, Plink & PuttyGen installed on Windows WSL2 Ubuntu: Install & configure OpenSSH
sudo apt install openssh-server
Edit /etc/ssh/sshd_config:
X11Forwarding yes X11DisplayOffset 10 X11UseLocalhost no
sudo ssh-keygen -A
sudo service ssh start
Auto-start SSH daemon:
WSL2 Ubuntu: mkdir -p ~/bin ; echo “sudo service ssh start” » ~/bin/startup.sh Windows: Create scheduled task that runs on user logon, running C:\Windows\System32\bash.exe with arguments /home/<user>/bin/startup.sh Windows: Configure SSH public key authentication using PuttyGen:
See https://www.puttygen.com/#How_to_use_PuTTYgen for general instructions Run PuttyGen Generate new key pair, or convert existing key pair Save private key to ppk file; this will used later when connecting to WSL2 Ubuntu using Putty or PLink Add the SSH public key to ~/.ssh/authorized_keys on WSL2 Ubuntu Windows: Create putty profile to connect to WSL2 Ubuntu:
Session Host Name: localhost Port: 22 (or whatever OpenSSH port you configured on WSL2 Ubuntu) Connection → Data: Auto-login username: <your user name> Connection → SSH → Auth: Private key file for authentication: <key file generated by PuttyGen in step #2> Connection → SSH → X11: Enable X11 forwarding (if you want to start X11 programs) X display location: 127.0.0.1:0.0 (this should match whatever DISPLAY value is shown in VcXsrv logs) Windows: Install & configure VcXsrv:
Download & install https://sourceforge.net/projects/vcxsrv/ Copy config.xlaunch as shown below to the Startup folder (Win+R: shell:startup) Launch config.xlaunch to start the X Server manually for now WSL2 Ubuntu: Install Eclipse & prerequisites:
sudo apt-get install openjdk-11-jdk sudo apt-get install libgtk-3-0 Download and unpack Eclipse for Linux to ~/eclipse Windows: Eclipse shortcut using SSH X11 tunnel:
Manually try starting Eclipse from Windows by running the following command: plink.exe -batch -X -i <path to .ppk from step #2> <Ubuntu username>@localhost ~/eclipse/eclipse Copy silent.vbs and plink-silent.cmd (see attached files) to the directory where PLink.exe is installed Create a new shortcut that runs the following command: C:\Windows\System32\cmd.exe /c “C:\<path to plink>\plink-silent.cmd -batch -X -i <path to .ppk from step #2> <Ubuntu username>@localhost ~/eclipse/eclipse” Double-click the shortcut; if all is well you should see the Eclipse UI after a couple of seconds Windows: Eclipse shortcut using direct XServer connection:
Add the following lines to ~/.profile on WSL2 Ubuntu (create file if it doesn't yet exist): export DISPLAY=:0 export LIBGL_ALWAYS_INDIRECT=1 Note that having these lines in .bashrc won't work as .bashrc is only loaded for interactive shells Create a new shortcut that runs the following command: C:\Windows\System32\wsl.exe -u <WSL2 user> – bash -lc 'nohup ~/eclipse/eclipse' ^& sleep 1
display_errors is set to ON in apache's php.ini file and not overridden in the apache VirtualHost file Eclipse requires Java to run, so install this first.
Install the TypeScript IDE for Eclipse.