Website management for beginners

Website Management for Beginners
Your account on dreamhost assumes that you have some idea of how to manage a website, how it's put together and how to fix it if it breaks or someone breaks it for you. This document is designed to help you understand what skill levels are needed and how to acquire them.

Checklist of Skills and Knowledge

 * Can login to a remote unix site
 * Can move files from local computer to a remote unix computer
 * Understands unix directories and file structure
 * can view files on a unix machine
 * can change directories and return back to the starting place
 * knows that file permissions exists
 * can change file permissions
 * Familar with some basic unix commands:
 * grep
 * more
 * tar
 * tail
 * Basic TCP/IP addressing
 * What's my local computers address
 * What's the IP address of my dreamhost server
 * nslookup or host
 * whois
 * Can use a non-destructive text editor (not Word) on either your local computer or on a unix machine
 * understands basic HTTP protocol
 * Commands GET,PUT
 * log files created on dreamhost
 * concepts of Agent, referrer, HTTP commands and how these are affected by what's found on your website
 * role of .htaccess file
 * Know what a shell is
 * can run a shell script
 * Understand how to write a shell script
 * What does a typical user do on your website
 * What does a 'good' bot do on your website
 * can you differentiate Bad users and Bots?
 * Can you identify the security risks to your website?

You you have these skills and knowledge, Congratulations! GREAT!, your reading the wrong wiki! Go research AWK and Regular expressions! You don't have some of these skills? read on!

Can login to a remote UNIX site
One of the most basic skills for a web administrator is to check out what's happening on the actual server that is running your website. The tools you need is a reliable terminal emulator tool that supports SSH. For PC's you can use a program called Putty see link here. On Mac OSX machines you have a built in program under 'applications' folder in a 'utilities' folder called 'terminal'. After you launch these programs, your looking to 'connect' to your dreamhost user name '@' your dreamhost website name. So on the mac you'd type:

ssh myuser@mywebsite.com

You'll be presented with a password request, this is looking for the password of your dreamhost user account

Can move files from local computer to a remote unix computer
There are lots of programs for moving files back and forth from your local computer to your dreamhost website server. Dreeamweaver, Filezilla, and on and on. If you already paid Adobe your money and want to use Dreamweaver on dreamhost see this tutorial. If you want a free tool, download filezilla here, and see this tutorial. Study and experiment with moving files back and forth. Unix machines (which are the computers Dreamhost uses have 'hidden' files. Hiddent files start with a period '.', so .htaccess is a file that would normally not be displayed in your list of files. Look at whatever program your using and find out how to display these files.

Understands unix directories and file structure
Dreamhost uses a UNIX based file system to store everyone's files. Much like your MAC or PC, there are system files with commands, and user files. At Dreamhost, user files are kept in a directory that starts with '/home' next comes the unique user name you selected on the panel, if it was 'myuser', your user root directory would be '/home/myuser'. If you use a terminal program, or ftp program this is the default directory that you will start with. You'll see at least three directories when you login or look at the site with FTP: If this section is new to you, spend a few minutes and look at these websites for a UNIX file system tuorial: You'll need to be comfortable with using some basic file commands.
 * Maildir - This is where Dreamhost stores you mail for this user
 * logs - System logs which inform you what's happening on your website
 * mywebsite.com - the root directory of your website
 * Unix File System Tutorial 1
 * intro to UNIX

Can view files on a UNIX machine
If you haven't used the unix 'ls' command, familiarize yourself with some basic variants of this command here is the wiki about 'ls' if you've never used it.
 * 'ls' - basic list of files
 * 'ls -l' - long list of files including file permissions and owner
 * 'ls -al' - long list of files including hidden files

Can change directories and return back to the starting place
Familiarize yourself with the cd command or change directories, some basic variants you should be comfortable with are: here is a tutorial about paths and file, and here is a wiki about the cd command.
 * 'cd /home/myuser/mywebsite.org/' - go to a specific directory with a full path description
 * 'cd mywebsite.org' - use a relative path description
 * 'cd ..' - return to the previous directory level
 * 'cd $home' - return to the DH users root directory (/home/myuser)