Just registered a domain name. Now what?
September 30, 2018 2:28 AM   Subscribe

I need to learn some basic (and hopefully less basic) web development in a hurry. I just registered a domain name but I'm pretty clueless about what to do next. I am looking for suggestions for a good "start from scratch" guide to making my first website (and getting it onto my domain name). I'm talking about making something myself rather than using wordpress etc.
posted by nikodym to Computers & Internet (20 answers total) 37 users marked this as a favorite
Next thing you're going to need is some machine somewhere to host it on.

To get hold of something easily Internet-accessible that's going to attract as little traffic as a My First Ever Website is likely to, it's pretty hard to beat the pricing at nearlyfreespeech.net and they also have a pretty good getting started guide.
posted by flabdablet at 3:28 AM on September 30, 2018

Once you've got hosting lined up, you'll need some content for your host to make available. W3Schools is as good a place as any to start learning how to make that.
posted by flabdablet at 3:34 AM on September 30, 2018 [1 favorite]

Pick a text editor such as Brackets, Sublime then commit to code for at least 60 minutes a day, 7 days a week - get very familiar with html and css so that you can start typing the basic framework of any page (doctype, header, navigation, body content, footer) without thinking.

If sorting your own webspace takes a little longer, you can start already at codepen.

Use a Pomodoro app to track your time when coding.

Create stuff all the time. Look at the source code (command u / ctrl u) of sites you come across. Find psds of websites and create them from scratch.

Sign up at FreeCodeCamp and blitz through the curriculum.

Think about getting a course at Udemy (never pay more than $11.99 - if there's not currently an offer, wait a day or two and there will be!) - something like Colt Steele's web developer bootcamp has you creating pages and projects from the start. You can check the preview videos to see if the instructor style suits you but look out for courses that have been updated in the past year, not created and abandoned more than a year ago. And those with a good community where it's easy to ask questions of peers and instructors.

When it comes to the "newer" (but vital to learn and implement right now) css technologies such as grid layout and flexbox, get the best (and free!) from Jen Simmons, Rachel Andrew and Wes Bos.
posted by humph at 4:18 AM on September 30, 2018 [1 favorite]

Hello! I’m currently taking an intro to tech class as part of a masters program. If you have access to Lynda.com, I’ve been finding the videos very helpful.

Another general concepts I’ve found helpful:
- HTML is for structuring content on a page (telling the browser what each element of content is). It’s the basics of every web page.
- CSS is for styling your web page
- JavaScipt is for making your web page dynamic (changes based on user input)

W3 HTML5 specs has a table in the index with all the elements and links back to specifics.
I like Code Drops for CSS.
posted by CMcG at 4:32 AM on September 30, 2018 [1 favorite]

Once you have hosting lined up, maybe you want to look at something like Jekyll. You can get a free template you like, then write your content in Markdown (this will be *much* easier for you than learning HTML/CSS) and it will build a static site for you ready to publish.

I'm a software guy but never did much front end stuff, and for simple static (no database, no complicated user interactions) websites this has become my go-to. There's other static site builders that you can search for, but this is the one I've used.

If you use an editor like Atom (or plenty of others) you can get a plugin so that while you write your content in markdown it will show you more or less what it will be formatted like on the site, so you can get used to the markdown annotations as you go.
posted by jpziller at 5:52 AM on September 30, 2018 [1 favorite]

I found digitalocean has pretty good documentation about how to set things up. I rented a server there and got my domain associated with it and got nginx (a web server) running, serving a very basic hand made html site without much trouble, and without really having done it before (though to be fair, I do have quite a bit of experience with computers in general.)
posted by smcameron at 6:26 AM on September 30, 2018

Take a deep breath and prepare to be overwhelmed at the possibilities, options and many different directions. Looking a the source of a random web site that has been constructed with a coding framework has massive boilerplate. The systems/libraries/frameworks are for solving problems that you won't see for a bit. A web page can be as simple as

< Hello World&lt/h1>

posted by sammyo at 6:33 AM on September 30, 2018 [3 favorites]

Before thinking about technical ways and means you have to answer the fundamental question: What do you want the website for?

Are you trying to code it to learn to code, or for some other reason?

I ask, because if you want to sell something, using Squarespace will probably be much faster for you, besides making the financial transaction stuff infinitely easier. You do not want to try to roll your own financial transaction system if you've never done any of this stuff before.

If you want to express opinions, Wordpress would make your life a lot easier. Also, modern Wordpress is not necessarily a walk in the park to customize. You will learn a lot simply making a Wordpress theme look and behave the way you want it to. It won't necessarily do that out of the box. But there are a lot of possible themes, both free and commercial, and unless you want something arcane you can usually find one that gets close to what you want to do. Then you spend hours trying to locate the bit of code that controls the one thing you want to change.

So the question is: do you want your website now, or do you want to spend endless amounts of time dinking around with code?

If the latter, please ignore my advice and enjoy.
posted by zadcat at 6:34 AM on September 30, 2018 [6 favorites]

(lol I clicked post before I'd finished but zdcat has expressed much better my thoughts!!)

You're on an iterative path, poke around with html, open the javascript console and ask more questions. (actually it's a recursive random walk but that's too much of an inside joke ignore for now :-)
posted by sammyo at 6:40 AM on September 30, 2018

This is the best resource for HTML and CSS.
posted by kevinbelt at 7:11 AM on September 30, 2018

As for what is literally the next step:

Okay, you have your domain name, and next you will sign up for a hosting account somewhere. When you do, it will ask for the domain name you bought (yourdomain.com) and the DNS of the site on which you bought it (the site will provide this information). On your hosting account, you will enter those two items in the space where it asks you if you have domains you want to host. This will effectively tell the internet to point that domain name at your hosting account instead of at the site where you bought it.

On the server of your hosting account, there’ll be a folder called yourdomain.com and all your files and HTML pages will go into that. When you use an FTP program to upload your files (Dreamweaver, Fetch, FileZilla, or whatever program you use to create your content) then that’s where you will direct those files to go.

I personally like to have a folder on my desktop named “Working”, subfolders named for each site, and then subfolders under a given site that organize images and HTML into their own folder tree. When you upload, that structure will mirror on your host, so it pays to develop a good organizational habit so that you can easily find which files you’re working with. On a similar note, it also pays to settle on your file nomenclature so that you can easily identify your files and when they were created. At my job, all our projects have a category prefix and a six-digit number and a live date, so I name things cat-123456-20181012, for example. This arranges them by category and date, so when I have to update something, I can search by project number or date and quickly get what I want.

You could literally do this all manually if you wanted (not a bad idea if you want a good grasp of exactly how it works), or there are programs to facilitate this. Dreamweaver, or a program like it, will help organize your files, provide an FTP connection to your server, and give you a decent development environment, where you can write your own code and/or take advantage of Dreamweaver libraries, or create a library of your own code that you find you re-use frequently. (For example, a header that goes on every page.)

Starting out by consciously adopting good habits will be extra effort at first, but it pays off considerably in the long run.
posted by Autumnheart at 8:12 AM on September 30, 2018 [2 favorites]

I think it also bears mentioning that if you’re going to be a one-person band in this endeavor, you may well want to learn how to use Photoshop while you’re at it. You’ll need graphics on your site, and you’ll need a tool that will let you customize your image sizes. It is easier to design a page when you have a solid visual of how it’s supposed to look when you’re done. A wireframing tool like Sketch (which has a free 30-day trial that is fully functional) also works very similarly to Photoshop in terms of its functionality, it just doesn’t create graphics. But it will serve to let you draw out how your page will be laid out, before you start coding.
posted by Autumnheart at 8:20 AM on September 30, 2018

When you do, it will ask for the domain name you bought (yourdomain.com) and the DNS of the site on which you bought it (the site will provide this information). On your hosting account, you will enter those two items in the space where it asks you if you have domains you want to host. This will effectively tell the internet to point that domain name at your hosting account instead of at the site where you bought it.

I've never seen that before. What's done is, you log into the domain account and change the nameservers there to the host's nameservers.
posted by humboldt32 at 8:33 AM on September 30, 2018 [1 favorite]

Yeah, you’re right. I got it backwards. I must have been thinking of transferring hosting of a domain.
posted by Autumnheart at 8:35 AM on September 30, 2018

I'm torn between: how to manage DNS and hosting options, or how to make a web page. So not sure...

Create a Linux VM of some sort on your home machine.
Bridge the networking and give it an IP on your LAN.
Forward the http/https ports on your home router to that VM.
Go to your domain registrar and point the DNS record for 'example.com.' to the external IP of your router.
Install web server on VM.

Since you're probably behind the DHCP volatility, check with your registrar for Dynamic DNS solutions. This is usually something like a script that your run every hour or so that will cause the registrar to update the 'example.com.' pointer to the current IP that you're provider has leased to you.

Now (http/https)://example.com will go to your Linux VM.
Go nuts.


That's really both the brain dead simple and almost zero cost, and probably the stupidest thing to do. But is most of what you need to know about the DNS side of things.

What you can do is get a Virtual Private Server (VPS) from somewhere, they'll tell you an IP, you go to registrar and point 'example.com.' to that IP. Or you can do something else... you can go to your registrar and point the DNS Name Server record for 'example.com.' to the IP of the NS of your VPS provider. It's just delegation... You can probably manage your domain either through your registrar or you can delegate to your provider and manage the domain using the provider's interface.

Then it's mostly a choice of what you need. A VPS is one machine with one web server (that the provider controls everything) being used by multiple people. You can do some things with this.

Next is a full VM. You can run a selection of OS, you get an IP, but the whole VM is yours to do what you wish.

Next is Co-Location. You buy rack space, power, network/IP(s), and you provide your own hardware.

Or Cloud. You spin up AWS or something.


Really in your case maybe... Yeah, it's just find a VPS provider, tell them 'example.com.' when they ask, tell registrar the IP they give you for the NS. (that last bit might happen almost automagically, like they send the request to your registrar, your registrar sends you an email/instructions to confirm, and done.)

The rest is a Simple Matter Of Programming.
posted by zengargoyle at 1:41 PM on September 30, 2018

Good lord, this person doesn't need to pay for VPS hosting (nor do they need to be bothered with the details of self hosting). Shared hosting on DreamHost would be just fine.

The question here is "I just bought a domain. Now what?"

"The rest is a Simple Matter Of Programming."

I don't see how that's helpful. I don't really see how any of the previous response was helpful at all.
posted by humboldt32 at 2:24 PM on September 30, 2018

Oh, sorry. Your Shared Hosting is my VPS.... where the S is a http(s)? server. My VM is your VPS. Totally agree that the best would have been just to register domain via DreamHost/etc (full disclosure... I have shared hosting on DH for over a decade.... and they're my registrar as well).

My reading of the question goes: "some basic (and hopefully less basic) web development" and "making my first website (and getting it onto my domain name)". Given that the OP has a registered domain and has not mentioned hosting.... There are a couple of readings of the question. How do I manage DNS stuff, and How do I make web page. Different folks have presented answers to different interpretations of the question.

Does the OP's domain name come with SH???? Did they really sign up with DH/etc. and don't know what to do now? Did they just register a name and have no presence to provide? What do they actually need. It's all guesswork at this point.
posted by zengargoyle at 2:52 PM on September 30, 2018

Find a website sort of like what you want to build. Copy the HTML sourcecode into notepad. Play with it, save it as html, and pop it into a browser to look at after you make changes. When you're nearly done, upload it and play with it some more from there.
posted by xammerboy at 9:31 PM on September 30, 2018

Oh, sorry. Your Shared Hosting is my VPS.... where the S is a http(s)? server.

I'm having trouble following you. The "S" in "VPS" is for "server" as in "virtual private server". A VPS is a server where you're guaranteed a certain level of resources (memory, CPU). Often these aren't even supported servers and you need to do all your own sysadmin.

I mentioned DH simply because it's a hosting company that I would recommend to someone new to this. It seems logical to me that the OP is looking for advice down the path of least resistance.
posted by humboldt32 at 9:43 AM on October 1, 2018

What zdcat says is correct - (paraphrasing) your first steps should towards your destination.

That said, if you are interested in building a static site then jekyll is an easy way to get started (as jpziller mentioned). On top of that, github.com offers free hosting for static sites with the option of using your own domain name. It's pretty easy to set up but I'm not going to go into any more detail here and now since I don't know if that is anything close to what you have in mind.
posted by metadave at 4:24 PM on October 1, 2018

« Older Soothing during sadness when you have a history of...   |   Do you think should I leave my mom's side of the... Newer »
This thread is closed to new comments.