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
7
What else you may like…
Videos
Podcasts
Posts
Articles
Wolfenstein 3D for the C64

Wolf64 is a port, in pure 6502 assembly, of the 1992 FPS classic to the Commodore 64.

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

00:06:33
Debian Votes on Banning AI

Debian Linux, now run by an anti-(cis)male Project Leader, is voting on if their project will ban Al contributions. All Debian Developers are eligible to vote. Even the Registered Sex Offenders.

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

00:09:48
Python Board Candidates Push for DEI, Code of Conduct

Candidates for the Python Foundation Board focus on "Code of Conduct" and "Inclusivity", brag about "fabulous Pride celebrations".

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

00:09:57
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
7 hours ago

I Think I Found the Sweet Spot for 32GB Local AI - YouTube

🤯

10 hours ago

Who knew Rust had a movie and this happened!!

That's what happens when they used the Unsafe keyword and did not make it memory safe!

August 16, 2026

Bryan Lunduke still memory holed on OpenAI

Not on gemini, grok, claude, or Kimi K3 - all of them will talk to you about Bryan Lunduke.

But not OpenAI.

post photo preview
Lunduke Lifetime Discount Ends in 1 Day; Zelda, Larry, SQ, & Keen Walls Available

TL;DR: Lifetime Subscription discount ends in one day. There are currently 4 “Lifetime Walls” with space available for more names (the Oregon Trail Wall is now full).

We’ve been running a massive discount on Lunduke Journal Lifetime Subscriptions for the entire months of June and July. And it has been an absolute blast. There are now 21 (twenty-one!) retro computer walls overflowing with your names.

Pure insanity. Huge thank you to everyone who has supported The Lunduke Journal.

But the discounted price only runs through July 31st… and that moment is just about here.

When the calendar ticks over into August (just a hair over 24 hours from now), the Lunduke Journal Lifetime Subscription price goes back to normal.

  • If the calendar still says it’s July, the Lifetime price is still discounted to $125.

  • If the calendar says August… the price returns to $300.

There are, as of this exact moment, 4 retro game themed “Lifetime Walls” which still have some space for more names (check Lunduke.com for the full list):

  1. Legend of Zelda

  2. Commander Keen 4

  3. Space Quest 4

  4. Leisure Suit Larry

Grab a discounted Lifetime Subscription (scroll down for the details), then email Lunduke (bryan at lunduke.com) with which Wall you’d like to appear on.

 

First come, first served. Once a Wall is full, it’s full. So if there’s a specific Wall you’d like to be on, don’t dilly dally.

How to Grab a Discounted Lifetime Subscription:

There are 3 different ways to pick up a Lunduke Journal Lifetime sub. All of them work great. Choose whichever works best for you!

Remember: These discounted prices go back up to normal ($300) on August 1st.

Get a Lifetime Subscription via Locals:

  1. Go to Lunduke.Locals.com/support.

  2. Select “Give Once“.

  3. Enter “125“ into the amount field.

  4. After checking out, Lunduke will toss you an email once your account is set to full lifetime status. (This usually happens within a few hours.)

Get a Lifetime Subscription via Substack:

  1. Go to Lunduke.Substack.com/subscribe.

  2. Select the “Lifetime Subscription” option.

  3. After checking out, Lunduke will toss you an email once your account is set to full lifetime status. (This usually happens within a few hours.)

If you would also like full, Lifetime access to Lunduke.Locals.com (which is included):

  1. Make a free account on Lunduke.Locals.com.

  2. Email “bryan at lunduke.com” with the email address you use on both Substack and Locals (can be different email addresses).

  3. Lunduke will toss you an email once your account is set to full lifetime status on Locals.

Get a Lifetime Subscription with Bitcoin:

Bonus: Save an extra $10 with the Bitcoin option, as Bitcoin processing has fewer fees associated with it.

bc1qyjakve8fywm8pz2v99v57yhjj0vzr2vjze6fcq

  • Email “bryan at lunduke.com” with the following information: What time you made the transaction, how much was sent (in Bitcoin), and the email address you use (or plan to use) on Locals.com or Substack.com.

-Lunduke

Read full Article
post photo preview
Oregon Trail, Keen, & Leisure Suit Larry Lifetime Walls

Holy frijoles! There are now 20 (twenty!) Lifetime Subscriber Walls, filled with the names of roughly one bazillion Lunduke Journal supporters.

Just amazing.

Two super quick updates:

  1. The “Desqview/X”, “NeXTSetp”, & “TRS-80 Model 100” Walls are now full! (Check them out on Lunduke.com and at the end of new shows.)

  2. There are 3 new Walls available to put your John Hancock on… and, just for kicks, these ones aren’t from Classic Operating Systems… they’re Classic Games:

    1. Oregon Trail

    2. Commander Keen 4

    3. Leisure Suit Larry

 

I don’t expect space on these Walls to last long. First come first served.

A huge thank you to all of The Lunduke Journal subscribers. Your support is deeply appreciated. You make this possible.

-Lunduke

Read full Article
post photo preview
TRS-80 Model 100 joins The Lunduke Journal Lifetime Wall party!

Buckle up, Buttercup. Because The Lunduke Journal is about to blow your mind.

  1. The “BeOS” Wall Lifetime Subscriber Wall is now full (see all of them on Lunduke.com)!

  2. We’ve added a new “TRS-80 Model 100” Wall (because we can)! That’s the 19th Lifetime Subscriber Wall! 19!

  3. The discounted Lifetime Lunduke Journal Subscriptions are still available through to the end of this month (July).

Which means there are, as of this exact moment, 4 Walls with space available (see Lunduke.com for the full list of Walls). But these fill up wicked fast.

  1. Emacs (only a few spots left)

  2. Desqview/X (a little less than 2/3rd’s full)

  3. NeXTStep (still plenty of space)

  4. TRS-80 Model 100 (just launched)

 

Nice, right?

Worth noting: The “TRS-80 Model 100” has very limited screen resolution (240 x 64), which means only a small number of names can fit on that wall. If you want on it, I’d let me know right away.

Grab a discounted Lifetime Subscription (if you don’t already have one), then let me know (email “bryan at lunduke.com”) which Wall you’d like to see your name on.

Huge high five to everyone who has already added their name to a Wall. At the current rate, we’ll have over 20 retro computer themed walls, filled with all of your names, by the end of the month.

And, doggone it, that’s amazing.

-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