One of the questions that I get when teaching people how to code for the web is “How do I publish a web page?” The answer to this question isn’t as complicated as people think. In this post, I will explain the options for hosting a web page for folks at Indiana University. I will spend most of the post discussing how to host a page that is not affiliated with the university. Let’s get started!
Hosting Pages at IU
All we do when we publish a site is place text files, images, and other media files on a server. I discussed Developing Departmental Websites at Indiana University in a previous post. Today, my focus is where to put your content at IU.
IU has two web servers that can host content: Webserve and Mercury.
- Webserve hosts sites that relate to the university’s primary mission. Read more about Webserve at IU on the Knowledge Base.
- Mercury is the server behind the Pages service and hosts personal websites. Read more about Mercury here.
The main determination between the two services is the purpose of the content. If the intent is to host a personal web page, you will likely want to request a Mercury account. If the intent is to create a departmental page, you would want a Webserve account.
You also need to consider the software and capabilities available on a particular server. Mercury and Webserve, while similar, differ in the software that is available. This article compares the software available on both servers.
Hosting Non-IU Pages
In most cases, workshop participants want to know how to publish a personal web page. If the only purpose is to publish personal content at IU, Mercury is just fine. If the desire is to have a personal domain name or to get some web space to learn web programming, Mercury is lacking. For those people, purchasing personal hosting space or a domain name is the only option. Let’s look at things to consider when purchasing hosting space first.
Shopping for hosting space can be overwhelming! Here are some things to consider:
- Cost – Most services offer monthly or annual subscriptions. In general, you will get a certain amount of storage and bandwidth. Other features might be available as well (see “Features” below)
- Ease of Use – Does the host offer graphical tools or is everything done on the command line? Are the graphical tools easy to use? Can you find what you need when you need it?
- Features – This is where companies differ from each other a lot. Some offer databases, many programming languages, email hosting, among other features. It’s important to know what you need now and have an idea of what you might want in the future before making a decision. I would recommend getting as many features as you can afford at first. As you develop more for the web, you will want more and more features. Starting out with a robust toolkit can save the need to move to another host later.
Many people put hosting space and domain names into the same conversation. I propose that we think of them as separate services. Some hosting companies do sell domains as well. Others don’t sell domains, but they can host a domain you buy elsewhere. Domain names are available on an annual basis. Some registrars will allow you to register a domain for more than one year at a discount.
Before you buy your domain name, it’s important to consider the following:
- Who retains ownership of the domain? – Some companies will allow you to “rent” a domain name and others will give you ownership of the domain. In the case of renting, the company retains ownership. Domains purchased in this way are sometimes difficult to transfer to a new service.
- How easy is it to transfer to a new service? – Some companies will allow for easy transfer to and from their service. Others put procedural obstacles in the way of the transfer process.
- How are renewals handled? – Some hosts offer automatic renewals while other hosts do not. Automatic renewals don’t put your domain at risk of becoming owned by someone else.
Another confusing part of web hosting can be deciding on the software to use. Development software is as personal as the toothpaste you use. There are thousands of options on the market today. In our workshops, we use a few different editors. When working on your own, you need software that fits your workflow and personality. It’s also important to pick software that has features to make you more productive. I’m not going to discuss development software, but I will focus on what you need to publish.
To publish for the web, you will need:
- Secure File Transfer Protocol (SFTP) Client
- On macOS or Windows, Cyberduck is available.
- Optional: A Secure Shell (SSH) Client
- Built-in on macOS via Terminal. On Windows, PuTTY.
Secure File Transfer Protocol Client (SFTP Client)
This application will allow you to move files from your computer to the server. Any files used on your site need to exist on the server. Files not uploaded will not be available to your site’s visitors. Most of these applications allow for drag and drop, just like moving files on Windows or macOS.
Optional: Secure Shell Client (SSH Client)
This application allows you to connect to your server via the command line. If you need to change permissions, edit configuration files or make quick edits, this is an easy way. You do need to know how to execute commands via the command line to use an SSH client.
Your web host should send you information about how to connect to their servers. These instructions will include a URL, username, and passphrase. Use these credentials to connect via the SFTP or SSH client.
They will also include information about how to connect to your site’s control panel. The control panel is a website that allows you to manage the settings for your hosting. For example, you can set up databases, create email accounts, and configure domain settings.
I hope this post clears up confusion for folks just getting into hosting web pages. The more you work with your host, the more familiar you will become with the tools.
Have things to consider that I missed, leave a comment!