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
OpenMandriva's Attempted "Sabotage" by Former Contributor

A disgruntled former Linux distro contributor. Deleted desktop packages. Accusations of (potentially criminal) sabotage. Lunduke speaks to everyone to sort it out.

NeXTStep, Emacs, Desqview/X, & TRS-80 Model 100 Walls:
https://lunduke.locals.com/post/8056105/trs-80-model-100-joins-the-lunduke-journal-lifetime-wall-party

Get on The Wall with a Massively Discounted Lifetime Sub:
https://lunduke.substack.com/p/50-off-yearly-and-massively-discounted

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

00:19:39
Microsoft's Project Aion (AI Desktop) Leaked Demo Video

This leaked video shows Microsoft's AI centric vision for a future OS. No native (legacy) Windows software. All web based, and all AI.

NeXTStep, Emacs, & Desqview/X Walls:
https://lunduke.substack.com/p/vim-beats-emacs

Get on The Wall with a Massively Discounted Lifetime Sub:
https://lunduke.substack.com/p/50-off-yearly-and-massively-discounted

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

00:22:14
Microsoft Adopts Rust CoreUtils Clone... for Windows (Not a Joke)

Those increasingly buggy, not yet complete, Rust clones of the GNU CoreUtils? The ones Ubuntu ships? Microsoft is now officially maintaining them for Windows.

Massively Discounted Lifetime Subs Through June:
https://lunduke.substack.com/p/50-off-yearly-and-massively-discounted

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

00:13:53
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
post photo preview

Will AI take over???

I’m Linux Stupid

I have been building services that run on my Linux box so it makes sense to run Codex on Linux instead of on my Macs. All is well.

Then I’m in bed and come up with an idea and bring up ChatGPT app, go to remote Codex on my Macs Mini and direct work to happen. So the coding is going on the Mac, syncthing is moving the files to Linux. It works, but there’s a delay and I was watching Codex deal with and work around delays.

I still thought it was cool to be able to handle inspiration as it occurred to me.

Tonight I’m watching Wimbledon and my grandson is cuddled in my lap. A other inspiration hits me. Well, 2 inspirations, the first was - why am I running codex remotely on my Mac when I can just ssh into my Linux box and run codex there. You know, like any other terminal app. It’s nothing cool or new, it’s just 50 year old technology that I forgot my iPad and iPhone could easily do.

So I loaded up the Termius app - thoughts on iOS terminals? Loaded up ...

post photo preview
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
Vim beats Emacs!

Well, we’ve done it.

We’ve answered the eternal question: “Which Lunduke Journal Lifetime Subscriber Wall would fill with names quicker? Emacs or Vim?”

The answer, it turns out, is “Vim”. And it takes just 8 days.

 

A hearty “Thank You” to everyone who supports The Lunduke Journal by getting Lifetime Subscriptions (massively discounted throughout July) and getting on these walls! You make all of this possible!

Now. How long will it take for Emacs to fill up (matching the same number of names as the Vim Wall)?

Well, right now the Emacs Wall is a hair over 2/3rds of the way full. So we’ll find out!

Welcome NeXTStep Wall!

With the closing of the “Vim” Wall (and the BeOS Wall only having the space for 1 name left), now seemed like a good time to add a new retro computer wall: The NeXTStep 1.0 Wall.

Right now, there are 4 Walls available to add your name to (*cough* massive discount *cough*).

  • NeXTStep (just opened)

  • Emacs (about 2/3rds full)

  • BeOS R5 (1 spot left)

  • Desqview/X (1/2 full)

 

Once again, huge thanks to everyone who supports The Lunduke Journal!

-Lunduke

Read full Article
Lunduke's Week in Tech : June 28 - July 4, 2026

Lunduke’s Thoughts of The Week

Yesterday was the 4th of July.

As such, time that I normally would have spent writing up some thoughts on the Tech News of the Week (tm) was, instead, spent eating hamburgers, watching fireworks, and generally goofing off with my kids.

So allow me to briefly summarize my thoughts using as little effort as possible:

Rust is weird, Sony sucks, and America is awesome.

… Yup. That just about covers it.

I hope all of my fellow Americans had a truly splendid Independence Day.

Biggest Tech Stories - June 28 - July 4, 2026

Here are the major stories from the last week, with direct links to X and Substack.

See Lunduke.com for all other platforms (Rumble, RSS Audio Podcast, etc.).

  • Git Takes Another Step Towards Making Rust Mandatory (X, Substack)

  • 74 Million User Accounts Exposed in Breaches During June (X, Substack)

  • BCacheFS Adding Rust Dependency Even Though “Rust doesn’t have a stable ABI” (X, Substack)

  • Git Without Rust From Dev of XLibre (X, Substack)

  • Sony Says No More Physical PlayStation Games (X, Substack)

  • Ubuntu Sponsors Rust Clone Foundation (X, Substack)

  • Like Computers? Thank America. (X, Substack)

Huge thank you to all of The Lunduke Journal’s subscribers. You make all of this possible.

-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