New server? 29 projects and resources to get you going

New server? 29 projects and resources to get you going

You’ve found yourself with a shiny new virtual private server (VPS). Lucky you! Whether you’ve a VPS in the past or this is your first go-around with one, you might be wondering what, exactly, you’re going to do with it. Or, for the beginners out there: How do I use this thing?

Maybe you’ve already hopped over to StackOverflow, looking for answers, or have typed in a few tepid Google searches without much success. Well, you’re in luck, because as the official blog for SSD Nodes, we’ve poured tons of opportunities and resources into Serverwise. If you can’t find a project to kickstart on your shiny new server here, you just might be hopeless.

But instead of just rattling off a few dozen links without much guidance, I’ve organized some of our best resources and projects into three different categories based on how you perceive your server skill level.

  1. I’ve never used a server before
  2. I’m fairly experienced in servers
  3. I’m an expert in servers

I’ve never used a server before

First off, it’s important to point out that if you bought something from SSD Nodes during our Black Friday/Cyber Monday sales, you bought a server.

We use the word “server” synonymously as “VPS,” which stands for “virtual private server.” That means “server” and “VPS” are referring to the same thing. The thing you bought, and the thing you’re hoping to get some use from.

If I’ve already lost you, I recommend you check out our [1] ultimate dictionary for essential server terms. That’s one! The dictionary is always expanding, and already includes a few dozen critical terms that you should know as you start deploying services on your server and develop your understanding of how they work.

Next, you should look at our [2] beginner’s guide. That’s your “portal” into the rest of our beginner-centric content. The guide to [3] connecting to your server via SSH is essential, as are learning your [4] Unix and command line basics.

If you’re coming over from shared hosting, get knowledgeable about [5] what to expect during your migration to VPS hosting.

After spending some time on your server’s command-line interface, you should also check out the SSD Nodes dashboard and [6] enable two-factor authentication to ensure no nefarious actors can start, stop, or destroy your server.

One of the most important steps you can take to secure your new server from attackers is to use cryptographic keys, instead of just a password, to authenticate yourself. Our [7] private key deployment guide has you covered.

Already overwhelmed with the options, opportunities, and jargon? Not sure how to do any of the stuff mentioned above? A control panel might be right for you. cPanel is an obvious choice but comes at a cost—instead, you might consider installing one of the [8] 7 free cPanel alternatives we looked into and have sorted based on popularity, feature sets, and ease of installation. A control panel will allow you to administer your server using a graphical interface instead of the terminal.

Control panel or not, there comes the point when you need to actually deploy something from your server. That’s what they’re there for, of course! Deploying code might seem incredibly overwhelming, but the open source community has developed tons of easy-to-use tools to make deployment pretty simple once you have a handle on basic command-line programs. We’ve compiled the best beginner-friendly deployment tools on our [9] server “ignoramus” deployment post.

Finally, it’s important to keep perspective about the growing pains of working with servers for the first time. That’s why these [10] 21 tips for keeping your sanity and always moving forward should come in handy.

But wait! What should I actually do with this server?

Don’t worry—I hadn’t forgotten about that part. I would argue there’s no better first project for a server beginner than hosting a basic website or blog. Because blogs are so popular among the open source/server community, they’re well-supported and easy to deploy.

If you already have a blog or aren’t interested, I recommend you read on for more what ideas. Some of them may seem complicated right now, but that’s what learning (and learning from failure) are for!

I’m fairly experienced in servers

If you already have some server wisdom under your belt, you’re probably interested in deployments that go beyond a LAMP/LEMP stack plus a blog.

Because a new server is a clean slate, there’s no better time to customize your command-line shell and introduce some “quality of life” upgrades that make working on your server easier. Or just prettier. Start with [15] installing Zsh and customizing it. Once that’s finished, you can start making [16] custom “dotfiles” to help you bring your perfect server setup with you wherever you go.

Since you have some server experience, it’s time for more complex deployments, and Docker continues to be one of the most popular ways to do exactly that. Get started with our [17] introductory Docker setup tutorial, which will get you running containers in about 15 minutes. From there, a whole host of options opens up to you. You can use docker-compose and an Nginx proxy to [18] host multiple SSL-enabled websites/apps from a single server. You can also use a middleware program called [19] Traefik to handle configuration for you.

Our comprehensive [20] self-hosting handbook will walk you through the process of deploying an automated, SSL-encrypted, Docker-based self-hosting infrastructure that you can expand to your heart’s content. Was that enough jargon in a single sentence for you?

Another popular option for servers is a virtual private network (VPN), which will allow you to browse the web without your internet service provider snooping in on your traffic. Google’s parent company, Alphabet, is funding a VPN project, and [21] Outline is quite easy to install.

For a broader view on how you might handle your growing understanding of the technologies behind servers, you might take some inspiration from our [22] roadmap to evergreen skills for working with servers. You’re not going to learn anything about continuous integration or Docker deployments there—it’s all about the other skills that will help you elevate your server game.

I’m an expert in servers

In this case, you’re probably not wondering how to do something interesting with your server, but rather what. We’ve got you covered on that front, too.

I’m not going to waste your time trying to convince you to deploy this solution or that since I think you think you know what you want. I think.

Instead, here’s a handy list of posts in the general “cool things to do with your server/VPS” category:

More practical advice on learning about servers

I could keep this list going forever, but I wanted to end this post on some of the ways that Ranvir Singh, one of our engineers and frequent contributor to this blog, has himself learned from using, developing on, and deploying with his servers.

I’ll leave the rest to him:

Learning about Linux

A VPS is a great testbench for learning Linux. It’s not hogging your main workspace so you can continue using Windows or OS X without sacrificing much. If you’re using SSD Nodes, your VPS is way faster than a typical laptop, anyways.

You don’t have to worry about breaking things, because you can go back to a working state by reinstalling the OS. This will also ensure you always start on a clean slate.

You have enormous amounts of bandwidth and a public IP, both of which are a rarity in domestic broadband connections, but are essential if you want to learn about servers.

Depending on your personality type, you can start by going through various topics in a bottom-up approach. This means you can start from the programming section, and slowly expand your horizons to learn about the various tools involved, basic DevOps, networking, and then overall system administration. Or, if you’re like me and want all the spoilers first, you can start with the bigger picture. That’s to say, follow the guide from top to bottom, in roughly the same order. Slowly, if you pick a topic and research more about it, you’ll start seeing things at greater resolution.

Another great bookmark for you to have is the evergreen server skills roadmap that we published here on Serverwise. If you ever feel frustrated or lost, looking at maps like these can give you much-needed clarity. If you want to go down the rabbit hole of how Linux works, “UNIX and Linux System Administration Handbook” is a personal favorite of mine.

Understanding security

One can’t truly appreciate the extent of a vulnerability unless they see it in action. A new VPS is a perfect place for you to start your journey as a security researcher, especially if you’re interested in network and cybersecurity.

You can start by trying out known attack vectors. For example, try pointing your DNS to the public IP of your VPS and host a web server using HTTP without TLS. Now you can easily do run a man-in-the-middle attack, ethically spoofing your demo site without ruffling anybody else’s feathers.

As you learn more, you will see that even HTTPS isn’t bulletproof. Even HTTP-to-HTTPS redirects, when done internally, are insecure, as a malicious fake site simply wouldn’t do the redirect. From here you can start learning about HSTS, which comes with its own bag of problems. And so on and so forth.

That’s just an example of how cybersecurity experts make progress: No one person can figure it out on his own. People constantly review each other’s findings, improve on them, and then find ways to strengthen the system. It’s slow, it’s gradual, and a VPS is a perfect testbench for it.

The HTTPS example is just the tip of the iceberg when it comes to cybersecurity. Security researchers do a lot more than just HTTPS. Following blogs like the ones maintained by Troy Hunt is a great way to learn more.

Implementing your next big idea!

There’s a big reason why servers are important, aside from the sheer awesomeness they radiate.

Businesses use them to run their online stores while staying clear of Amazon’s AWS service. Universities use servers for science and research—everything from sequencing human DNA to simulating collision galaxies is done on servers. Stock markets use servers for high-speed trading. Mobile and desktop applications use servers as a backend from which they receive constant updates and patches.

Servers (virtual or not) need to be reliable, performant and secure. All at the same time!

We know the importance of this at SSD Nodes, which is why we offer more memory and CPU per dollar than most other vendors out there. Our SSD (and now NVMe) storage relies on tried and tested technologies like RAID and OpenZFS, so you get great performance without the risk of losing data. Our VPS are production ready and reliable, which means you can launch your next big idea on it and not worry about downtime or losing customers.

What are you waiting for? Use that domain name you have kicking around doing nothing right now, open up your “weekend” project, and give it a home at SSD Nodes.