project A DOS® Server In a Virtual Machine


If you heard "Fossil", what might you think about? No, no! Of course, it isn't the old-time Fido Opus SEAdog Standard Interface Layer (also known as "FOSSIL") which could come at first in your mind. :-) Neither is it someone's skeleton.
Fossil is a stand-alone executable open-source application which is a distributed version control system, bug tracking system and wiki software server for use in software development. It's all-in-one. It was made by D. Richard Hipp who is also the architect and primary author of SQLite.
Fossil is unique by its simplicity in usage. I think it's a specific character of Richard to create easily useable software, and I like him for that. :-)
In this article, I want to tell you how to deploy it. Perhaps, I've never met the easier way before. =)

First of all, go visit Fossil's official web site at You'll find precompiled binaries for the x86 platform there. Also, there is a source tarball there for those who have a non-x86 microprocessor. Feel free to download the proper file.
After you've done it, unpack it (and compile it if it's a source code). Make sure it does have executable rights.
Now, initializing the system is your task. I've never known it is so easy to do.

./fossil init work

I'm going to give a step-by-step explanation what I have just done.
fossil is the name of the stand-alone executable.
init is the command which you are sending to Fossil to execute. Shortened from "initialization".
work is my repository name that will be created. Define it as of you own. The repository consists of data in SQLite.
Fossil has a built-in web server that runs at port 8080 by default. If the port is already occupied by something, Fossil will try to use the next one in turn. It will go on looking for a free port until it finds.
As for me, I don't like when an application tries to define the host and the port by itself. So I'm expecting to be able to choose them as I wish. Look at the example stated below how you may do it:

./fossil server --port 3333 work

In the given command, Fossil will be running at port 3333.
The server can be normally interrupted by hitting Ctrl+C. Otherwise, it'll be running within an endless loop.
If you have some project where teamwork is proposed to be, you might need to create additional user accounts on Fossil. Fossil is designed as a multi-user system. An admin is always created while initializing the system (see above). Others should be made through a command-line interface as follows,

./fossil user --repository work new Joe

In this instance, we are creating a username of Joe.
Whether you are one or you're two or more users, I will always recommend you to create more than one user account on a system. There is no need to work as the admin all the time. It is insecure as well.
After you have created the users, you may manage their privileges on Fossil over the web site.

In this little article, I have shown how easy Fossil is in deployment. When you're in a rush, Fossil is very becoming to what it is designed.