Lunduke
News • Science & Tech
How to: Run a DOS-based Web Server (seriously)
Apache and Nginx, eat your heart out.
December 20, 2023
post photo preview

Apache and Nginx are great Web Servers. Linux and FreeBSD are fantastic systems for running them on. But… what if… we wanted to do something a little more... off the beaten path?

What if -- hear me out -- we ran a Web Server… on DOS?

Yeah. DOS.

It's doable. Truly it is.

And, while DOS may not be the high-up-time, massively scalable Web Server platform of the future… it's still a heck of a lot of fun to set up. Plus, it only takes a few minutes. At which point you can say to the world: “Hey! I ran a DOS Web Server!”

Which is a far more enjoyable thing to say than perhaps it should be.

We're going to use FreeDOS as the base operating system here. FreeDOS is a Free and Open Source, MS-DOS compatible operating system that is still (even nowadays) under active development.

But, never fear, it's still DOS.

Note: Some of this will also work in MS-DOS, but FreeDOS makes the process much easier.

Step 1) Install FreeDOS

  • Go to freedos.org and download the full .ISO for FreeDOS.
  • Then install FreeDOS.

If you have difficulty here, the FreeDOS team has put together step-by-step instructions (with videos, screenshots, the works). Luckily this should be a simple process for anyone who's installed an Operating System before.

For the purposes of this tutorial, I recommend installing FreeDOS in a virtual machine (QEMU or VirtualBox recommended) – that will simply make the networking component much easier. That said, all of this works great even on bare metal… provided you have supported networking hardware.

If you are installing in a virtual machine, set up a VM with 32 MB of RAM and a 500 MB hard drive. This should be plenty. Because… it's DOS.

Step 2) Install DOS Networking Software

Here's where some of the magic of FreeDOS makes things incredibly easy.

Reboot your DOS machine (or virtual machine) and make sure the FreeDOS installer .ISO is mounted (or the USB/CD is in the drive if you are using DOS on a physical PC).

Run the FreeDOS package manager application by typing:

FDIMPLES.EXE

(On a standard FreeDOS install FDIMPLES.EXE will be in the system path, so you can be in any directory when you run it. Otherwise it is, by default, stored in C:\FDOS\BIN.)

From the “Networking” section, select the following packages:

  • FDNET

  • MTCP

  • WGET

Then chose “OK” to install the packages. At this point you'll want to reboot to load everything properly.

Step 3) Install a Web Server

There are, believe it or not, multiple options for running a Web Server under DOS. Seriously. Not a joke.

In this tutorial I'll show you how to install two of them. Because… why not? You can install either. Or both. Follow your heart.

First, let's install Sioux – which is the more feature-packed of the two we look at here. Run these commands one at a time.

md sioux

cd sioux
wget http://www.georgpotthast.de/sioux/sioux.zip
unzip sioux.zip

Now let's install WebServ. Which, believe it or not, was written in BASIC. That's right. Follow this tutorial and you'll have run a Web Server. Programmed in BASIC. In DOS. (Kemeny & Kurtz would be proud.)

cd \
md webserv
cd webserv
wget http://rubbermallet.org/software/download/websv09b.zip
unzip websv09b.zip

Step 4) Run the Web Server

Note: Both Sioux and WebServ require ntcpdrv.exe to be run first. Luckily, ntcpdrv.exe is included with both and super easy to use. Just be sure to replace the IP, Netmask, and Gateway parameters (in the commands below) with the actual numbers for your DOS machine (you can find them when you first boot DOS).

To run Sioux:

cd \
cd sioux
ntcpdrv -ip=10.0.0.2 -netmask=255.255.255.0 -gateway=10.0.0.1
sioux.exe

To run WebServ:

cd \
cd webserv
ntcpdrv -ip=10.0.0.2 -netmask=255.255.255.0 -gateway=10.0.0.1
webserv.exe

All done!

That's it! You now have your very own DOS-based Web Server!

In order to test it out simply load up any web browser you like and point it at the IP address for your DOS installation (same IP that you see at boot time and that you used with NTCPDRV.EXE above).

Wham-o! You've done it! You've run your own DOS Web Server!

This is what the default page shipped with WebServ looks like (possibly the best default webserver page in existence):

community logo
Join the Lunduke Community
To read more articles like this, sign up and join my community today
8
What else you may like…
Videos
Podcasts
Posts
Articles
Modern Linux Using Only 200MB of RAM?

The Vendefoul Wolf Linux Distro has a new release based on Devuan, XLibre, & IceWM. And it uses only 217 MB of RAM. The way it should be.

$89 Lifetime Lunduke Journal Subscriptions all January:
https://lunduke.substack.com/p/89-lifetime-lunduke-journal-subscriptions-c1b

More from The Lunduke Journal:
https://lunduke.com/

00:09:45
January 16, 2026
GNOME 50 Alpha: "Entirely Removes X11"

The GNOME Foundation's war on X11 continues, with the Alpha release of GNOME 50. Announced by the same GNOME contributor who defaced XLibre project pages (calling them "Nazis" ).

$89 Lifetime Lunduke Journal Subscriptions all January:
https://lunduke.substack.com/p/89-lifetime-lunduke-journal-subscriptions-c1b

More from The Lunduke Journal:
https://lunduke.com/

00:18:35
January 15, 2026
Is Germany Looking to Put a Backdoor into Arch Linux?

The German government paid $500,000+, to Arch Linux, to re-write Arch Package Management in Rust. Is Germany hoping to inject backdoors, or other spyware, into Arch using Rust?

More from The Lunduke Journal:
https://lunduke.com/

00:17:34
November 22, 2023
The futility of Ad-Blockers

Ads are filling the entirety of the Web -- websites, podcasts, YouTube videos, etc. -- at an increasing rate. Prices for those ad placements are plummeting. Consumers are desperate to use ad-blockers to make the web palatable. Google (and others) are desperate to break and block ad-blockers. All of which results in... more ads and lower pay for creators.

It's a fascinatingly annoying cycle. And there's only one viable way out of it.

Looking for the Podcast RSS feed or other links? Check here:
https://lunduke.locals.com/post/4619051/lunduke-journal-link-central-tm

Give the gift of The Lunduke Journal:
https://lunduke.locals.com/post/4898317/give-the-gift-of-the-lunduke-journal

The futility of Ad-Blockers
November 21, 2023
openSUSE says "No Lunduke allowed!"

Those in power with openSUSE make it clear they will not allow me anywhere near anything related to the openSUSE project. Ever. For any reason.

Well, that settles that, then! Guess I won't be contributing to openSUSE! 🤣

Looking for the Podcast RSS feed or other links?
https://lunduke.locals.com/post/4619051/lunduke-journal-link-central-tm

Give the gift of The Lunduke Journal:
https://lunduke.locals.com/post/4898317/give-the-gift-of-the-lunduke-journal

openSUSE says "No Lunduke allowed!"
September 13, 2023
"Andreas Kling creator of Serenity OS & Ladybird Web Browser" - Lunduke’s Big Tech Show - September 13th, 2023 - Ep 044

This episode is free for all to enjoy and share.

Be sure to subscribe here at Lunduke.Locals.com to get all shows & articles (including interviews with other amazing nerds).

"Andreas Kling creator of Serenity OS & Ladybird Web Browser" - Lunduke’s Big Tech Show - September 13th, 2023 - Ep 044

The 100x Architect: Why the "Vibe Coding" Argument is a Dangerous Coping Mechanism

I hear it constantly from my fellow nerds: “I’m not worried. Non-coders ‘vibe coding’ AI slop will never be a threat to my job.”

You’re 100% right. Vibe-coded slop isn't the threat. The threat is top-talent developers who also master GenAI tools.

While the skeptics are busy mocking juniors for generating buggy Todo apps, they are missing the real shift: the veterans with 40 years of patterns in their heads who are using GenAI as a 10x multiplier.

The math is simple: 10x1 is 10. 10x10 is 100.

If you are a talented dev (a 10), and you refuse to use the multiplier, you aren't "staying pure"—you’re just being out-scaled by the people who have your skills AND scale themselves with GenAI.

A Field Report from the 100x Front:

In two recent projects—one for a paying client and one for a friend—I built in a few hours by myself what would have traditionally taken a small team a couple of weeks...

Old Philosophy Nerd #1

After a full year's break, I will be restarting my exploration of Aristotle tonight (20:30PM UTC). We're moving from the Categories, to On Interpretation. I'll be discussing Chapter 1 today:

placeholder
January 16, 2026
January 16, 2026
Lunduke Journal Week In Review - Jan 16th, 2025

Whew! It’s been another wild week for Tech News!

Here’s a crazy stat for ya:

We are currently 16 days into 2026, and The Lunduke Journal has already recorded 19 shows (17 of which have been published on every platform, and 2 others to be published this weekend everywhere… but are already available via the MP4 download page). And that’s with taking New Year’s Day off (and getting the flu this week).

It’s a heck of a lot of Tech News, to be sure.

Lunduke’s Top Stories for the Week

If you only have time to watch a few of shows, I recommend these 3 as being the most interesting (or important… or just… strange) from the last week:

In other words: A pretty gosh-darned crazy week for Linux.

(Those links are to Lunduke.Substack.com, but you can watch all of those shows on any other platform. As always.)

Other Tidbits of Awesomeness

A few other notes on this, most excellent, Friday!

And, with that, I leave you with a screenshot of the MP4 listing of the shows so far in 2026. Bonkers.

 

-Lunduke

Read full Article
January 14, 2026
Lunduke's Lifetime Subscriber Wall 3 is almost full!

Holy moly.

This afternoon I sat down to update the 3rd Lunduke Journal Lifetime Subscriber wall — adding in all of you who sent in requests over the last week or so.

And, boy howdy, were there a lot of you! So many, in fact, that the 3rd Lifetime Wall only has room for around 6 or 7 more names (depending on the name lengths)! That’s crazy!

If you want to make it onto “The Lunduke Journal Lifetime Subscriber” Wall number 3… send me an email (bryan at lunduke.com) with the way you would like your name to be displayed.

Or, if you’re not already a Lifetime Subscriber, remedy that for $89. (Which, you know, is a pretty gosh darned good value.) … Then send me that email requesting to be added to the wall.

Once Wall 3 is full, we’ll start in on Wall number 4 (that’s nuts). At the current rate, I expect Wall 4 to debut this week.

And, as always, thank you for your support. Whatever kind of subscription you have, it is deeply appreciated. Monthly, Yearly, or Lifetime. All are amazing. You make The Lunduke Journal possible.

You rule.

-Lunduke

 
Read full Article
January 13, 2026
Lunduke Out Sick Tomorrow

I’ve got the flu (or something else yucky) and need to take the day off tomorrow.

But I don’t really have a normal “boss” to email. Heck, all of you are sort of like my collective boss.

So I’m emailing you:

Boss, *cough cough* Lunduke is out sick tomorrow.

Which means no new shows on Wednesday. Hoping to rest up and be back with new shows on Thursday.

If you’ve missed any shows over the last few weeks, now’s a good chance to catch up.

And feel free to grab one of those fancy-shmancy $89 Lifetime Subscriptions while you’re at it. That won’t make my flu go away any faster… but it definitely won’t hurt.

Unrelated note: Buying stock in Nyquil might not be a bad idea. I think I’m about to increase their profits.

-Lunduke

Read full Article
See More
Available on mobile and TV devices
google store google store app store app store
google store google store app tv store app tv store amazon store amazon store roku store roku store
Powered by Locals