Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

I have an online presentation to do next week and I have it all ready to go.

The website is HTML and CSS only (no DB), and currently resides on my shared hosting account.

Now, although my shared hosting is (relatively) reliable, I have noticed that recently they have been making some changes and my website has been unavailable at times.

I don't want this to happen to me on the morning of my presentation, so I am asking what is the best way to prepare for such a thing?

My domain is www.presentation.mydomain.com and I would like to keep this if possible (even if issues arise).

I have been thinking of a few alternatives:

  • Host my site on two different domains or servers (but what about the domain name?)

  • Have a portable XAMPP version on a USB stick (again, domain name?)

  • Possible failover site/location

Update:

The presentation will be carried out on their laptop, not mine. So I am unable to install any software.

share|improve this question
    
Just block the site to 127.0.0.1 (via hosts file if on windows). Then if you go to that site, apache will serve localhost. I do this on my dev machine :P –  Awal Garg Aug 20 at 6:08
2  
Maybe using HTTrack to completely download it offline for your USB stick scenario? –  Uwe Keim Aug 20 at 11:36
    
The prevention of Demo Demons... Demos going wrong is as predictable as Murphy's law. Given it's not a php application, hosting locally on a portable machine and adding a hosts file entry pointing your domain at 127.0.0.1 will do the trick. –  Fiasco Labs Aug 22 at 3:00

9 Answers 9

up vote 13 down vote accepted

Normally, you do not need any server just to view raw HTML files, even if they reference other files, CSS and JavaScript. Simply double click on any file and it will open with the default browser of your machine from the local file system.

However you may need to check if your static content has no absolute references to other files or other resources (<a href='http://mysite.com/extra.html'>) and only contains relative references (<a href='extra.html'>). It is a good practice anyway.

Best would be to copy in advance the content into hard drive of the laptop will be using, and test the presentation. Bring also the same content in USB stick or CD disk, in case you would suddenly need to use another machine.

share|improve this answer
    
I've tried this and it works thanks, although I don't have access to the laptop I will be using, it works fine on a USB with random PCs. Wasn't sure if I needed a server or not, seeing as I have css and js files. Thanks! –  johnny_s Aug 20 at 8:20
2  
@johnny_s CSS and JS are all run in the client (aka browser). No serve required. –  Ryan Aug 20 at 15:56

Since your site is static, one solution is to use CloudFlare, because it can still serve cached pages if your site goes down (with proper configuration). It will be transparent if there is an issue.

And keep a copy of your site on your laptop or on a memory stick if you can't use your laptop. If all goes wrong, you will still able to finish your presentation using localhost rather than your domain name. It would be the last resort solution.

P.S.: Of course, to implement a portable website, one should implement relative paths everywhere, that is with a leading '\' meaning 'relative from the root'. Don't forget it, otherwise the link will be relative to the current directoy.

share|improve this answer
    
Thanks @JVerstry I've never heard of CloudFare must look into it. I've also updated my original question, I don't own the laptop so won't have any prior access to install software etc. –  johnny_s Aug 19 at 10:03
    
@johnny_s I have updated my answer, you can put a copy of your presentation on a USB memory stick which you can plug onto that laptop if all goes wrong. –  JVerstry Aug 19 at 10:06
    
Thanks @JVerstry - do you mean install it on USB with XAMPP or similar? –  johnny_s Aug 19 at 10:07
2  
No just copy the files you would normally upload on your webserver on the USB stick. Then, open the index.html page with your browser (double-clicking on it would be sufficient). No need to install XAMPP or whatever. –  JVerstry Aug 19 at 10:09
1  
You can map localhost ip (127.0.0.1) to your domain of choice using Hosts, that way you will avoid ugly numbers in address bar when running from local server. When running files locally (without server) you may encounter issues with blocked content (js, active/x, flash etc) so test it first, fighting with random popups will look unprofessional. –  PTwr Aug 19 at 10:39

If the website is HTML and CSS only, You don't need a host. Just throw it on the USB stick that that you're going to use for the redundant WAMP environment and run it from whatever machine you plug it in to.

If you're worried about losing the USB stick, the web host would be a suitable backup.

share|improve this answer
1  
This is the way to go. You could even go so far as to install a portable server on the stick, too. But since it's purely HTML and CSS there's no need for that. –  baeltazor Aug 19 at 20:36

You can simply open the internet page locally and display it in your browser.

If you even want to show a different domain name, you can use XAMPP to open a local webserver. Host your website there and point the domain to your localhost on your maschine by appending the following line to your hosts file on your system:

127.0.0.1    www.presentation.mydomain.com

Here you can find out where the hosts file is located on your OS.

share|improve this answer
    
I like this solution! –  johnny_s Aug 19 at 15:19

If you are using Git for version control of your site... (not to judge... but you kinda should be if it's an important project!)

You can host your entire website on Github's "project pages". (aka Github Pages)

It's really simple to just git push your site code there. Basically you push to a branch called gh-pages and your site will automatically publish, and update when you push!

So if your project's Github repo page is https://github.com/imausername/mysupersite Then the public Github page for your project would be at iamusername.github.io/mysupersite

share|improve this answer
    
Thanks for this, I have very little knowledge of git, and it may be a little late to learn it now as the presentation is in a few days and I am focused on that. Thanks though for the great answer! –  johnny_s Aug 20 at 6:42
1  
Or mercurial. Or even Dropbox at minimum. But one should always keep important projects under some sort of version control. –  Wayne Werner Aug 20 at 15:22
1  
@johnny_s Git is really quite simple after you "git" it ;) If you have 15 min to spare... give it a go at try.github.com –  unknownprotocol Aug 25 at 5:54

You could host the static content using Amazon S3. See http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html for a guide as to how.

Basically you sign up for an AWS account, upload your website into S3, and can then access it via a url like <bucket-name>.s3-website-<AWS-region>.amazonaws.com. You can also create a custom domain for the bucket with a CNAME, which would then allow you to access it via presentation.mydomain.com.

You should be covered by the S3 free tier, 5GB and up to 20000 requests a month for a year. Source: http://aws.amazon.com/free/

https://chadthompson.me/2013/05/static-web-hosting-with-amazon-s3/ offers a good walkthrough of the process with screenshots.

If you don't need the domain to be internet accessible for the presentation, then using a USB drive with a copy of the website on it is by far the simplest way, as per Prinsig's answer.

share|improve this answer
    
thanks for the answer - great, I never thought of this! –  johnny_s Aug 20 at 6:42

To make sure your website is available, you can use round-robin DNS. You can order two hosting packages with two different IP's and use round-robin DNS for load balancing. If one IP is offline, the traffic will be redirected to the other.

The other way is with CloudFlare. You can use CloudFlare + round-robin DNS for extra reliability. CloudFlare is a free (they have paid plans too) service which adds security and analytics to your website. You can also use their CDN. It will really optimize your website. But the best part is that if your site goes down, they can show a cached version. All you have to do is change your nameservers. You can find more information about that on their website.

There's one more thing:

Now, although my shared hosting is (relatively) reliable, I have noticed that recently they have been making some changes and my website has been unavailable at times.

If your host doesn't use a failover server or something, it's probably better to search for another host - your website should always be available if it's possible.

share|improve this answer

So many overly-complicated answers.

The website is HTML and CSS only (no DB), and currently resides on my shared hosting account.

You do not need Apache You do not need XAMP (or similar) You do not need cloudflare, dropbox or any other 3rd-party service. (github? for a presentation? please.)

All you need is a portable storage device. USB key, external drive, whatever.

What you DO need is to confirm that your presentation contains only relative links. Here's how you do it:

  1. copy the folder from your shared hosting account to your computer.
  2. disable networking. Turn off your wifi, unplug your ethernet cable etc. Or just pick up your laptop and go somewhere where there is no wifi, like the stairway or parking lot.
  3. open the folder, double-click on the first index.html file and see if it looks correct.

If everything is fine, you are good to go. If not, add a comment for further instructions.

share|improve this answer
    
You should be using git for version control anyway, so why not push it to Github? –  daviewales Aug 21 at 6:35
    
@daviewales I disagree with this answer. Why disable networking? –  William David Edwards Sep 11 at 12:40
    
@WilliamDavidEdwards ^^That's not my answer. I just commented on it. –  daviewales Sep 13 at 7:37
    
@daviewales Sorry. Can't edit the comment anymore. –  William David Edwards Sep 13 at 7:53

I think you can write them onto a notepad document, save as foo.html or something along those lines, and open, it won't rely upon the internet (admittedly I'm not sure how to fit the CSS in there I've never made to much html, or any CSS so you can try not sure how it will turn out).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.