Managing Comment Spam with Akismet

Managing Comment Spam with Akismet

SPAM! Everyone hates it in their email. If you’re new to WordPress and blogging platforms, spam exists in the form of comment spam – people (or vermin) leave comments promoting their services or schemes, on a post or page.

So how do you deal with comment spam when it can come in even more often than email spam? Do you have to delete every comment that comes in? Well, the answer to the second question is “no”, and the answer to the first question is, with a plugin called Akismet.

  1. To get started we need to install a plugin. To do this, we’ll start at the Dashboard.
  2. Navigate to Plugins > Installed Plugins.Screen shot of Akismet on plugins menu
  3. At or near the top of the list of plugins that are automatically installed in a new WordPress installation, is Akismet. It is not activated, so part of the process of getting Akismet is Activating the plugin. Before you activate it, however, you need to get something that will be somewhat strange for most people. It’s called an API key. API stands for Application Programming Interface, and it’s a way for programs and services to “talk” to each other. The Akismet plugin requires you to get an Akismet API Key, which is simply a “code” that you supply when activating the plugin. The key is free if you use it on a personal WordPress installation, and it’s available on the Akismet website.screen shot after activating Akismet
  4. Once you arrive on the Akismet for WordPress site, click the Get an Akismet API key button.Screen shot of Akismet web site where you get key
  5. If you have an account at WordPress.com you can sign in with that login and get your key. Otherwise, fill in an email address, a username, and a password to use for a new account. Click the Sign up button to proceed.
    create a wordpress.com account, if you don't already have one
  6. Type in the URL of the site you’ll use Akismet on and click on the Sign Up button under the Personal plan (that is if you want it to be the free version).Select desired Akismet plan
  7. When you get to the next page, the recommended contribution is $36. You can adjust the slider down to $0. The smiley face will begin to frown, but at least your key will be free.
    Also fill in your name and click Continue.
  8. You’re finished with the sign up process for your key, and it will be displayed on the page for you (we’ve blurred ours out).Akismet key
  9. Now follow the steps that they show you for using your new key. You will enter the key in either the Akismet area under Plugins or JetPack (if you have that installed).Akismet key

Acknowledgements

Even though this documentation is openly licensed, we wanted to give thanks to the multiple Universitys and universities that created and contributed to the documentation for Reclaim Hosting’s “Domain of One’s Own” platform and the applications contained therein: The University of Mary Washington, University of Oklahoma, Emory University, Middlebury University and Colgate University (who’s version we adapted specifically for Colgate Domains).

Usage Guidelines for Colgate Domains

Overview

Domains @ Colgate provides managed web hosting services for scholarly and academic use. This service, is intended to address both practical needs for the coordinated hosting of web domains for a more reliable and consistent user experience, as well as support innovative approaches to teaching, learning, scholarship and creative work. Within each domain, a user can install applications to support a range of publishing options and development of curricular projects. Some key use cases include the following:

  • assist faculty in understanding the wide range of web-based applications they can install and use to support teaching and learning.  
  • offer the resources and support for creating dynamic spaces on the web for teaching (course sites), research (lab sites), new forms of scholarly publication (digital  /multimedia formats), and collaboration (inter-institutional).
  • partnering with faculty members to encourage and support their experimentation and creativity for using the web in academically interesting ways.
  • foster a sense of digital imagination that can inform future research, teaching and course development efforts.
  • partner with faculty members who want to engage their students in curricular opportunities to use the web in academically meaningful ways. Connection and reflection are key elements of learning, and students can be supported to connect their learning in unique ways across course-based projects that showcase their interests and learning experiences on the web.

Availability & Use

Requests for access to use Domains @ Colgate is limited to current Colgate faculty members for teaching and research related purposes. Approval for student use is limited to direct curricular application (coursework, undergraduate research, faculty directed work, etc.), and requires the support of a faculty member, who is considered the data owner for the domain. Use of the domains service is governed by Colgate’s Acceptable Use Policy (http://www.colgate.edu/offices-and-services/information-technology/privacy-and-security/acceptable-use-policy).

Request & Approval

When a user browses to http://colgate.domains and fills out the Request Form, the form is sent to the ITS service desk and directly routed to the staff who administer Colgate Domains. Members of the Colgate Domains queue are composed of Services and Shared Infrastructure and Learning and Applied Innovation team members. Upon review of the request, the ITS team member will verify that the user is a current Colgate faculty member by using the Colgate directory. When a new site is created, their new domain is named, http://username.colgate.domains. For instances where faculty members want students to have their own domains (for academic / research purposes), faculty members can follow a similar process as above and provide the names of student users for account creation.

Managing Domains

Twice a year, prior to the start of each academic term, the Services and Shared Infrastructure team will export a listing of domains. Since all the domains will begin with a Colgate username, it will be trivial to match those domains to current Colgate users. For the list of domains who do not match to a current Colgate user, ITS will create an archive on Google drive and remove the website from the Domains platform. When a faculty member leaves the university, they can request to take their website(s) with them and ITS will provide them a compressed file of their cpanel account.  In instances where, there is a site with legacy content of institutional value that is not longer active, ITS will work with the University Archivist to explore ways to store and archive the site.

Currently, there is no service to scan for websites that are operating in a way that is inconsistent with the Policy on Acceptable Use of Electronic Resources. Any Colgate student, faculty, or staff can create a website using the Google Sites platform. Domains@Colgate would operate just like the monitoring of Google Sites. If any website is reported that is operating outside the Acceptable User of Electronic Resources, ITS will suspend the Domains@Colgate account.

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 Colgate Domains 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 Colgate Domains 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.

What is Domain Mapping?

Domain mapping, simply put, is deciding where visitors should be directed when they visit various pieces of your website. Domains and subdomains can be mapped directly to folders located within your webhosting account, where you may have installed WordPress, Omeka, MediaWiki, or other web applications. Domains and subdomains can also be mapped to some third-party providers.

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. If you looked at the actual contents of the file, you might see something like this:

example of static HTML code

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.

example of dynamic HTML 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.

Map Your Domain to Tumblr

Mapping your domain is an important part of colgate.domains; it reinforces the idea that you don’t necessarily need to host all your own applications. You should, however, be mindful of making your web presences part of a domain you control. If you would like to map a subdomain and have not yet created it, use this tutorial on creating subdomains before proceeding. To map your domain, or a subdomain, to Tumblr, use these steps:

  1. To get started you’ll need to login to your control panel by logging into http://colgate.domains/dashboard.
    screen shot of sites login page
  2. Here you’ll login with your Colgate username and password.
  3. Once logged in you’ll be at the homepage of your control panel. The easiest way to navigate the cPanel is using the search feature in the top right panel. Click the Search box and type “DNS” (without the quotes). As you type, the cPanel page will begin to narrow down results. Find and click on Advanced DNS Zone Editor to continue.
  4. Find the domain, or subdomain, you want to map to Tumblr in the list of Zone File Records. Under the Action column, click Edit.
  5. Leave the Name, and TTL fields set to their defaults. Update the Type drop-down menu to CNAME, and the Address field to domains.tumblr.com. Click Edit Record when you are done.
  6. Visit the Tumblr website, and login with your Tumblr username and password.
  7. After logging in, click the Tumblr Settings icon.
  8. For the Tumblog you’d like to use under the Username click the pencil icon to edit these settings.
  9. Check the Use a custom domain checkbox. Type the name of the domain or subdomain you want to map to Tumblr into the box, then click Test your domain.
  10. If your domain mapping was successful, you’ll see a message that your domain is now pointing to Tumblr. Click the Save button before leaving the page. Keep in mind that it may take up to 72 hours for your domain or subdomain to correctly point all visitors to the correct location.

LAMP Environments

When you sign up for colgate.domains, 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 colgate.domains hosting account. It is literally a computer – 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 colgate.domains 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 colgate.domains 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 colgate.domains 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 colgate.domains:

  • 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.

Map Your Domain to Blogger

Mapping your domain is an important part of colgate.domains; it reinforces the idea that you don’t necessarily need to host all your own applications. You should, however, be mindful of making your web presences part of a domain you control. If you would like to map a subdomain and have not yet created it, use this tutorial on creating subdomains before proceeding. To map your domain, or a subdomain, to Blogger, use these steps:

  1. To get started you’ll need to login to your control panel by going to the colgate.domains homepage and logging in.

    screen shot of sites login page

  2. Here you’ll login with you Colgate username and password.
  3. Once logged in you’ll be at the homepage of your control panel. The easiest way to navigate the panel is using the search feature in the top right panel. Click the Search box and type “DNS” (without the quotes). Click on Advanced Zone Editor and you will automatically be directed to the DNS Advanced Zone Editor page. Or, you can scroll down and click on the DNS Advanced Zone Editor button on the cPanel.
  4. Find the domain, or subdomain, you want to map to Blogger in the list of Zone File Records. Under the Action column, click Edit.
  5. Leave the Name, and TTL fields set to their defaults. Update the Type drop-down menu to CNAME, and the Address field to ghs.google.com. Click Edit Record when you are done. Keep this window open; you will need it in later steps.
  6. In a new window, go to the Blogger website, and login with your Blogger/Google username and password.
  7. From your Blogger Dashboard, find the blog you’d like to use, expand the More Options menu, and click Settings.
  8. On the “Basic Settings” page, find the Publishing section, and click the Setup a 3rd party URL for your blog link.
  9. Under Advanced Settings, type the full subdomain or domain you are mapping into the box, leave the Use missing files host? option set to No, then click Save.
  10. You will be presented with a message that your domain cannot be verified, along with information about your existing DNS entry, and an additional DNS entry that needs to be made. This is normal. Copy the second entry under the Name, Label, or Host entry to your clipboard.
  11. Go back to the window or tab containing the Advanced DNS Zone Editor in your colgate.domains cPanel. In the Add a Record section, paste the text you just copied into the Name field. This information will be different for each domain. Set the TTL field to 14400, and the Type drop-down menu to CNAME
  12. Go back to the window or tab containing the Blogger Advanced settings panel, and copy the second entry under the Destination, Target, or Points to column to your clipboard.
  13. Go back to the window or tab containing the Advanced DNS Zone Editor in your colgate.domains cPanel. In the Zone File Records section, find the domain you were editing Action for and paste the text you just copied into the CNAME field. This information will be different for each domain. Click Edit record when you are done.
  14. Return to the window or tab containing the Blogger Advanced settings panel, and click Save.
  15. If everything was successful, your domain will now appear as the Blog Address. Keep in mind that it may take up to 72 hours for your domain or subdomain to correctly point all visitors to the correct location.

What are the technical requirements/limitations of Plymouth Create?

Colgate Domains uses a Web server known 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 colgate.domains, 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.