Servers 101: Intro & Getting into your server

in #tutorial7 years ago (edited)


Image courtesy of TheNextWeb

Hey there, I'm going to be posting a series of server tutorials for you. There's no shortage of tutorials around the web, but I always take a more simplistic approach than most other writers out there.


Choosing a provider

The most important first step, is to choose a provider. There are hundreds of providers out there providing VPS (Virtual Private Server, where you are basically renting a part of a server) and Dedicated Servers (where you rent a whole server).

There are other fancy names such as "VDS", "Cloud Server", "Dedicated Instance", "Root Server" etc. All these describe a VPS.

Depending on your needs, most of the time you will need a VPS, which will save you money. For production use, I recommend Vultr, Digital Ocean and BuyVM.

If you don't have a mission critical service, for example you are developing a platform and you want a small server to test it, you can have a look at Low End Box where budget providers (meaning, companies that provide services for less), are offering very competitive prices.

99.99% of these providers offer only UNMANAGED services, which mean that they will only take care of hardware and network issues. If you have an issue with a piece of software you use, it's up to you to solve it.

If you need someone to always be there to help you, you need a MANAGED server. This will cost you a lot more per month than an unmanaged server, and you don't need to read this :P

Chances are that you will get a linux server, which is cheaper than a windows server as there are no licensing fees.


Bought the server, no what?

You need an SSH client. SSH means Secure SHell, and is a way to remotely login to a console environment. The most used SSH client is PuTTY, it's free and open source, and you can find it by clicking here

This is the main screen. You fill out the server's hostname or IP, and you click "Open".

Optionally, in order to save time and not type these details every time, you can fill the box marked with yellow color with the server's name, and click save, before clicking open. The next time, you will see an entry there with the name you entered. You just double-click it, and it will connect.


Security alert

The first time you login to a new server, you will see this error. It is safe to click "Yes", which will cache the server's key to your computer's registry and you won't see it again, unless you reinstall the server or a hacker gets in on your server and starts meddling with it. Chances are, you won't see this again.

Clicking "No" will log you into the server without caching the key, and the next time you reconnect, you will get the same error

Clicking "Cancel" will disconnect you.


Logging in

After connecting, you will be asked for your server's username (it is usually root, but you'll have to consult the email you received from your provider), as well as the password your provider gave you.

IMPORTANT NOTE : While typing your password, you will see no characters coming up to your screen. This is normal. Type your password and press enter.

If you entered your details correctly, you will be greeted with a screen similar to this:


Updating the operating system

The first thing you always must do, no exceptions, no excuses, is to update your operating system. My series will be based on Debian & Ubuntu. The server I'm using is running Ubuntu 14.04, but you can use these commands in either Ubuntu or Debian.

If your prompt looks like this:

root@your-hostname:~#

The first thing you will have to do is

apt-get update

This will update your local repository list. It may take a while, as it downloads information about the software packages available on the remote server, and their versions. It seems "simple", but most operating system repositories have hundreds of thousands of software packages. Depending on your server's connection speed, it will take anywhere between 10 seconds to 10 minutes. Though, if it takes more than 2 minutes, your server's connection is slow.

Now that it has finished, you simply type

apt-get upgrade

The screenshots are from a test server that is running in Greek language, so I will translate the last line for you:

160 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 106 MB of archives.
After this operation, 805 kB of additional disk space will be used.
Do you want to continue [Y/n]?

You simply type the letter "Y" and press enter.

It will start downloading the updated packages, and then it will install them.


Getting out of the server.

We have finished our updating, and now I will end this tutorial with telling you how to exit the server.

It's a very difficult command to know, and you will need a lot of time to memorise it:

exit

By typing exit and pressing the enter key, your PuTTY session will disconnect from the server and it will exit immediately.


Click here to go to the next part of the series, Basic Server Security Part 1


Thank you for reading. If you liked my small tutorial, or have any questions, feel free to leave a comment.

If you need a place to host your servers consider Vultr, Digital Ocean and BuyVM.

These are affiliate links. If you sign up through them, you support me and I will have more free time to write more content like this.

Also If you signup for Digital Ocean through my affiliate link, you will get $10 to try them out. Note: to battle abusers of this offer, you'll have to make a $5 deposit via Paypal or add your credit/debit card, so they can confirm that you are a new user. I did a deposit via Paypal to test them out, and then I added my credit card so I won't have to deposit money manually every now and then.


Also, I am running a witness server. Please consider voting me for a witness.

You can read my witness declaration here

Sort:  

Tutorials like this one is in high demand. Very few beginner developers know how to set up their own server. Cloud providers like AWS, Azure and Digital Ocean offer very cheap and even free tiers (AWS) for development servers. That's a great way to get started. Great job man, keep it up!
I'd love to see more detailed tutorials using Linux or Mac. :)

Hey there, thank you for taking the time to comment :)

There are many way cheaper providers than AWS & Azure offering the same stability, but that's each one's preference.

Anyway, I hope this will help someone and bring them one step closer to being a server administrator (but it is only the beginning of the start of the journey!) :P

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by dimitrisp from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, and someguy123. The goal is to help Steemit grow by supporting Minnows and creating a social network. Please find us in the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you like what we're doing please upvote this comment so we can continue to build the community account that's supporting all members.

hey, great tutorial, but can you point me in the direction of a tutorial which outlines how to install and configure an apache2 server in a LAMP environment?? i would like to publicly host my website on my own server, and i have been searching the internet high and low, yet cannot find anything -.-

I see you found my other posts, that explain this process :)

Coin Marketplace

STEEM 0.22
TRX 0.20
JST 0.034
BTC 99006.74
ETH 3331.65
USDT 1.00
SBD 3.09