Welcome to the beginning of a path to simpler website administration!
This article is the first in a series aimed at the average user with the average hosted website; someone without a vast amount of hyper-technical knowledge about the guts of the internet. We will see that utilizing the more "complicated" part of the hosting provider's service can be easy and can make your website management easier as well. I will provide you with a basic road map to simple Linux utilization that, I believe, will both benefit, please and, perfectly, empower you to better manage and amplify your site's potential!
As we all know, with the proliferation of user-hosted websites in our age, the market has driven most hosting services to provide users with more user-friendly interfaces; windows, or browser, based listing systems with simple and easy to understand layouts.
This is a good thing, but it's also a bad thing. One could make the argument that the simplification of hosted website management through the use of these interfaces makes it possible for the average person to easily set up and manage their own website or e-business. This is true. In fact, it's one of the main reasons that the web hosting industry is experiencing a boom. Consumers demand ease-of-use from merchants and simple picture-menu based setup and maintenance systems fulfill that demand.
So how can this be a bad thing?
There are a multitude of reasons, but the one I'll be addressing here is, coincidentally, the exact same thing: Ease Of Use! What most people do not realize at first (but soon become aware of) is that the "Ease Of Use" provided by these point-and-click-simple solutions, more often than not, make a lot of simple tasks extremely difficult, if not impossible!
The double-whammy is that they essentially "mystify" the under operating operating system (that place where the work actually gets done) and lock most people into a cycle of endless forum-searching or email-tag with customer support (and experienced Linux users) where they find, mostly, answers that assume they already possess whatever basic knowledge they need to complete the task at hand. I'm not saying that any of these folks are unfriendly or unwilling to help, just that the average user ends up no better off in the end and has to go back to … the windows-like menuing system.
The good news is: You do not have to settle!
Given the right circumstances, you can enhance your ability to maximize the potential of your website, and, ironically, increase your "Ease Of Use" by making use of that under operating system.
By learning just a few of the basics of Linux (the most popular operating system for most web-hosting solution providers), you can dramatically increase the ease with which you can maintain, and even optimize, your website.
Below, we'll go point-by-point, with "Tips" along the way, toward adding use of the Linux operating system to your bag of tricks. The de-mystification begins!
Point Number 1: Do not let any roadblocks you hit discourage you. What you're about to accomplish is within the realm of absolute potential. You CAN use Linux to maintain your website, enhance it, optimize it and much more. None of this is beyond your ability. Societally perpetuated self-doubt, mass-belief that it's all just too complicated and the pervasive knowledge that Linux is feasible only to computer science majors and "techies" are myth's and falsehoods.
You can master Linux as easily as you can master your ABC's. If that seems like over-simplification, believe me when I tell you that it's not. Remember how much easier it was to remember LMNOP than it was the rest of the alphabet? In simplistic terms, you'll be learning how to help yourself by learning how to use Linux to your advantage in much the same way. We'll start with the parts that come easily, and the rest will fall into place over time, seemingly without effort!
Point Number 2: In order to make any of this work, your service provider will have to offer you the option of using a "shell account." This is the most common terminology for direct access to the undering operating system. "Shell access" is also commonly understood. If you are already being hosted, be sure to use these terms when requesting the access you'll need. All service providers understand what a "shell account," or "shell access" is and will be able to let you know, immediately, whether or not they offer their users that option.
Tip: If you are in the consideration phase, and looking for a hosting provider, be sure to ask them if they offer you the option of a "shell account," or "shell access." It's your call in the end, but, if they do not, I would advise that you continue your search for a provider elsewhere.
Tip: Most providers offer "shell accounts," or "shell access," but they do not make a point of letting you know. In my experience, it's never anywhere near the top of the list of features the hosting provider offers, and, most times, you have to go to the support page, or elsewhere, to find out. You just need to ask. If it's something they offer, they'll give it to you (however grudgingly); usually with simple login instructions. Hosting providers generally do not like the thought of "regular" users mucking about with the undering operating system, so they generally do not make it a point to let you know you have this option!
Point Number 3: Now you're going to need to get to your shell account. This is a piece of the puzzle that most service providers will assume you know how to do. We'll assume for the moment that you do not. For our purposes here we'll assume your provider is a company named XYZ.com and you already have access to the internet and have that connection active when you connect to your "shell account."
There are certain things that you're going to need in order to access your shell account; all of which are free. Some you'll have to get yourself and some you'll most likely have to request from your service provider.
Most importantly, you'll need your connection information. You will get this from your service provider. It should include:
1. The host name or IP address of the server you'll need to connect to in order to access your account (eg webhost.XYZ.com or somecrazyname.XYZ.com). You'll almost never be given an IP address exclusively. Your service provider should, however, include this information along with the server name (eg webhost.XYZ.com – IP Address: 220.127.116.11). Having an IP address to connect to can be advantageous if, for some reason, you can not reach the server via the host name.
2. Your login information. This will simply be a user name and password.
3. The method by which you can access your shell account. Typically this will be via "SSH" (Secure Shell), but some hosts still use "Telnet" (Telecommunication Network
't let the definitions I've included in parentheses put you off. They're simply provided for completeness and should not concern you at this point. Their strict "definitions" may never ever concern you – they do not concern me and I've been in the business for well over a decade!
Basically, the difference between the two connection methods is academic. Telnet sends information over the internet as-it-is. This is one of the reasons most providers use SSH. SSH sends information over the internet in "encrypted" form. That is, Telnet is an "unsecure" protocol, while SSH is considered "secure." It's much harder (if not near impossible) for someone to hack into your connection and "see" what you're typing if the information is encrypted. Encrypted information is protected. Unencrypted information (what you'll be sending if you use Telnet) can be read (by the proper hacker) as if he or she were looking over your shoulder watching you type!
Tip: Do not accept Telnet if it's offered as a connection option. Insist on SSH. If SSH is not available from your provider, there are other options you can pursue, but they're beyond the scope of this article.
Next, you'll need a method by which to connect, using the information given to you by your hosting provider. This is simply going to be some software "client" that you'll use to connect. Many SSH clients are available for free and can be downloaded at various freeware sites on the internet (Use any search engine and simply type in a search for "SSH client freeware download."
Tip: Do not pay for an SSH client without it makes you feel better. There are several reputable and highly effective clients available for free. Almost all work right out of the box (just start them up and look for a button that says "new connection," or something similar, and then you'll be presented with a screen into which you can type in the host name, user name and password information you received from your hosting provider.
Point Number 4: Now, strangely enough (with most providers), you'll be presented with a "menu screen" once you login to your "shell account." This will generally provide you with several options such as editing files, sending email, uploading or downloading files, etc.
A text-based menu is generally fairly easy to follow. Options are presented on a numbered menu (possibly with letter shortcuts in parentheses alongside), you select the number (or letter) of the option you want to use and then you do whatever that is until you exit and come back to the menu. A simple menu might look like this:
—- Welcome to XYZ.com Shell Access Menu —–
1. Edit Files (e)
2. Send Email (s)
3. Upload Files (u)
4. Download Files (d)
5. Linux Shell (l)
6. Quit (q)
Enter your option
Tip: If you use any option and it is not made obvious how you can get back to the menuing system, you can generally get back there by "killing" whatever program you've launched by selecting your option. This can usually be done by typing one of the following "control-character" sequences. ctl + c, ctl + x, ctl + v, ctl + d. The key combinations described here are simply the typing of two keys at once (denoted by the + symbol), so for ctl + c you would type the "control" key (usually "ctl" or "ctrl" on your keyboard) while simultaneously typing the "c" key. Just type them both at the same time. Nothing to it!
Please note that all of these options may disconnect you completely from your server and should be used only after you've saved any work you're doing.
Not to worry; if you do get disconnected, all you need to do is connect again. Of course, any and / or all of these options may do nothing at all. If you just "need" to disconnect and can find no remedy in your "shell account," you can always take the guaranteed step of closing your SSH client.
Now you have arrived!
This part of the lesson is coming to an end, but your journey has just begun. At this point, fool around with the various menu options and try out the various features of your "shell account." Use them with caution, as you would when interfacing with your window-based menu system. Try to keep your actions non-destructive (eg If you're going to edit a file in a foreign editor, make sure to back it up, or copy if off, first, etc).
If your hosting provider's "shell account" is literally that, you'll end up at a "shell prompt" after connecting. Take some time to investigate. For now, stick to using "info," "help," or "man" (for manual) commands to learn about your environment. You'll know you're at a shell prompt immediately. It may look something like this (But, there's no mistaking it for a menu!)
/ home / user / public_html> _
Practice with the skills you've gained so far. You'll find, with time that they will become second nature. Of course, we're only part of the way there now, but, as this article is a "Beginning," you have accomplished your goal.
Remember, with practice and patience, you can learn a thing or two about Linux as you explore your new environment. Be cautious, but have fun. It's one of the best ways to learn!
"Ease Of Use" in managing your website will take on a new meaning for you as we continue. Hopefully, it has already!
If you're already slightly farther ahead in the game, or would simply like to take some steps to get your existing, or in-progress site notices, my website might be worth your while to check out.
But, that may be for later.