Creating a WordPress site in Amazon Web Service’s Free Tier

Alright, so, we’ve set up our EC2 instance, and now we need to set up a database for our EC2 instance to access.

Head back to the console and select the RDS service.

Screen Shot 2013-12-12 at 8.13.33 AM

Select the “Launch a DB Instance” button.  Follow the Wizard as it makes it super easy to set up.  There are a few additional options you should make sure that you choose to avoid extra charges.

Screen Shot 2013-12-12 at 8.14.59 AM

I’m used to using WordPress with a mysql db, so I chose the mysql option.

Screen Shot 2013-12-12 at 8.15.13 AM

This isn’t really a commercial production site we’re creating and we want the free tier, so select No.

Screen Shot 2013-12-12 at 8.15.31 AM

The only changes you should make on the DB Instance Details are:

DB Instance Class: db.t1.micro

Multi-AZ Deployment: No

Allocated Storage: 5 (You can choose up to 5 GB for the free tier) It should be good enough for us.

DB Instance Identifier, Master Username, Master Password – Whatever you put in here, make sure you remember it.

Go next.

 

 

 

Screen Shot 2013-12-12 at 8.17.07 AM

Give your Database a name and choose the vpc and availability zone that you placed your instance in.  The reason you want them to be in the availability zone is so that you don’t incur cross AZ fees.  Imagine a datacenter, if all the traffic is within a single datacenter we don’t have to pay an outside provider to use their transfer lines, but if you need to cross to a different datacenter, you have to lease a line.  This is the same concept.

 

Screen Shot 2013-12-12 at 8.17.41 AM

 

After this, Review your setup and launch!

Next post will be about setting up an S3 repo.

Creating a WordPress site in Amazon Web Service’s Free Tier

I’ve been contemplating moving all of my hosted materials from my current hosting provider to my home server and saving on some of the costs. My sites are all relatively low traffic, so hosting on a home server would be easy. My problems are that I won’t have a dedicated IP, the server would need to be on all the time, and I’ll have to maintain the hardware. Well, since I’ve been using a lot of the AWS (Amazon Web Service) tools at work, I figured I can explore more of the options by utilizing it for personal use.

The nice thing is that AWS has a free tier for a year that I can try out. I don’t really have a plan (since this is just for fun and my own personal education) but if I did it would be something like: (1) setup instance, (2) setup wordpress, (3) write content, (4) track usage and performance, (5) evaluate. Warning, everything I write will be on-the-fly, so if you don’t understand how I got from one place to another, or want some clarity, feel free to write it in the comments and I’ll try to answer you.

Intro to AWS

First of all, make sure you sign up for an AWS account, and sign up for their free tier read more about it on http://aws.amazon.com/free/ .  For now, I’m going to utilize EC2 (Elastic Compute Cloud), RDS (Relational Database Service), S3 (Simple Storage Service), and EBS (Elastic Block Store).

Here are my description of those services.

EC2 – In physical computing terms, this is primarily the processing (cpu) and memory of a server.  In non-physical computing terms, the brains and the memory.

EBS – This is additional “persisitent” “hard drive” storage for the EC2 instance.  When you restart an EC2 instance, the “hard drive” will pretty much empty its contents and you start on a blank slate.  This is like having an external hard drive that you can remove from one machine and install into another.

RDS – This is the hosted MySQL part of our application.  Think of this as structured data that will help organize your content.

S3 – This is where we can store content in a really cheap way.  It also makes it a little faster to access the data since the storage is duplicated across several regions (Amazon’s version of datacenter locations).

Let’s start with these first.  There’s a whole bunch of utilities to use in a production setting, but for our simple setup this might be all we need at first.  I’ll describe additional tools as I use them.

Setting Up Your Instance

An instance in the AWS world is considered your server.  Sign into AWS, and head over to the Console (https://console.aws.amazon.com/ec2/v2/?region=us-west-2).  Notice that region at the end of my link? You can choose whatever you want, but that’s what AWS defaulted me to.  The cheapest rates are usually in us-east-1.

First, let’s create the instance.  On the left of the console, click Instance.  Near the top you’ll see a button that says “Launch Instance”.  This will open up the wizard.  I’m using the generic Amazon Linux AMI, you can choose whatever Free Tier Eligible Operation System you are familiar with.  Make sure you choose t1.micro.  The defaults should pretty much be fine for now, so click “Review and Launch”, then “Launch”.

Congratulations!  You just setup a new Amazon instance.  My next post will be about setting up a database in RDS.

 

Setting up a Team Fortress 2 Server on Ubuntu

The install will take a while.  Near the end, we’ll end up downloading a 3.5 GB file.  I recommend screening the session, so you can close it when it starts the download and return to it later.

screen

Download the install file:

wget http://www.steampowered.com/download/hldsupdatetool.bin

Give permissions to execute, and execute it
This will download hldsupdatetool.bin to your current directory. Next we need to give this file execute permissions and the run it.

chmod +x hldsupdatetool.bin
./hldsupdatetool.bin

Run the Steam server to pick up any new Steam updates:

./steam

Once updated, run the Team Fortress 2 server to download the TF2 server updates (this is where screen sessions become handy):

./steam -command update -game tf -dir .

Once the TF2 server downloads and updates, it’s time to setup the configuration. Here’s a link to get you started.

http://www.dodbits.com/dods/index.php/tf2/66-team-fortress-cvars-september-2011

Now we start it:

./srcds_run -game tf +map ctf_2fort

And there you go! A simple way to start your own TF2 Server!

How-to: Automate your SSH Login with PuTTY

From: http://www.jonlee.ca/how-to-automate-your-ssh-login-with-putty/

As many web developers can attest to, logging into your server through SSH (Secure Shell) is one of the more common day-to-day tasks (you can even use it as a secure tunnel for your traffic). It only makes sense to automate this process which in turn can save many many keystrokes.

This how-to is written with PuTTY and Windows in mind and requires several other tools that are available from PuTTY’s website. So from their download page, make sure you have these files:

  • PuTTY (putty.exe)
  • PuTTYgen (puttygen.exe)

Then to automate SSH login, do the following:

  1. Run PuTTYgen.
  2. Select SSH-2 DSA as the Type of Key to generate.
  3. Click generate and move your mouse around to generate randomness.
  4. Click “Save Private Key” and save it somewhere on your computer.
  5. Copy the entire content inside the box to your clipboard (this is your generated public key).
  6. Login to your SSH server.
  7. Create the file ~/.ssh/authorized_keys containing the generated public key(from step 3) on a single line.
  8. Make this file readable (chmod 755).
  9. Then open up PuTTY and navigate to Connection->Data and fill in the auto-login username.
  10. Navigate to Connection->SSH->Auth and under Private-key, browse to the file you had saved earlier on your computer.

That’s it! Now you can try logging in to your SSH server and it should login automatically. If it works, make sure you save your session so you don’t have to repeat these steps every time!

Hopefully these steps work for everyone! Let me know if there are any problems.

CentOS 5.5 Startup hangs at “Starting udev:”

As mentioned previously, I’m reusing a Dell Dimension E521 to run my media server in CentOS 5.5.  The funny thing is that I couldn’t start up the system because it would hang at “Starting udev”.  I looked at the boot sequence and noticed that it was trying to initialize peripheral drivers.  So, I went ahead and started disabling peripherals from the BIOS.  The sound card did the trick.

CentOS 5.5 Install Hangs At Enabling HT MSI Mapping

I’m installing CentOS 5.5 on an old Dell E521 in the hopes to use it for my new media server.  The first time I booted to the CD, I was presented with the normal Disc Boot Install options of running it graphical or text.  I chose graphical, and the system halts at a line that says: “Enabling HT MSI Mapping”.  I waited 5 minutes and there was no movement, so I restarted the system and was back at the Disc Boot Install screen.  From here, I decided to type in “linux noapic” and the install has gone through.  Just a little tip!

Ubuntu 9.10 to 10.04 update causes secondary video issues

I’ve been using Ubuntu 9.10 on my Lenovo Thinkpad T60p for a while and decided that I should update my OS to Ubuntu 10.04 to keep up with the kiddies.  My setup is having a Dell monitor attached to my Lenovo where I usually do most of my work.  After ~2-3 hours of updating packages, I was finally prompted to restart my system.  Once the 10.04 desktop came online, I noticed that there were a ton of squiggly rows on my secondary monitor which signalled a bad video output.

I decided to do a quick google search for “Ubuntu 10.04 upgrade squiggly monitor”.  This lead me to this forum post: http://www.uluga.ubuntuforums.org/showthread.php?t=1466072

Several forum posters reiterated what the OP was mentioning and finally, someone had a solution:

“create file /etc/modprobe.d/radeon.conf with contents “options radeon new_pll=0 modeset=0″ and reboot.”

Boom, I did that and all is good now.  If you want to follow this bug, here is a link: https://bugs.launchpad.net/ubuntu/lucid/+source/linux/+bug/541501

-K

Converting file types in shell

I’ve been really wanting to convert the file type of my .cbr and create some php pages with them to view from anywhere. The first step I’m covering is how to convert the files into a compression format that I can work with.  First of all, .CBR and .CBZ files are .RAR and .ZIP, respectively.

So, starting with CBR:

for file in *.cbr ; do cp $file `echo $file | sed ‘s/\(.*\.\)cbr/\1rar/’` ; done

CBZ:

for file in *.cbz ; do cp $file `echo $file | sed ‘s/\(.*\.\)cbz/\1zip/’` ; done

Next time, I’ll write this in python.  Just for fun.

Is the Craigslist CEO giving you a Free iPad?

No!  If you got an response from someone claiming to be the Craigslist CEO for an ad you posted on craigslist do not believe it!  The name of the CEO is actually Jim Buckmaster.  Be careful, though, as scammers can still change their Contact Name and visible email address.

Here is the email I got from a Gerald Darr who was using the email chingi797979mu@hotmail.com

Attention Craigslist User,

My name is Gerald Darr, Chief executive officer of Craigslist. We have recently partnered up with The apple company for a one-time promotional event today, we are giving away free Apple iPads to randomly selected folks who have published an ad on C-list. You have been chosen as one of our latest winners for today. We randomly choose numbers to match up with ads on Cl and your ad matched with our latest drawing.

We have partnered up with Apple to advertise their most popular product yet, the Apple iPad. Once again, we are operating this campaign for one-day only. All you need to do is CLICK HERE to go to our website made for this promotion and enter your email to get yours for free. Simply make sure you enter your email so we can locate our records to ensure that we have reserved one for you. That is it!

Congratulations on winning a free Apple iPad (valued at $800). In case you have any question or concerns, feel free to email me back. However, you need to claim your free iPad first to ensure one will be set-aside for you before the deadline ends. We do understand that you may well not receive this email until after the deadline, but, we suggest you check out the website and enter your email to see if we still have got yours on hold, which we often-times do because others have not claimed theirs in time.

Gerald Darr
CEO, Craigslist

Edited on 1/5/11:

Thanks everyone for reporting your information in the comments.  Here is the information gathered.

Names used by these scammers:

Gerald Darr
Cliff Halliday – reported by Tiffny
Curtis Timothy – reported by ari
Curtis Smith – reported by Janet
Herman Fischer – reported on the consumerist
Mark Osborn – reported on akronwebdevelopment

AWS: What does Amazon do with your data after decommissioning server?

This past week, a customer asked this question after we let them know that we ran our servers in Amazon EC2.  Of course, I was stumped, since the only thing I know about decommissioning servers at the moment is just formatting them 5 times, and/or killing virtual instances.  This was definitely a question I had not thought of.  Well, I decided to create a post on the AWS Forums to ask the great AWS community if they had the answer.

Thanks to the moto@AWS, we had our answer by the next day.  moto@AWS pointed me over to the AWS Security Whitepaper.  Here is the answer:

Storage Device Decommissioning

When a storage device has reached the end of its useful life, AWS procedures include a decommissioning process that designed to ensure customer data are not exposed to unauthorized individuals.  AWS uses the techniques detailed in DoD 5220.22-M (“National  Industrial Security Program Operating Manual “) or NIST 800-88 (“Guidelines for Media Sanitization”) to destroy data as part of the decommissioning process.  If a hardware device is unable to be decommissioned using these procedures the device will be degaussed  or  physically destroyed in accordance with industry-standard practices.

I hope that helps if you were wondering, too!

There's an exciting world out there, and I want to conquer it.