Hey, what’s up?
Today, I wanted to share about my experiences and thoughts in building a home web server to self-host Nextcloud and WordPress.
In my case, I’ve been a web developer for a few years in the past, and I’m currently an online entrepreneur, so I kinda know my ways around these things and I wanted to try self-hosting all my online stuff and data.
So if you’re currently thinking about self-hosting your website and/or Nextcloud, creating a web home server or anything related, then this post could be for you.
So let’s go right in.
1 – COMPUTER
I simply purchased a cheap renewed computer on Amazon for $150 CAD. The exact model is a Dell OptiPlex 7010. I wanted an SSD to make it go faster, so it has an SSH drive of 500 GB. I also bought a cheap renewed monitor to go with it. It might be a bit small, but since I am just starting, I figure that it would be enough, and I want to be more serious about this, I might upgrade as I go.
That being said, if you have older computers that are lying around, you might not need to purchase, you could simply use that.
And when you really think about it, a server is actually a really high-end computer, I don’t think you need a very powerful computer to run a server.
I decided to go with an actual computer instead of something like a NAS because I think that a computer is generally better and more versatile. I didn’t know if I’d be serious about this, and NAS are actually much more expensive than normal computers.
In my case, I wanted to try 2 things from my personal server:
- Nextcloud Cloud as an open source centralized hub. Nextcloud is a free and open source alternative to Google and Microsoft workspace.
- WordPress to self-host my website. WordPress is a free and open source website builder.
That being said, as of right now, I am simply running everything on my local network while I am developing and learning these things. Making it available on the internet makes me feel a little bit insecure because I’m not so sure about the security of all this.
One thing that I find missing about Nextcloud is that yes you’re able to centralize all your data to create your own hub but as of right now, I’ve found a way to own my WordPress website with Nextcloud. I mean, yes, there’s an app to create a website with PicoCMS with Nextcloud, but I don’t care about it. I care about WordPress. So I had two 2 apps and databases on my web server for both Nextcloud and WordPress. I think the ideal solution would be to have a WordPress app inside Nextcloud so that I can easily host everything at once.
But for now, that’s what it is.
2 – DISTRO & STACK
If you’re going to do a web server, you’d be better off with a Linux distribution than something like Windows.
When I purchased the computer, it had Windows 10 pre-installed, so I installed Linux Mint Debian Edition. A popular option for server OS are usually things like Ubuntu or Debian, in my case, I chose Linux Mint Debian Edition because I already know my ways with it and Linux Mint is simple. I also used this opportunity to install that distro on all my computers. So right now, all my computers are running Linux Mint Debian Edition. My desktop, my laptop and my home server.
For the server, I installed the LAMP stack. Which means Linux, Apache, MySQL & PHP. Which is all open source.
Another thing that I wanted to talk about is Docker, I decided to purposefully not use Docker because I’m quite new into these cloud web server things and I didn’t want to make this more complicated as I’m learning as I go. If I were to update my system or decide to take it more seriously, that might be something that I would look into.
3 – PROS
3.1 – FULL CONTROL
Since I’m an online entrepreneur, my data, cloud and website are very valuable to me. By literally using my own machine that I own, I have absolute control of my data, cloud and website.
Another popular solution is to rent a VPS, which can probably work great as well, but the issue with these is that you usually have to deal with a monthly subscription and ultimately the data is still on another server that is not yours.
Also, I own many designs and videos, VPS tend to be limited in terms of storage space. Unless, you’re willing to spend lots of money. I find that annoying.
3.2 – CENTRALIZATION
Instead of using many services to fill your needs and where you find data everywhere. Having ONE centralized hub or web server that includes everything that you might need is an attractive solution. You’ll save time, money and energy juggling around with different pieces of software and websites.
By using Nextcloud and WordPress on your own server, then you know that everything that you own is centralized in this ONE hub.
3.3 – COST EFFECTIVE
You simply have to invest for the equipment, then you’re good to go. With the right equipment, there’s no limit to the things that you can do.
If, for example, you compare to Bluehost which limit you only to 1 website for this monthly price, that’s just crazy. For web hosting, you can also find newer and cheaper alternatives like iBrave.io which gives you unlimited resources for your website for a one-time.
Usually, when you subscribe to services like Google or Microsoft workspace or even rent a VPS, you have to pay a subscription which can be annoying and expensive on the longer term. That being said, you might not pay a monthly subscription, but you have to keep in mind that you still pay for the electricity to power the computer. Especially, if you’re going to run the machine 24/7. In my case, I live in Quebec, Canada where electricity if very cheap, so I don’t worry too much about that but depending on where you live, that might have an impact.
That being said, you might not pay for website hosting, but you still need to pay for your domains.
3.4 – IT SKILLS
If you’re looking to build skills into computers, websites, networking, sysadmin, cloud, Linux or anything related, then it might be a good use of your time to learn these things because that’s exactly what you’ll do. In my case, I learned computer science and I did web development in the past, so I’m quite comfortable with that.
3.5 – TRUST & FOSS
Since the LAMP stack for my web server is fully open source, it means that I can fully trust the pieces of software and computers that I use. There’s no software backdoor. There’s no data collection. There’s no data reselling. There are no ads. Or anything.
4 – CONS
4.1 – UPFRONT INVESTMENT AND UPGRADING
Like I mentioned before, unless, you’re recycling an old computer, you might need to invest some money into the equipment. If it’s not today, it could be in the future because you’ll need to upgrade or replace some parts.
4.2 – TECHNICAL SKILLS / TIME-CONSUMING
Depending on your goals, time, resources and current skills, it could be hard and time-consuming to do and manage everything yourself. You’ll most likely need to experiment, try and tinker a bit to make everything work. If you don’t have the skills yourself, maybe a friend or somebody that you know could help you.
4.3 – FULL RESPONSIBILITY
Since you’re in full control of your data, cloud and website. That also means that you have full responsibility over these things. That means that you’ll need to know how to make sure that everything is secure, protect yourself against attackers like DDoS, hardware failures, uptime, updates, configurations, maintenance and backup.
If you fail to take full responsibility then you might break, temporarily lose access or completely erase data. Which is pretty dangerous since this in your centralized hub with everything on it.
In my case, I don’t fully know all these things but since I’m comfortable with computers, that’s something that I can do. I’m pretty sure I’ll be able to figure things out.
4.4 – PHYSICAL RESTRAINS
Since you’re going to host your own server in your own house or apartment, you have to take into consideration the physical restrains that having your own server brings.
The first thing is that you have to be careful about the people that have physical access to the server. Is someone going to steal or could potentially break your server? Or maybe you have careless children? You might need to restrict physical access to your server or make sure that your drives are encrypted.
Another thing to think about is the cases of disasters like fire and flood that could ruin and/or destroy the server. Ideally, you might want to think about having backups offsite if those kinds of things happen.
Finally, you might need to moving ore relocate for some reason. That means that the server will not be running, and you might not have access to your data and website during that time.
CONCLUSION
In conclusion, I built my own web server for Nextcloud. Currently, I’m running it on my local network because I need to decide if I want to actually take it seriously or not. Running your own server comes with different pros and cons depending on your needs and what you’re trying to do. In my case, I’m not so sure about what I want to do yet. I’ll have to think about it a bit.
So that’s pretty much it, I hope this post was helpful to you. If it was, you could consider following me on social media and if you have any thoughts or comments, you can leave them below.
I hope this helps, peace!
Leave a Reply