Skip Navigation

Looking for help/guidance on how to setup a server for a business

Hi. Some friends of mine are starting a business and they want to setup a server to host a simple "contact" website, run an e-mail service (about 10 accounts for now but with possibilities of expanding it to support more) and to store and remote access documents.

Im a computer savvy person so they asked me for help, but dont know much about self-hosting so I come here asking you:

What kind of hardware do they need and would be best? What OS and other software is required and recomended?
How to set it up/configure it? Im partial to foss but if there are good propietary options they are acceptable too. And last: What do we have to watch out for or avoid.

Also, space is a bit of an issue, I was thinking they could use something small like an intel nuc but Im worried that hardware would be underpowered for their needs.

I have been googling for stuff myself but I get overwhelmed by the ammount of information and some contradicting opinions so I appreciate your recomendations and guidance. Im not asking you to give me a full tutorial, although I would appreciate it too, but just to be pointed in the right direction to avoid, as much as possible, spending money and time on things they might not really need or might not perform as well.

Thanks in advance.

49 comments
  • Others have already mentioned about the challenges on the software/management side, but you also need to take into consideration hardware failures, power outages, network outages, acceptable downtime and so on. So, even if you could technically shoehorn all of that into a raspberry pi and run it on a windowsill, and I suppose it would run pretty well, you'll risk losing all of the data if someone spills some coffee on the thing.

    So, if you really insist doing this on your own hardware and maintenance (and want to do it properly), you'd be looking (at least):

    • 2 servers for reundancy, preferably 3rd one laying around for a quick swap
    • Pretty decent UPS setup, again multiple units for reundancy
    • Routers, network hardware, internet uplinks and everything at least duplicated and configured correctly to keep things running
    • A separate backup solution, on at least two different physical locations, so a few more servers and their network, power and other stuff taken care of
    • Monitoring, alerting system in case of failures, someone being on-call for 24/7

    And likely a ton of other stuff I can't think of right now. So, 10k for hardware, two physical locations and maintenance personnel available all the time. Or you can buy a website hosting (VPS even if you like) for few bucks a month and email service for a 10/month (give or take) and have the services running, backed up and taken care of for far longer than your own hardware lifetime is for a lot cheaper than that hardware alone.

      • 2 servers for reundancy, preferably 3rd one laying around for a quick swap

      Overkill for a small startup. We sell to medical practices and they get (at most) a small tower server from HPE (ML30). Backup servers can either be a small 2 bay NAS or a microserver depending on the needs

      Pretty decent UPS setup, again multiple units for reundancy

      If they can afford that. Most are already good by just using a decent online UPS.

      Routers, network hardware, internet uplinks and everything at least duplicated and configured correctly to keep things running

      Not a multi million company.
      Routers: BS.
      Network: Maybe 2x 16 port switches but too much overhead. 1x 48 Port if you really need that.
      Internet uplinks: If you have a satellite office and need the S2S-VPN to be constantly up.
      Btw: You didnt mention a duplicated phone line ;P

      • A separate backup solution, on at least two different physical locations, so a few more servers and their network, power and other stuff taken care of

      Again overkill.
      Backup on the server with something to a 2-Bay NAS and a secondary job with rotating external USB disks to take or somewhere external with you.

      Monitoring, alerting system in case of failures, someone being on-call for 24/7

      Monitoring: Yep
      Alerting: Done by monitoring in the best circumstance
      On-call 24/7: As this is a small company: LOL

    • I had thought about redundancy and backups but I wasnt aware of how much it would require. Thanks!

      • It depends. I've ran small websites and other services on a old laptop at home. It can be done. But you need to realize the risks that come with it. If the thing I'm running for fun goes down. someone might be slightly annoyed that the thing isn't accessible all the time, but it doesn't harm anyones business. And if someones livelihood is depending on the thing then the stakes are a lot higher and you need to take suitable precautions.

        You could of course offload the whole hardware side to amazon/hetzner/microsoft/whoever and run your services on leased hardware which simplifies things a lot, but you still run into a problem where you need to meet more or less arbitary specs for an email server so that Microsoft or Google even accept what you're sending, you need to have monitoring and staff available to keep things running all the time, plan for backups and other disaster recovery and so on. So it's "a bit" more than just 'apt install dovecot postfix apache2' on a Debian box.

  • They set up a business. They do business. They should ask someone to do this whose business it is. Not you. They are taking advantage of you.

    You will certainly and 100% ruin your friendship with them.

    • Keeping a server secure is an ordeal for a professional - especially when it comes to using it as a business server.
    • Doing E-Mail yourself, especially in a professional capacity, is a god damn nightmare and even most professionals refuse to do it and rather pay someone who handle it. For a reason.
    • The usecase you mentioned does not require a server. It can easily be done via a web hosting provider. Unless there is something shaddy going on and you/they are afraid of storing that stuff with a provider. But for what you mention here you need a simple web hosting provider for 5 bucks a month.
    • Actually doing that yourself is far more complicated than you imagine here. It's not just the server. How do you get a connection with a static IPv4 to host your services? Actually preferably multiple static IPs? Are you considering a CloudFlare tunnel? How do you plan redundancy if that connection craps out? Or the server kicks the bucket. Or power goes out? This alone costs FAR more than the money you pay for a cheap webhoster or even a VPS. (Which you don't need,imho)

    For the love of god or whoever: Don't do that. You will be liable/responsible to them (at least from their point of view) if their IP is on Googlemails blacklist and now "that one important client mail did not arrive in time". Or if the cheap residential DSL craps out and their very important site is just having the sale of their life?

    I am absolutely for self-hosting things, don't get me wrong. I selfhost basically everything (but no mail...that is a shitshow), mostly on FOSS. But don't start with someone else's business if you start doing this. Selfhost a few easy things. Get a Mini PC and proxmox, selfhost within your home network, then expand slowly.

  • I recommend that any business that needs infrastructure hire an admin, even if only an occasional contractor. Especially if they want to "keep it simple".

    It sounds like they're just being cheap and asking their "computer friend" to provide free labor. There's a reason people who do this kind of thing make a lot of money; Its a pain to set up, and it's a pain to keep it running withiut being insecure or losing data due to [insert critical issue here].

  • they want to setup a server to host a simple “contact” website

    Not sure what sort of uptime/reliability your friends are expecting out of a self hosted solution but for something like that you wouldn't need much processing power, even a Raspberry Pi can host a simple website. Not sure what to recommend offhand but there are definitely vendors in that space that sell simple DIY "contact us" form software, or I guess if you wanted to roll your own that's an option too. I'd be more concerned about keeping it locked down/secure.

    Keep in mind for the internet your friends would likely need business class internet with multiple static IPs so you can give your little DIY box its own public IP address. Many (most?) residential internet service providers do not allow self hosting websites on their network and they'd be dynamic IP anyway though you could work around that somewhat with dynamic DNS since you're going to need to purchase a domain name and point it to somewhere anyway.

    run an e-mail service (about 10 accounts for now but with possibilities of expanding it to support more)

    Like others said you really don't want to go that route unless you're well versed in that area. It would be annoying for a business especially a new one, those emails will likely keep going into other provider's spam folders for a good period of time. All the big mainstream email providers are notorious for not trusting new email domains / new IP addresses.

    Seems easier to just go to Google Workspace / Microsoft 365 / whatever other provider you like to use, presumably the business has a business use case for reliable email among other things.

    Bonus: Those cloud services can easily host simple contact forms for you so maybe that's your all in one solution. Look into Google Forms and similar.

    and to store and remote access documents.

    That sounds like the above commercial cloud solutions again :)

    But sure technically you could go through the extra step hosting that yourself. Depends on how the business wants to use/access this stuff, it's really a question for them. Could be as simple as a Windows server with RDP (if they're Windows people & just want to log into something "windows" to browse/open files) or maybe multi-user Linux with VNC (the geeks might like, maybe not so much the general Windows/Mac users). Or if you're trying to do something web oriented maybe something like Nextcloud if you want to do all this in a web browser.

    You should triple check what exactly they are expecting when it comes to remote access documents... you really don't want to spend the time setting up something that they totally weren't expecting and end up hating.

49 comments