·   ·  191 posts
  •  ·  92 friends
  • 94 followers

Small / Medium Business IT Infrastructure (Opportunities for IT Consultants)

Introduction

While every business is different in the details, there are some things that are very commonly needed. For example: email, web site, scheduling, document processing, and document management, invoicing, and so on. Many businesses outsource this type of infrastructure to multinationals such as Microsoft, Google, and Facebook. This comes at a cost in annual fees as well as in data privacy and sovereignty. Others (including many large companies and governments) take a different approach which allows them to retain control of their IT and their data. This piece is about one way to achieve the latter.

My aim is to showcase the components of such infrastructure so that business people can see what can be done and provide technical details for a systems administrator to build it out for a small / medium sized company. I was prompted to write this while doing a bunch of systems administration over the last couple of months, including moving this site to a new host and the GFANZ NextCloud instance as well.

A shout out to Peter Bryant at Rimu Hosting for the suggestion to use Virtualmin and for having that as a one button click install option for their servers. It saved me a huge amount of time and effort, and made me keen to share what I learned. The scope of this piece is purposefully limited to software that can be used with Virtualmin.

Every piece of software I describe below comes with no licensing costs. The expenses related to this set up are in hosting / server fees and IT support. All of which can be done right here in Aotearoa so that the money you spend on your IT infrastructure goes right back into circulation in the local economy instead of heading overseas. Local providers also pay their fair share of taxes, supporting our communities.

Please note, I am not looking for employment to do this kind of work. I am plenty busy with my genomics research service business and many volunteer activities. My hope is that some people can use this post to help provide a basis for their own IT consulting work / or in house IT projects.?

Overview for Businesses

Web Site

Business web sites range from simple one page brochure types to complex e-commerce platforms. These and anything in between can be built using one of these three options.

  • Wordpress:The open source publishing platform of choice for millions of websites worldwide—from creators and small businesses to enterprises.
  • Tiki: The Open Source no-code/low-code web application framework for when a standard CMS isn't enough.
  • ClassicPress: A lightweight, stable, instantly familiar free open-source content management system. Forked from WordPress without the block editor

Depending on the complexity required, one might hire someone to build and maintain the website or they might do it themselves. The initial set up can be done easily using Virtualmin.

NextCloud

You can think of NextCloud as a replacement for Microsoft 365 or Google’s similar suite of tools. It is that, and much more, in a modular structure so you can pick the components that you need and skip the one’s you do not.

This is how Nextcloud GmbH describes it, “Nextcloud offers a modern, on premise content collaboration platform with real-time document editing, video chat & groupware on mobile, desktop and web.”

Here are some of the modules / apps that we use in our business. Follow the links to more information.

You can browse all of the available apps here.

There are client apps for Windows / macOSX / Linux / Android / iPhone. These allow for a variety of integration including file syncing.

Summary

Having business IT infrastructure in country, that meets your business needs, and works with your familiar computer and mobile operating systems is completely doable. For those interested in a technical overview on how it can be done, keep on reading.

Overview for IT Consultants

Introduction

This section will give an overview of the components used to set up a mail server, web site, NextCloud, and OnlyOffice Document Server (Community Edition). The target reader will have a reasonable familiarity with GNU/Linux system administration. For example being comfortable using the command line, installing and configuring packages, using Docker, but not necessarily knowing how to set up an email server or web server from scratch.

We will use a fictional company called Example. We will install Virtualmin and then use it to set up three virtual servers on our one server. These are a Wordpress web site, a NextCloud instance, and an ONLYOFFICE document server. This overview is meant to get you started thinking about the approach. It will still be necessary to read the documentation and understand what you are doing along the way.

Base Operating System and Virtualmin

To get started, one needs either an in house server or a hosted server with an appropriate connection to the internet. A domain name (example.com) and the ability to do DNS configuration is also necessary. Point vm.example.com at the IP address that will be assigned to the server.

Follow the instructions for installing Virtualmin. Install a minimal installation of Debian GNU/Linux. Then download and run the Virtualmin GPL install script.

Three Virtual Servers for Example.com

Example.com

This will be a virtual server that runs the web site and handles emails. Start on the Virtualmin tab and:

  • Select Create Virtual Server
  • Enter example.com into the Domain Name field
  • Leave the enabled features as the are
  • Click Create Server
  • Secure the site with SSL by going to Web Configuration → Configure SSL Website

At this point, the web server and email servers will be set up and configured. Add appropriate MX, DKIM and SPF records to your DNS setup at this time.

To setup Wordpress:

  • Click on Manage Web Apps
  • Click on radiobox next to Wordpress
  • Click on Show Install Options

Virtualmin will do most of the work for you. Then follow the Wordpress configuration instructions.

Office.example.com Installing and Configuring Nextcloud

This one is a bit more involved. It requires downloading a script and running a web installer. It also requires a bit more PHP configuration. The documentation is good, which is a help.

Start on the Virtualmin tab and:

  • Select Create Virtual Server
  • Enter office.example.com into the Domain Name field
  • Under Enabled features, select only Apache website and MariaDB database
  • Click Create Server
  • Secure the site with SSL by going to Web Configuration → Configure SSL Website

Go to the Nextcloud web-installer github repo and follow the instructions. Once the Nextcloud instance is running, from the admin account, go to the Administration Settings and check for issues under Security & setup warnings. Those typically have links to documentation to fix whatever issue the system finds.

Customise the system by adding apps and configuring them following the admin manual documentation.

DocServer.example.com Installing ONLYOFFICE Docs using Docker

This one is much more involved. It requires installing Docker Engine and using Apache as a reverse proxy with SSL.

Start on the Virtualmin tab and:

  • Select Create Virtual Server
  • Enter docserver.example.com into the Domain Name field
  • Under Enabled features, select only Apache website
  • Click Create Server

From the command line as root, install docker engine following these instructions. Install ONLYOFFICE Document Server using Docker following these instructions. Because the docker container listens on port 80 (http port) by default, you must change that to a different unused port. Then use Virtualmin to configure an SSL website, and Proxy Paths to set up the reverse proxy. Both of these settings are in the Web Configuration section. Refer to the Virtualmin documentation for more details.

When this is running as expected, go to the Nextcloud admin and configure ONLYOFFICE and ONLYOFFICE Server settings to talk with it.

Bonus Note

Many widely used web applications are written in NODE.js. Virtualmin has an option to install NVM – node JS under Manage Web Apps. That can be installed on a fresh virtual server and then the app itself via the command line following the instructions for the app. Once the app is installed, use ProxyPaths to set up a reverse proxy for it.

Summary

This overview has covered setting up a small business IT server with email, web site, and Nextcloud with an ONLYOFFICE document server. It is high level, with assumed knowledge, and links to documentation and resources to assist. Once a person has set up one working system, they will have the experience to do another much more quickly. They will also have a strong basis to build on for designing other set ups.

  • 81
  • More
Comments (1)
    • This piece does not discuss a critical component of IT infrastructure, back ups. I have found BackupPC to be robust and scalable over many years and across many systems.

      Login or Join to comment.