What is DNS?

Remember back before everyone had computers that fit in their pocket, how companies would ship a book full of phone numbers to your doorstep? We might have known who we were looking for, but we needed to look up phone numbers unless they were your crazy relatives that you learned to memorize. When you get your own domain name, by default it’s nothing more than a shortcut, an address, or (to fit this very imperfect analogy) a phone number. When you type a domain name into the address bar of your browser, someone has to identify it and tell it what to display. That’s where a name server comes in.

A name server is a computer, running as a server, that keeps a record of all the domain names that are associated with it and keeps track of where those domains should go. In the case of Emerson.build, the name server is the same computer that runs the hosting. You can peek behind the hood and see this in action by going to the 'Domains' panel of your cPanel account and clicking on 'Zone Editor', then 'Manage' next to your domain in the table.

DNS stands for Domain Name System and the name server on Emerson.build gives control to it to identify what should be displayed when someone types in your domain. Consider the fact that you might have one or more subdomains in your account. The name server and DNS are able to identify those subdomains and let the world wide web know that they exist and point to some files/folders on a computer somewhere.

When you signed up for a domain through the Emerson.build system your name servers were chosen for you. So when people type in your address, the server responds with information about your account. When you migrate an account away from one hosting platform (like Emerson.build) and onto a new service, it will require you to change the name servers so that your domain name points to a new server with its own files and structure. It’s also possible to have subdomains that point to entirely different servers than Emerson.build. For example, you could have a subdomain that looks to Tumblr for files.

Social Media

As you begin to build out your digital presence you’ll probably start to think about social media in some form. In fact it’s likely that you already have at least one, if not more, social media accounts (Facebook being the most popular to date). Everyone uses social media in different ways, and although it’s often interesting to see people break the boundaries of the “social norms” of a specific online community, this article will focus more on the accepted use cases for specific social networks and how they can help you build your digital presence. This is by no means a comprehensive “How To” of Twitter or Facebook, but a good starting guide to think about where you best fit in to these online communities.

Facebook

The majority of folks that will read this likely have a Facebook account. With over 1 billion active users it’s by far one of the more popular social networks. Many treat Facebook as a semi-personal space, one reserved for family and friends to share photos and highlights of what’s happening in their lives. Facebook also supports “Groups” for sharing amongst a smaller set of individuals regularly, and “Pages” which are less personal and more public-facing profiles meant for organizations and businesses. There are plenty of applications that make it easy to publish a link to the work you do on your blog and your participation in other networks back into your Facebook profile. In general it’s a good practice and can often lead to interesting conversations with different groups of folks. This practice of publishing elsewhere and then feeding into Facebook is desired over the alternative, using Facebook for all content and then pushing it out to other communities. The main reason for this is that privacy concerns over how different people can view content on Facebook have changed often enough to leave users concerned. There’s also never any certainty of sustainability with any of these social networks (remember MySpace or Friendster?) no matter how popular, so publishing in your own space and then pushing out to others makes a lot of sense. The key takeaway is that Facebook is a great personal network and can also be the starting point for some of these larger professional discussions should you decide to use it that way.

Twitter

While no longer the new kid on the block, Twitter has only relatively recently started to gain momentum. It doesn’t have nearly the same user base as Facebook (though there are about 500 million accounts to date) and the way people use it is very different. Twitter has focused on the short status message from the start, before Facebook even integrated the idea into their platform. Users are limited to 140 characters. It’s a conversational platform for interacting with people. It’s used heavily at conferences and many choose this as a social network for really networking with peers and others in their community as well as people they might not ever meet in real life. You can follow as many people as you want and it’s a great way of having a stream of information about “what’s happening” with people and groups you’re interested in. One powerful development of Twitter is that celebrities have begun to embrace it as a way to speak directly to their fans without having the message interpreted through other media and journalism with a slant. The ability to search various topics or hashtags (keywords) and see a running stream of what people are saying about that topic is also a very powerful way of gauging reaction to ideas and events. It’s a great idea to experiment with a Twitter account by signing up, adding a profile picture and information about yourself, following a group of people, and interacting with it daily. While the gratification may not be immediate, it’s one of those social networks where the more you put into it the more you will get out of it.

LinkedIn

LinkedIn is the professional resumé of social networks. It mixes the ability to keep an updated resume of where you work and what your accomplishments are with a social aspect of having people recommend you and comment on your work. Most users find LinkedIn helpful not as a day-to-day network they use, but rather when they’re searching for a new job and want to find people they know that might have connections. The old saying “It’s who you know” when finding a job or making a connection is particularly relevant here where those connections can be exposed to you (You know this person who works for the company of one of Bill Gate’s sons, and the VP went to high school with you).

Summary

As mentioned in the opening paragraph, talking about social media is an ever-changing and moving target and this article can never be truly comprehensive. The goal of emerson.build is to have you thinking more critically about where you put your content, not that you don’t participate in these networks which still have a lot of value, but rather that you own the work you create. Facebook, Twitter, LinkedIn, and others all have different audiences and the more places you push your content to, the more opportunities for discussion and feedback you’ll receive. The ability to network with an increased amount of people that isn’t reliant on face-to-face meetings is a powerful change in how we interact on the web and the value of it. As you begin to explore social media the best recommendation would be to choose a space you want to explore and really dive in. Follow as many people as possible, talk to them, respond to their work, and you’re more likely to get responses in return that start to build that sense of community for you.

Subdomains vs. Subdirectories

There are two primary strategies for parceling up your web space. You can create subdomains or subdirectories. Before you can understand the difference, you need to first understand what we mean when we talk about your root domain.

Root Domain

Let’s say you’ve registered a new custom domain name called yourdomain.com. Anything that is stored at this core URL is considered to be at the root of your domain. Nothing comes before or after the address. If you only want to have a single site on your web host (say a blog running WordPress), then you can set that blog up at your domain’s root. To get to your blog in this scenario, users would simply go to yourdomain.com.

Subdomains

As we discuss in the “What is a Subdomain?” portion of this documentation, subdomains are one option for organizing your Emerson.build space if you want to do something more complex than having a single site at your domain’s root. Subdomains serve two purposes: they help to organize the site from a technical perspective and they help users identify at a glance that they are in a new/different space.

As you work on your site, you’re welcome to create as many subdomains as you like and in each subdomain you can actually create a distinct website.

Subdirectories

The alternative for organizing your space is to set up subdirectories. These function much like file folders on your computer. Instead of creating a blog at blog.yourdomain.com you could place it in a subdirectory called “blog” making the address yourdomain.com/blog.

Setting up a subdirectory is really easy. You can create folders on the fly when installing applications (like WordPress) and you can also manually create them in your File Manager.

There is one particular issue you need to be aware of when using subdirectories. Let’s say you’ve installed WordPress to be your primary blog at yourdomain.com and you’ve created a page in this WordPress blog with the URL yourdomain.com/gallery to put pictures on. Later, you decide you want to create an image gallery site using a new application. You want to place it in a subdirectory “gallery” so that viewers can access it at yourdomain.com/gallery. However, this URL is already taken by the WordPress gallery page. If you try to create a subdirectory of the same name, you’ll get a conflict and errors. Either the existing page or the new application will need a new URL. If you choose to rename the existing page, that will break any links or bookmarks that users may have saved.

Tips & Review

  • Subdomains must be created first before you can install anything in them. However, you’re less likely to get conflicts or errors.
    • For Emerson.build sites, your default domain name is already itself a subdomain of emerson.build. This means that when you create a new subdomain of this domain, it will be of the form: subdomain.yourdomain.emerson.build.
  • Subdirectories are easier to set up and can be created during the application installation process. They can, however, result in conflicts with existing pages of your site.
  • As soon as you create subdomains or subdirectories to organize your site, you need to consider how people are going to find them. If you’ve created a new primary blog at blog.yourdomain.com, and someone goes to just yourdomain.com, they won’t see that new site. It is possible to set up redirects to avoid this issue. You can also always create links from pages on one subdomain of your site to another.
  • If you really just need one site, sometimes installing at the root of your domain is the easiest thing to do, at least as you’re getting started. You can always add more pieces to your territory later with either subdomains or subdirectories.

What are the technical requirements/limitations of Emerson.build?

Emerson.build uses a kind of Web server knowns as a LAMP server. “LAMP” is an acronym for the technology stack that is installed on the server:

  • Linux: This is the open-source operating system that is used on the server.
  • Apache: This is the Web server software that the server uses.
  • MySQL: This is the database software that the server uses.
  • Php/Perl/Python: These are the three programming languages that the server can interpret.

Generally, if you are using applications available to install by default through the Emerson.build server, you shouldn’t need to worry about these technical details. All of the software that is available for installation (in cPanel) meets the technical requirements.

If you’re interested in finding/installing another application (that isn’t available through our automatic installer tool), then you’ll have to be sure that the server can support it. To start with, you’ll want to be sure that the Web application can run on a LAMP server. Check the technical requirements for the application to determine this. You’ll also need to do some research about whether there are any additional services or modules required on the server. Some software may require components that aren’t included in the default installation of the LAMP stack. In that case, contact us with details about what you need, and we’ll see what we can do.

Setting Up Subdomains

A subdomain is one way of organizing and separating content on your site. To create a subdomain, use the following steps:

Login to Emerson.build with your Emerson username and password to access your cPanel. Once logged in, you’ll be at the homepage of your control panel. The easiest way to navigate the panel is using the Search box in the top right panel. Click the Search box and type “subdomains” (without the quotes). Then, scroll down and click the Subdomains button on the cPanel.

Search for Subdomains using the Search box.

Choose a name for your subdomain and type it into the Subdomain box. Just like top-level domains (e.g. createoutestdomain.com), subdomains can only contain numbers, letters, and hyphens, and the best subdomains are simple, short, and descriptive. Once you’ve typed in a name, cPanel will automatically populate the Document root field for you. This will create a folder to contain your subdomain’s files. You’ll usually want this folder to match the name of your subdomain, so it’s easy to identify where different files live in your account. You might want to change the document root if you already have a folder in your account that has the same name as the subdomain you are trying to create, although this should be rare.

cPanel automatically generates the Document Root after you enter the Subdomain's name.

Once you’re done, click Create. If everything went well, you should see a message that your subdomain was created successfully. Your subdomain will now be available as an option for automatic installation of various software (WordPress, MediaWiki, etc). If you prefer to install web applications manually, you can do so in the document root (folder) you created in step 5.

LAMP Environments

When you sign up for emerson.build, you get space on a Web host that is associated with the project. There are a few things you need to know about the Web host that will make it easier to understand what you can do with your new space.

The Web Server

The Web server is the main computer that is associated with the emerson.build hosting account. It’s literally a computer, but it’s a computer that has special software on it that allows it to be accessible via the Web. The files that run your applications, images or video you upload, or any other files you upload into your Web space are stored on this server.

(For comparison’s sake, your desktop or laptop computer, by default, doesn’t allow this; I can’t access files on your computer through a Web browser by default. You CAN actually install Web server software on your own computer, essentially making your files accessible over the Web.)

In order to run, a Web server has an operating system installed and some kind of Web server software. The emerson.build server runs the 'LINUX' operating system and an 'APACHE' Web server.

The Database Server

In addition to the Web server, there is also an associated database server. This is another computer, but it is configured with software that allows it to host databases. It is also connected to your Web server so that your applications (hosted on the Web server) can retrieve data (from databases hosted on the database server).

Databases come in LOTS of varieties. The kind of database you can use for a Web application depends on the kind of software that’s installed on the database server. The emerson.build server can run 'MYSQL' databases.

The Programming Language

When you install open-source software on your Web account, it’s going to be written in some programming language. Your Web server has software installed on it that allows it to understand different languages. If you install software that’s written in a language that your Web server doesn’t read, it won’t work.

The emerson.build server has software installed on it that allows it to understand 'PHP''PERL', and 'PYTHON'.

Add it Together: LAMP

If you take a look at all the descriptions above, you can determine that we are running what is known as a LAMP server for create.ou.edu:

  • Linux (operating system)
  • Apache (Web server)
  • MySQL (database server)
  • PHP/PERL/PYTHON (programming language)

Applications that are written for LAMP environments will, presumably, run on the server. HOWEVER, some applications do require additional extensions or libraries that aren’t included, by default, in a LAMP environment. The applications you can install via Installatron (in cPanel) should work just fine.

What makes LAMP environments special is that all of the component parts are open-source. Linux, Apache, MySQL, PHP, PERL, and PYTHON are all open-source programs or systems. Anyone can download them (for free) and install them. Anyone can also modify them and redistribute them. As a result, there are lots of online resources for using these systems that have been built by their communities of users. But, also as a result, since you’re not paying for these systems, you can’t just call up a company and ask them to fix a problem.

Setting Up FTP / SFTP

There are a number of scenarios which might necessitate placing files directly onto your server space rather than going through an application like WordPress or Omeka. For example:

  • You’re working with an application that allows you to install plugins/extensions, but the files need to be manually moved to the server in order to add them. (Note: This is NOT required with WordPress which allows you to install plugins through your WP Dashboard while in your browser.)
  • You’ve developed a custom site with pages, styling, and/or scripts using a web design or coding program. Those files you created need to live and run on the server.
  • You’re installing an application that isn’t part of the applications in Installatron.

One way to upload files is by using the File Manager that is part of cPanel. However, sometimes you’ll find it necessary or simply easier to use FTP (File Transfer Protocol) to move files to the server. This can be particularly useful if you’re working with a website where more users than just the owner will be working with the file structure. Only the owner has access to the File Manager in the site’s cPanel, so the owner would need to grant separate file management access to any other users.

What exactly is FTP?

File Transfer Protocol is a method that allows you to remotely move files to a web server from another location – usually your local/personal computer. Using a pre-defined FTP account (which gives you a username and password to connect with), you can configure your FTP client (a program you run on your computer that allows you to transfer files via FTP) of choice.

There are lots of FTP clients that you can use; some are free and some are not. A couple of free, cross-platform options are:

FTP vs. SFTP: Which should you use?

SFTP (Secure File Transfer Protocol) should be used whenever possible in order to safeguard your credentials. FTP sends your access credentials and the data you’re transferring to the server in plain text, which makes that information vulnerable to network sniffing. You should always use SFTP and connect on port 22 for your special cPanel account (discussed more in the section below).

However, any additional FTP accounts that you create will only be able to connect via FTP on port 21. For these accounts, it’s important to ensure that you don’t reuse a password from another site and that you grant the accounts only as much access to your server as absolutely necessary to accomplish the task you need them for.

Your special cPanel FTP account

When you sign up for Emerson.build, you receive a special FTP account that has full privileges to access any space on your web server. This account’s username corresponds to your cPanel username and, depending on when you signed up for build, you may have been assigned a pre-generated password.

Due to the high-level of access this account has, please follow the following precautions when using it:

  1. Do not share this account’s credentials with anyone else.
  2. Always use SFTP (Secure File Transfer Protocol) while connecting with this account in your FTP client.
Setting / resetting your cPanel account FTP password

When you first sign up for Emerson.build, you will need to set the password for your special FTP account. The steps for setting the password for the first time are the same as those to reset a forgotten password.

Note: if you signed up for Emerson.build prior to February 2019, you received a welcome email containing the connection information for your special FTP account, including your account’s password. These credentials will still work. If you no longer have this email saved and have forgotten the account’s credentials, please follow the steps below to set a new one.

  1. Login to your Emerson.build cPanel.
  2. In the black Admin bar at the top of the window, hover over “Manage Your Account“.
  3. Click “FTP Information
Admin bar of the Emerson.build Dashboard, with Manage Your Account menu open to show FTP Information link
  1. Under the “FTP Connection Settings” section, enter your desired password into the “Set Password” field.
  2. Click “Save“.

Getting the required information for your FTP client

Whether you’re connecting to your own server space or setting up an FTP account for someone else to use to connect to your space, you’ll need the same sorts of information to configure an FTP client (username, password, hostname).

Using your special cPanel FTP account
  1. Login to your Emerson.build cPanel.
  2. In the black Admin bar at the top of the window, hover over “Manage Your Account“.
  3. Click “FTP Information“.
  4. The information you’ll need is listed under “FTP Connection Settings“.
Creating a new, additional FTP account
  1. Login to your Emerson.build cPanel.
  2. Under the “Add FTP Account” heading, enter the following:
    • The new account’s username in the “Log In” box.
    • A password for the account in both Password fields.
      • Alternatively, click the “Password Generator” button to have one generated for you.
      • The “Strength” line will indicate how secure the password you’ve entered is. 
      • Note: you will need to save this password somewhere secure. If you lose the password in the future, you will need to set a new one from this page.
    • By default, the new FTP account will have limited access only to a directory with the same name as the account you’re creating.
      • You can change this to a different directory, if you want to grant this account access to a different location.
    • You can enter a quota limit for this account or leave it as the default (unlimited). You can change this at any time after the account’s been created.
  3. Click “Create FTP Account” when you’re done.
  4. You’ll see the new account appear in the list under the “FTP Accounts” heading.

Note: If you set this account up to provide access to someone else, you will need to send them the username, password, and server information.

Using an additional FTP account

After an FTP account has been created, you can find the connection information by following the instructions below:

  1. Login to your Emerson.build cPanel.
  2. Click “FTP Accounts” under the “Files” section.
  3. Scroll to the “FTP Accounts” heading.
  4. Click “Configure FTP Client” to get the username and server information for the account.
    • If you need to set a new password, you can do so on this screen.
    • Alternatively, if an FTP account is no longer needed, you have the option to delete it.

Configure FTP in Your FTP Client

Below are links to tutorials for setting up both FileZilla and CyberDuck to connect to your FTP account. If you’re using a different client, please check that client’s documentation site.

Static and Dynamic Websites

Static Websites

In the early days of the Web, almost all Web sites were what is known as 'static sites.' Content (text, images, video, audio, etc), was placed or embedded in a file in which HTML tags were used to format it.

The content and the tags lived side-by-side. To edit the page, you’d open up the file (on your own computer) in a program capable of editing HTML files and make changes to either the content or the presentation. Every page had to be edited individually, even if the edits you were making were for common elements that appeared on many pages (like menu bars).

From a technical perspective, accessing a static Web site is fairly straightforward. When your computer is connected to the Internet, you can use a Web browser to access files on a Web server (as long as you know the address). The Web server delivers the contents of those files to your browser, and your browser displays them.

Dynamic Websites

Over time, as the Web became more sophisticated, new systems emerged for creating and managing Web sites. These moved beyond the model of having content and HTML tags live in a simple HTML page which your browser accessed and displayed. Instead, these systems were Web applications – software that literally runs on the Web server and makes it possible to manage a Web site, often with very sophisticated features. One feature of these applications is that they separate content and presentation by storing most content (your text, images, etc) and data about the site (the title, options, etc). in a database.

On the Web server, the Web application installs files that are written in some kind of programming language. The server reads this code and obeys any requests in it to access data in the database (which lives on a separate server) and displays it according to the instructions in the code.

Essentially, the data for the site (living in a series of tables in a database on the database server) is entirely separate from the actual presentation of the site (living in the code of the programmed files on the Web server). Special software on both the Web server and the Database server enable the two to speak to each other and work together.

One of the benefits of using a Web application is that you usually don’t need to touch (or even look at!) the code in order to make changes to your content. In addition, editing the site usually involves accessing some kind of control panel through your Web browser and filling out a form, instead of having to download and access files in software on your own computer.

Dynamic vs Static Content

Sometimes when we talk about the difference between dynamic and static content we get bogged down in the idea of whether or not the content is “fresh” (dynamic, regularly updated) or “old” (static, never updated). How frequently you update your content has nothing to do with what kind of system you are using to manage your site. You can manage a static Web site (as described above) and update the content every day. You can also have a dynamic Web site (running something like WordPress) and never change the content after you create it.

Generally speaking, it IS easier to regularly update content on a dynamic Web site because the Web application just makes it easier. Sometimes, even when you just want a very basic page or placeholder, it’s easier to install a Web application (and only put up a single page) then to manually create an HTML page and upload it.

A Side Note about Separating Content from Presentation: Style Sheets

Another aspect of separating content from presentation involves the use of 'Cascading Style Sheets' (CSS). These are special files that live on your Web server and are linked to your Web pages. They contain information (written in a special markup language) about how to make elements on your site look. They allow you, for example, to define in a single location what all Level 1 Headings look like on your site. They are an important aspect of understanding how to separate content from presentation, but they’re not really an aspect of the difference between static and dynamic sites. Both static and dynamic sites can use style sheets.

Creating an Email Address

Creating an email address in the control panel creates a mailbox on the server for mail to be delivered to. In some cases this might be desired if you want to maintain full control of the email you receive, however in many cases users may wish to simply create an Email Forwarder that sets up a custom email address and sends all mail sent to it on to the address of your choice. This article will show you how to setup both methods.

  • On the homepage of the control panel you will see a section titled Email that contains several tools for setting up email addresses. To get started, go to the Email Accounts page.

Create an email address in cPanel.

This screen will allow us to setup an email address that uses a mailbox stored on the server. You will be able to access mail sent to this email address either through a webmail client or a desktop/mobile client directly. Enter the desired email address as well as a password to associate with that email address. You can choose to set a quota for how large of a mailbox you need, or set this to unlimited (keep in mind your quota will still be dictated by the limits of the hosting account). Once you’re done click Create Account.

Your email address is created and it’s ready to be used. Scroll down the page to see your newly created account listed under Email Accounts.  You have the choice of accessing your new email address via the webmail options built into your control panel, or setting up a mail client directly from your desktop, laptop, or mobile device. These options appear as links under Actions to the right of where your email address is listed. The More button allows you to suspend your address, access webmail, configure calendars and contacts, and manage disk usage.

You can work with your new email address by using the links next to it under "Email Accounts."

If you already have an email address you want to use, such as a Gmail or Hotmail account, you may wish to create an Email Forwarder instead of a mailbox. Setting up a forwarder is very simple. Start by clicking on Forwarders from the Mail section of your control panel homepage.

The Forwarders page in cPanel.

The first screen will show you any existing forwarders that you have created. To setup a new forwarding account, click Add Forwarder.

Add a New Forwarder page in cPanel.

To create a new forwarding account, simply type in the desired email address as well as the email address you’d like all mail to be forwarded to. When you are done click Add Forwarder.

You have now successfully created an Email Forwarder and all email sent to your custom email address will be forwarded on to the address you entered.

What Exactly is a Web Application?

In the most general terms, a Web application is a piece of software that runs on a Web server. A Web server is a just a specialized computer designed to host Web pages.

Most Web applications are comprised of two components: files and a database. When you install a Web application, you will need to make sure all of the files are copied over into the appropriate location AND that a database (and database user) has been set up to connect to those files. Often, you will have to do some configuration to make sure the application knows how to access the database.

The system we use for Emerson.build uses a special script installer called Installatron (in cPanel) that allows you to automatically install dozens of open source applications. When you use Installatron, you don’t need to worry about moving files, creating databases, or doing the initial configuration. It’s all taken care of for you. You can find out more about Installatron here.

In order to run on the Emerson.build server, Web applications must be able to run on a LAMP server, which is the particular kind of Web server that we use. Occasionally, a Web application may require additional components or modules that need to be installed on the server.