Skip to main content

Menjadikan Windows Subsystem for Linux (WSL) sebagai mode Bridge Local Server

بِسْــــــــــــــــــمِ-اﷲِالرَّحْمَنِ-اارَّحِيم | الحمدُ لله



A. Mengaktifkan Windows Subsystem for Linux pada Windows Features



Centang pada bagian
  • Virtual Machine Platform
  • Windows Hypervisor Platform
  • Windows Subsystem for Linux
Kemudian Restart Windows

atau menggunakan perintah Powershell
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
B. Menginstall Distro Linux Ubuntu

buka command prompt dengan perintah :
wsl --install Ubuntu --web-download
  • memasukan username
  • mensetting password


Beberapa distro linux WSL yang tersedia di Microsoft Stores :
  1. Kali-Linux
  2. Debian
  3. Ubuntu
  4. Alma Linux
  5. Fedora
  6. Arch
  7. OpenSUSE

atau bisa mengecek daftar WSL untuk menginstall nya melalui command prompt
wsl --list --online
Setelah semua instalasi selesai, WSL masih menggunakan ip virtual berikut ini langkah untuk menjadikan mode Bridge dan Server bisa diakses melalui Local Network.

Cek IP WSL
wsl hostname -I
Cek WSL status
wsl --status
List WSL
wsl -l -v
Start WSL
wsl -d <distro_name>
Shutdown WSL
wsl --shutdown

Membuat File .wslconfig pada User Profile C:\Users\<user>\.wslconfig

atau buka run %USERPROFILE%\.wslconfig



isi script berikut ini kemudian save file
[wsl2]
networkingMode = bridged
vmSwitch = Bridge
Membuat New Virtual Switch dengan nama Bridge di powershell dengan perintah :
New-VMSwitch -SwitchName Bridge -SwitchType Internal
2. pada Start Menu cari kemudian Buka Hyper-V Manager




3. Buka Virtual Switch Manager pada tab Actions



4. pada Virtual Switches di Bridge lakukan perubahan Connection Type menjadi External Network pilih adapter fisik sesuai dengan LAN atau Wifi dan kemudian Apply

5. Cek kembali IP WSL sekarang sudah berubah menjadi satu segmen dengan jaringan lokal.



C. Membuat Web Server pada WSLPertama Lakukan Update
sudo apt update -y
2. Lakukan Upgrade juga
sudo apt ugrade -y
3. Menginstall net-tools
sudo apt install net-tools
4. Menginstall PHP
sudo apt install php
5. Menginstal Apache sebagai Web Server
sudo apt install apache2
jalankan service apache
sudo service apache2 start


membuat symlink dari /var/www/html ke /home/adyoi/, disini saya menggunakan adyoi sebagai username
ln -s /var/www/html /home/adyoi/



masuk ke directory html
cd html
buat script sederhana yang menampilkan php info dengan perintah :
nano info.php
isi script berikut kemudian save file, Ctrl-O dan keluar Ctrl+X

<?php

echo phpinfo();

?>


6. Menginstal Databasesudo apt install mariadb-server


masuk root dengan perintah :
sudo su
jalankan service mariadb dengan perintah :
service mariadb start
lakukan mysql_secure_installation dengan perintah :
mysql_secure_installation
masuk kedalam mysql dengan perintah :
mysql -uroot -p
membuat user admin
CREATE USER 'admin'@'%' IDENTIFIED BY 'Password@2023';
lakukan privilege pada user admin
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
lakukan flush privilege kemudian exit
FLUSH PRIVILEGES;
exit;
agar dapat diremote, tambahkan baris script berikut pada /etc/mysql/my.cnf
[mysqld]
bind-address = 0.0.0.0
lakukan restart pada mariadb-serverservice mariadb restart




7. Menginstal phpmyadmin
apt install phpmyadmin
lakukan restart pada web server
service apache2 restart




8. Menginstal SFTP
apt install openssh-server
jalankan service ssh
service ssh start
membuat password user, disini saya menggunakan adyoi sebagai username
passwd adyoi



Selesai sudah seluruh langkah menjadikan Windows Subsystem for Linux (WSL) sebagai mode bridge dan Web Server dapat diakses melalui Local Network, ikuti langkah demi langkah nya agar dapat dipahami secara detail, jika ada pertanyaan silahkan tulis dikolom komentar 😐

Karena Server ip ini bersifat dhcp maka akan berubah-ubah sesuai dengan dhcp pada modem router, untuk memudahkan configuration pada saat WSL Running maka diperlukan script starter sebagai berikut, anda juga bisa kustom ip address untuk Server.

Mengaktifkan systemd terlebih dahulu
nano /etc/wsl.conf
isi script berikut, Ctrl+O kemudian Ctrl+X
[boot]
systemd=true
buka command prompt untuk melakukan reboot WSL
wsl --shutdown
wsl -d Ubuntu
buat file baru dengan perintah :
nano start_server.sh
isi script start_server.sh berikut, kemudian Ctrl+O dan Ctrl+X untuk keluar
#!/bin/sh
# WSL to Local Server
# oleh @adyoi - Tangsel 1/7/2023

if [ "$(id -u)" -ne 0 ]; then
echo "sudo ./start_server.sh"
exit 1
fi

clr=$(tput sgr0)
cyan=$(tput setaf 6)
green=$(tput setaf 2)
yellow=$(tput setaf 3)
magenta=$(tput setaf 5)

echo "${yellow}---> [ Start Server ] <---${clr}"
read -p "IP Address: " ip_address
read -p "IP Gateway: " gateway_address

netplan_config_file="/etc/netplan/01-netcfg.yaml"

echo "network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses:
- $ip_address/24
routes:
- to: 0.0.0.0/0
via: $gateway_address" | sudo tee $netplan_config_file > /dev/null

echo "${cyan}---> [ Configuration Networking ] <---${clr}"
sudo netplan apply

echo "${magenta}---> [ Start Services ] <---${clr}"
sudo systemctl restart apache2
sudo systemctl restart mariadb
sudo systemctl restart ssh

echo "${green}---> [ Server Running ] <---${clr}"
echo "--------------------------"
echo "IP Server: ${yellow}http://$(hostname -I | awk '{print $1}')${clr}"
echo "--------------------------"
ubah permission script
chmod +x start_server.sh
jalankan script start_server.sh
sudo ./start_server.sh





Sekarang Web Server berjalan di IP 192.168.1.123



Sekian dan Selamat Mencoba 🙏

Comments

Popular posts from this blog

Install Bash on Windows 10

بِسْــــــــــــــــــمِ-اﷲِالرَّحْمَنِ-اارَّحِيم | الحمدُ لله 1. Buka Command Prompt (CMD) 2. Ketik 'bash' (tanpa kutip) lalu Enter Click untuk memperbesar gambar 3. Tunggu sampai process download selesai Click untuk memperbesar gambar 4. Masukan Unix usename baru : 'root' Click untuk memperbesar gambar 5. Selesai Click untuk memperbesar gambar

Install Laravel on Windows

https://www.codeforest.net Tested on Windows 7 Requirements : PC or Laptop internet connection recomended speed 1mbps Web Server  Recomended XAMPP get ->  www.apachefriends.org/download.html Composer get ->  https://getcomposer.org/download/ LET'S GO 1. Install Xampp 2. Install Composer 3. Add PATH environment variables Open Run control sysdm.cpl,,3 register PHP path appending at last line ;C:\xampp\php register Composer Path if not automatically added after installing ;C:/Users/[...]/AppData/Roaming/Composer 2. Open Xampp Control Panel : on service apache click config -> Apache (httpd.conf) I use custom directory root DocumentRoot "D:/localhost" <Directory "D:/localhost"> 3. Start Apache Services 4. Open Command Prompt D:\localhost> cd frameworks D:\localhost\frameworks> mkdir laravel D:\localhost\frameworks> cd laravel D:\localhost\frameworks\laravel> composer global

Blogger Data Global

https://upload.wikimedia.org Berikut List Blogger Data Global Lengkap : b:else b:if b:includable b:include b:loop b:section-contents b:section b:skin b:template-skin b:template b:variable b:version b:widget data:adCode data:adEnd data:adStart data:attribution data:backgroundPositionStyleStr data:backlink.adminClass data:backlink.author data:backlink.deleteUrl data:backlink.snippet data:backlink.timestamp data:backlink.title data:backlink.url data:blog.blogId data:blog.enabledCommentProfileImages data:blog.homepageUrl data:blog.isMobile data:blog.languageDirection data:blog.metaDescription data:blog.mobileClass data:blog.pageName data:blog.pageTitle data:blog.pageType data:blog.title data:blog.url data:blogCommentMessage data:blogTeamBlogMessage data:col.class data:col.idPrefix data:col.includeBottom data:col.num data:comment.adminClass data:comment.anchorName data:comment.author data:comment.authorAvatarImage data:comment.authorCla