0

Background

I'm trying to setup a linux server (Ubuntu, open to suggestions) over ssh and I keep running into walls, Googling, moving a bit forward, and then running into another wall, then running into a big wall like an install/mysql/user creation (It's pretty bad to run as root all the time, right?) messing up somewhere, getting frustrated, wiping and starting over.

What I Want

I'm still thinking this out, but eventually, I want a very secure/light/fast server to host static html (and maybe a Movable Type/Jekyll (static) blog?) at the root of my site: http://wiswanson.com (no-www philosophy, currently using S3 and a cname). I'm thinking I still want to host images and files on Amazon S3 (cdn.wiswanson.com cname? Redirect /img and /files with a mod_rewrite? What's better and why?), maybe eventually move that to Amazon Cloud Front. Ideally, this would somehow pull from Dropbox and post up the html when it's moved to a published folder. I'm very open to ideas and suggestions.

Are there any ssh/ftp/server setup tutorials or resources that are really solid & well written? Would this be better for Server Fault?

HopelessN00b
  • 53,795
  • 33
  • 135
  • 209
PhilSwn
  • 3
  • 1
  • 2
    Wow, my head's spinning. And why are you trying to complicate things so much with CDN, S3, Amazon Cloud Front, mod_rewrite, DropBox for what's obviously your first Web server setup. – gravyface Apr 03 '11 at 23:32

4 Answers4

5

I suggest you start by setting up a local test server (virtual machines are great for this) and use that to learn what you need to know before putting it on the Internet.

From your question I get the impression that you've never done anything like this before and you therefore will make mistakes that will either render your system inoperable, inaccessible or just plain wide open to attack.

Concerning those issues you're having, pick one at a time and ask specific questions here. The SF community certainly has the expertise, as this is the stuff many make their living from.

John Gardeniers
  • 27,458
  • 12
  • 55
  • 109
1

May I suggest using AWS S3 directly for the whole thing?

That way you only pay for what you use and don't have to manage anything.

AWS recently released the feature that allows this. (see http://aws.amazon.com/about-aws/whats-new/2011/02/17/Amazon-S3-Website-Features/ )

Also, be sure to check the docs to see if it meets your specs: http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?WebsiteHosting.html

Also, you can find several easy drag-and-drop S3 clients for Windows. I use CloudBerry free edition, but there are other good ones too.

e_tothe_ipi
  • 478
  • 2
  • 3
0

If you are thinking about going to the cloud, then do it, but do it right. Why would you want to make your users connect to a server that get's the info partially from the cloud?

I sugest you put everything on an EC2-instance and use EBS or S3 as a storage solution. This will make everything lightening fast and a micro-instance falls within the free-tier.

If you encounter any problems setting up your LAMP-stack, come back to us with a specific problem.

Bart De Vos
  • 17,911
  • 6
  • 63
  • 82
0

NodeJS with connect. It is perfect for this type of thing. It is evented, so it doesn't spawn a new thread for each connection, saving you resources and increasing total possible load. You can have millions of connections with no noticeable lag. Here is some basic code:

var connect = require('connect'),
    doc_root = "/path/to/files",
    port = 8888;

connect(
    static(doc_root)
).listen(port);

Save this into a file. For example, mycode.js.

You will probably want to install npm, it's really convenient for adding packages in node. Here are some links:

When you get it installed, run your server with node mycode.js

beatgammit
  • 339
  • 1
  • 10