Beginner questions about DIY things and starting with Linode
Hey there,
I would be more than happy if someone could help me or point me to the right direction.
I wanted to move to Linode, but first I will do some tests, maybe in a small Linode and with just one of my domains.
I really love to do things on my own, set and configure things, etc. I use Linux daily and, well, I love these things.
But I would love to count with your help pointing me to one direction to follow.
I mean, I know that at Linode I would have to set everything. And I would love to know about what control panel to install in a Linux server here (a Linode?), what mail server (starting with Mail-in-a-Box, right?), etc.
I have preference, of course, for open source software. Well, I also would love to know what software I could install and use here for database management (in a similar way to what phpMyAdmin give us, for example), etc.
Any help pointing me to the correct direction would be greatly appreciated, i.e., beyond the OS I'll choose (some Linux distro), what mail server, database manager, control panel for the hosting environment, etc. Well, "everything" needed to properly build and maintain a full web server.
Thanks in advance.
4 Replies
This is a very opinionated topic, many people will have many different ways of doing things.
I personally use no web control panels, Arch Linux for my operating system, Nginx as the web server with php-fpm and Certbot for SSL certificates manually configured for http authorization, and if I use a database, MariaDB. I use MX records to handle my emails being forwarded to a gmail address that I use, and msmtp to send out any emails that I need. I run one server for my own projects and another for someone else, each only set up for use with a single domain, though I can expand this to multiple domains, if I'd like.
Firewalls are always a good security practice, I use nftables and manually create my own configuration files, but you can use the Linode cloud firewall along with this, if you'd like.
For remote access, I use SSH secured with two-factor authentication or SSH keys, and Mosh to allow my shell to roam over networks.
If you enjoy doing things on your own with Linux, I would recommend Arch Linux which won't configure anything specifically for you, as other Linux distributions tend to do. There's also Gentoo Linux if you like compiling things from source code.
I run Ubuntu 20.04 (but getting ready to spin up a new server with 22.04 and later delete the old one.) I use Ubuntu because it is so popular and no matter what issue pops up or goes 'bump in the night' there is someone in the ether via Google who has the answer. Running something Arch Linux or Slackware are tasks for people who really know what they are doing, and I'm not one of them!!
I also don't run a control panel… only because it is another 'thing' that can (and probably will) break. I create my own virtual hosts, do my own apt update/upgrade, and install what I need. It is not hard if you know how to Google and follow directions.
I run mySQL and until/unless Oracle pulls the plug on it, I see no reason to switch to MariaDB. And most often I use phpMyAdmin to 'deal' with the database.
I also use Certbot for SSL. I got it via the Ubuntu 'snap' installer. (I think that is the only thing I've ever used snap for.)
Besides websites, I run the Piwigo photo gallery, EspoCRM, YOURLS and the Baikal server as a backup for the large address book (BusyContacts on the Mac.)
If you are going to run a mail server, I suggest you spin up a separate small server for that. A few years ago I ran Mail-In-A-Box and it was fine, but keeping the spam out was more work than I wanted to do so I took a small shared server at PairNetworks for seven dollars a month and use it for mail via MX records on my registry (PairDomains).
I suggest you follow the guides that Linode has on installing a LAMP stack, as well as hardening the server with UFW and Fail2Ban.
I do backups of my websites and databases via rather simple bash scripts I've written myself, but there are a ton of them out there on the net. I back up everything to a 3rd party company called rsync.net.
Linode will be a learning process for you but it really is not that difficult if you take it a step at a time and not try to learn it all in one day.
I hope this helps.