How to Setup a Local Linux Web Server on Windows 11

How to Setup a Local Linux Web Server on Windows 11

How to run a local Linux web server in a Windows 11 window

Are you building a website or programming web tools using PHP, MySQL, or other common languages? Having a test site that you can run on your local PC is a huge help. 🌐 However, most web hosting services, including the best ones, use Linux and not Windows as their hosting environment. 🤔 But what if you have a Windows PC and want to build a site that will be hosted on a Linux server? We have good news! 🎉

With the built-in Windows Subsystem for Linux (WSL) service in Windows 11 or 10, you can create a local Linux web server for testing and developing sites. You simply run Linux in a window and can visit the website in your Windows-based browser, as well as edit the HTML, PHP, or other key files with a Windows editor (for example: Notepad++, my favorite). You can also browse your Linux server's file system using Windows Explorer. 🖥️

Next, we will show you how to create a local Linux web server running on WSL. We will use AlmaLinux 9 instead of Ubuntu because AlmaLinux is one of the most widely used server operating systems by web hosting providers and is similar to CentOS which is also widely used. Our control panel for the server will be Virtualmin as it is a free and easy to use panel. Many people prefer cPanel but the cPanel license comes at a cost. 💸

1. Install WSL (Windows Subsystem for Linux) if you don't have it installed yet. 🌟 To do so, enter the command wsl --install at the PowerShell command prompt. 🚀

(Image credit: Tom's Hardware)

2.🌟 Install AlmaLinux OS 9 for WSL. It is now available in the Microsoft Store for easy download. 🚀

(Image credit: Tom's Hardware)

During this process, you will need to create a username and password for your AlmaLinux instance. 🔐

3. Update your Linux environment with the latest packages. This is crucial to ensure the best performance and security. 🚀

sudo dnf update

4. Set a password for the root user. This is an essential step to protect your system. 🔒

sudo passwd root

5. Install VirtualMin by running the following commands. ⚙️ The downloaded file is a script that will run a series of commands. It is not recommended to install software this way if you do not trust the source. You can read the contents of the script by typing less install.sh after it has been downloaded.

wget -O install.sh https://raw.githubusercontent.com/virtualmin/virtualmin-install/master/virtualmin-install.sh chmod a+x install.sh sudo ./install.sh

Visit the URL provided by your browser (either your machine name or IP address with :10000 at the end). 🌐

 (Image credit: Tom's Hardware)

6. Log in as root with the password you created. 🔐✨

log in as root

(Image credit: Future)

7. Navigate through the Post-Installation Wizard, leaving the default values except as noted below. 🚀

navigate through post-installation wizard

(Image credit: Future)

I recommend changing your MariaDB password to one that is easier to remember than the default one. 🔒💡

MariaDB password

(Image credit: Future)

 

To improve your primary nameserver settings, I recommend enabling the “Skip resolvability check” option. This can help optimize your website’s performance and ensure everything runs smoothly 🌐.

(Image credit: Future)

8. Click on **Add new virtual server**. 🌐

Click Add New Virtual Server

(Image credit: Future)

9. Give your site a domain name, admin password, and admin user. 🚀 You may or may not need the username and password, as you may prefer to stay logged in as root. 🔒

(Image credit: Future)

10. Install Phpmyadmin and/or WordPress by navigating to Virtualmin -> Manage Web Applications. Select the applications you want to install and click “Show Installation Options”. Then, choose the installation options or accept the default options. 🚀

Manage Web Apps

(Image credit: Future)

You can now manage your databases by accessing http://IPaddresss/phpmyadmin in your browser (for example: http://172.18.231.63/phpmyadmin in my case). 🌐

11. Assign a hostname to your IP in C:\Windows\System32\drivers\etc\hosts. To do this, add the IP address, press tab, and then enter the Spanish name you want to use to access your site. ⚙️ This isn't necessary, as you can always go directly to the IP address in your browser, but it does make browsing your local site a little easier. 🚀

(Image credit: Future)

12. Give all users read and write access to your directory public_html so that they can access all the website folders through Windows Explorer. 🌐 If you set up a virtual server with a user who owns it — in my case, I called that user “thuser” — the folder containing the website files is /home/[USERNAME]/public_html (eg: /home/thuser/public_html). That's where you'll find the file index.html which is the default home page for your site.

If for some reason you configured the virtual server to run under the root user, the site files will be located in /var/www. But, if you followed the instructions above, they will be in /home/[USERNAME]/public_html. 📁

There is just one problem. If you try to navigate to /home/thuser/public_html In Windows Explorer, you will receive an error message like the following. 🚫

thuser is not accessible
(Image credit: Future)

To solve this problem, you have to enter sudo chmod -R 777 [PATH] in the AlmaLinux command prompt. For example. 🐧✨

sudo chmod -R 777 /home/thuser

This will make the entire home folder available in Windows Explorer. This way, you can use your favorite code editing software in Windows, such as Notepad++, to open and edit files there. 🖥️✏️

windows explorer showing public_html

(Image credit: Future)

You can now work on your site and test it on your local PC 🖥️. You can navigate to it in your browser either by going to the IP address or the domain name you chose (e.g. mysite). You can edit the files using Windows editing software and access the database by going to http://mysite/phpmyadmin. Use the following directions to get where you need to go 📍.

 

Address (assuming mysite as name)Use
http://mysiteHome page
http://mysite:10000Virtualmin Control Panel
http://mysite/phpmyadminDatabase Management
\\wsl.localhost\AlmaLinux-9\home\thuser\public_htmlHome page folder in Windows Explorer

 

🛠️ For this test site to work properly, it is essential that you have a window open AlmaLinux-9 in your system WindowsWithout this, the web server will not be able to operate properly. 🌐

5 1 vote
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most voted
Online Comments
See all comments