OpenBSD Journal

A free hosting provider runs entirely on OpenBSD

Contributed by dhartmei on from the success-stories dept.

Daniel Selans writes: "Let me introduce myself, my name is Daniel Selans, and I have been actively using OpenBSD for the last 4-5 years in multiple environments, starting from enterprises to regular home server and desktop usage. My latest project - Open Hosting, is also run on OpenBSD and this is just an insight of my experience with it. I can only hope, that someone might find this interesting and maybe even inspiring, for I have proven to myself that I can practically achieve anything with this great OS."

First and foremost, I would just like to point out that this article is in no way supposed to be a plug for our organization; more than anything, it is to illustrate our use of OpenBSD and show some homage to this great OS.

Let me introduce myself, my name is Daniel Selans, and I have been actively using OpenBSD for the last 4-5 years in multiple environments, starting from enterprises to regular home server and desktop usage. My latest project - Open Hosting, is also run on OpenBSD and this is just an insight of my experience with it. I can only hope, that someone might find this interesting and maybe even inspiring, for I have proven to myself that I can practically achieve anything with this great OS.

So what is you ask? was started by me and my colleague Eric Harrison about a year ago. Basically it is a free multi-hosting solutions provider. It offers shell accounts, virtual hosting, email hosting, DNS hosting and so on, with virtually no restrictions set upon the users, unlike 99% of all other providers.

When we started the project, we had previous experience running a hosting provider, luckily also on OpenBSD (1999-2002 Since the previous experience, we had learned a lot regarding administration, security, reliability and most importantly in our case, scalability (one of the larger problems we ran into with Planning and preparing for the worst possible scenario is one of the most important things one can do before sailing into a new project. And that is exactly what we did.

One of the first steps that had to be taken with Metawire was, that we had to create a plan on how services were going to be distributed within the network, to even out the load. Although initially this wouldn't have presented a problem, but with quick growth, this can create unnecessary headaches for the admins, and even worse - downtime.
Three things come to mind : separation of services - httpd, databases, mailserver for lowering loads; backups - that's obvious and failover server(s) in case the main server decides to die for no apparent reason.

So one of the first steps that we took, was putting together 3 servers which would be running the main services, additional server for backups, which was also the main file server for keeping the users files (mounted via nfs on the main server) and the failover server. It is obvious for what reasons we needed to separate the main services, so I won't go into detail on that topic. Moving right along, we quickly cron'd a few scripts which would do daily user file backups, and weekly full disk image backups. From there, a few more perl scripts and we had the failover server up and running. The idea behind the failover server is simple - the failover server checks on a constant basis if the main server is alive, and if not, quickly grabs the latest image off the backup server, notifies admins via email and sms of the failure and sets itself up as the main server, waiting patiently until the main box is resurrected.

Obviously a word that goes hand in hand with scalability is automation. One thing that you might run into running a shell server, is quick recognition and user land growth. While this is a good thing, it's not always the same for the admin in question. Most of us have lives outside computing, and adding 300+ user sign ups by hand is definatelly not my idea of a good time. So one of our next goals was to create a user management system, which would literally automate user adding to a point of where we have to make 3 or 4 keystrokes. After a few weeks of patient coding, I came up with "mwums" - MetaWire User Management System (which is soon going to be released publicly under BSD license). The user management tool would automatically pick up on the signup file(s), intake all of the entries (name, email, shell, domain, reason, date, host, etc.) and based on our choice accept/reject/ban/dismiss the signup request. It would automatically login to the fileserver, create the necessary entries, set permissions, quotas, and everything else associated with the user.

Once these necessary steps were taken, we were up and ready to go. And this my friends, is the result. We've been running with very minimal downtime, no security problems for the last year and have had over 8500 signups, with ~3000 active users. It is an incredibly fun experience, and I would suggest anyone to try it for themselves.

One thing that I can most definatelly note is that with the use of OpenBSD, the experience was made by far simpler, and headache free. The common belief out there is that OpenBSD is best used for security gateways, firewalls, routers and etc. Well, I personally do not believe so. The capability of this OS is only admin deep. The more you know, the more you can achieve. I have personally ran OpenBSD in large enterprise environments as web servers, file servers, database servers, and frankly, it's resource management and speed is uncomparable to most other operating systems out there, multiply that with the security standards, and you've got an amazing OS. is just another example of what this OS is capable off.

Thanks for listening guys,

- Daniel Selans

System/Network Administrator

(Comments are closed)

  1. By Anonymous Coward ( on

    The homepage says -

    "Metawire has recently gotten a corporate sponsor, Microsoft, who is going to be putting the administration on a paid salary as well as provide hardware, software, and money for bandwidth for us to promote hosting on the superior Microsoft platform. Metawire will be going through a 2 week upgrade to the new server farm, at the end of which we will be transferring all email and webhosting to the new servers. Everyone show your thanks to Microsoft by purchasing some MS software. Microsoft has really helped this community out big time and deserve all your support."

    1. By Anonymous Coward ( on

      Notice the date when you click on the read more... "Metawire User Upgrade 01 Apr 2004 by blister"

      1. By Daniel Selans ( zerash[at] on

        That was definately a joke. heh

    2. By patch ( on

      You didn't notice what happens when you click 'Read More'? ;)

    3. By Anonymous Coward ( on

      April fools on you. They aren't an M$ shop.

  2. By blister ( on

    Elite. You have now fallen for my April Fools joke 18 days after the 1st. Congrats! -E

  3. By Michael ( on

    When you say free hosting provider, do you mean that I give you zero money and you give me a shell account with access to an apache process? I looked at the site, but it seems too good to be true, no?


    1. By Fábio Olivé Leite ( olive () unixforge ! org on

      That's just right, it's free as in free beer. I've been using MetaWire for my personal shell/mail needs for some months now and it's great! I even have a simple website there, and it couldn't be easier.

      1. By kokamomi ( on

        awesome. but what's the secret? who pays the bills? how will you afford to scale?

    2. By Y. Gutsalo ( on

      I have used metawire for webhosting before it was fully available to the public. It is definetly the best free shell service out there. There email service is also superb. It is also an excellent service for those just wishing to learn openBSD without having to install it on their own system. More so, this also applies if you wish to learn databasing without having to configure your own webserver or paying for one. The staff is higly motivated and always eager to help, even though this is truly a 100% non-profit project. The overall environment of the members is also great.

  4. By Dave Steinberg ( on

    I will proudly echo the comments above, I've used OpenBSD as the only system at GeekISP since the beginning (1.5 years ago) and have had nothing but success. I'm working on a slightly smaller scale in terms of number of users, but a slightly wider range of services and options - nonetheless OpenBSD has been stable and flexible in performance and as a development platform for my automation tools.

    I've gone from an Ultra 5 running 3.1-current as my prototype to x86 with RAIDFrame, and now to several x86 machines in a configuration much like the one described above. I'm also thinking of grabbing a pair of Soekris machines and doing carp + pfsync.

    I sleep very well at night knowing that I'm safe from my users and they're safe from each other. For hosting providers, OpenBSD kicks ass!

  5. By escapenguin ( on

    Thanks for posting this. I've been looking for a smaller provider that runs on OpenBSD for quite a while now. Amazing how simple your setup is for all the services it provides. It's also worth mentioning your site is really snazzy looking. Good job :]

    1. By Anonymous Coward ( on

      may look nice, but a pity it requires javascript. so there i am using lynx... >:| thanks for keeping this site and clearly visible in text-based browsers!

  6. By Anonymous Coward ( on

    The irony is the site is down...

    1. By Daniel Selans ( zerash[at] on

      Irony is that we were moving to new hardware and a new location, and now have about 300 times as much bandwidth as before and twice the hardware power. ;) Regards, -Dan


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]