Blueprint: How Ghost Migrated From Dedicated Servers to DigitalOcean

Introduction

This DigitalOcean Blueprint article was written by Sebastian Gierlinger, a Senior DevOps Engineer at Ghost. It covers the steps that were taken to migrate the Ghost(Pro) infrastructure from dedicated servers to DigitalOcean Droplets. In each step, Sebastian will discuss the challenges that were faced, how each challenge was solved, and why each solution was chosen. He’ll also provide links to relevant resources that he found to be helpful. Ed.

Ghost(Pro) is the hosted platform for Ghost, an open source blogging platform, where users can rent pre-built Ghost blogs with a few clicks. Ghost(Pro) is what continuously funds the Nonprofit organization, the Ghost Foundation, that manages the Ghost open source project. Originally hosted on dedicated servers, Ghost(Pro) was migrated to DigitalOcean to enable on-demand scaling.

Problem Statement

In the last quarter of 2014, Ghost(Pro) was quickly outgrowing its original, dedicated server infrastructure, as it was serving about 100 million requests from tens of thousands of blogs every month. Scaling the existing infrastructure would require about two months of lead time for purchasing and deploying new physical servers. In short, the limitations of scaling a dedicated server infrastructure were threatening the growth of the Ghost(Pro) platform and, as a result, the further development

How To Work with Docker Data Volumes on Ubuntu 14.04

How To Work with Docker Data Volumes on Ubuntu 14.04

Introduction

In this article we’re going to run through the concept of Docker data volumes: what they are, why they’re useful, the different types of volumes, how to use them, and when to use each one. We’ll also go through some examples of how to use Docker volumes via the docker command line tool.

By the time we reach the end of the article, you should be comfortable creating and using any kind of Docker data volume.

Prerequisites

To follow this tutorial, you will need the following:

  • Ubuntu 14.04 Droplet
  • A non-root user with sudo privileges (Initial Server Setup with Ubuntu 14.04 explains how to set this up.)
  • Docker installed with the instructions from Step 1 of How To Install and Use Docker Compose on Ubuntu 14.04

Note: Even though the Prerequisites give instructions for installing Docker on Ubuntu 14.04, the docker commands for Docker data volumes in this article should work on other operating system as long as Docker is install.

Explaining Docker Containers

Working with Docker requires understanding quite a few Docker-specific concepts, and most of

How To Configure Collectd to Gather System Metrics for Graphite on Ubuntu 14.04

Introduction

Collecting and visualizing data is an important way to make informed decisions about your servers and projects.

In a previous guide, we discussed how to install and configure Graphite to visualize data on our servers. However, we didn’t have a good way of collecting or even passing data into Graphite.

In this guide, we’ll discuss the installation and use of collectd, a system statistics gatherer that can collect and organize metrics about your server and running services.

We will show you how to install and configure collectd to pass data into Graphite to render. We will assume that you have Graphite up and running on an Ubuntu 14.04 server as we showed you in the last guide.

Install Collectd

The first thing we are going to do is install collectd. We can get this from the default repositories.

Refresh the local package index and then install by typing:

sudo apt-get update
sudo apt-get install collectd collectd-utils

This will install the daemon and a helper control interface. We still need to configure it so that it knows to pass the data it collects to Graphite.

Configure Collectd

Begin by opening the collectd configuration file in your editor with root privileges:

sudo nano /etc/collectd/collectd.conf

The first thing that

Computer Tips and Tricks How to Improve Your Computer’s Performance

Tips for Speeding Up Your PC

Few things are as frustrating as dealing with a slow, sluggish computer. When a computer is brand new, it works wonderfully well. Over time, though, its performance can slowly begin to worsen. This happens for a number of reasons, but the biggest culprits are things like spyware, adware and other computer threats that are unwittingly downloaded along with other content while online. You don’t have to download thousands of MP3s, movies or other items to experience these problems, either – nobody is immune to them. Instead of accepting the situation, there are plenty of techniques and strategies that you can use to make it better – a few of the best ones are outlined below.

Strategy #1: Clean Your Computer’s Windows Registry

The biggest cause of slow, sluggish PC performance is errors and problems within its Windows registry. Adware, spyware and other threats usually target the registry, damaging or misplacing important files within it. When it comes to PC cleaning, a daily Windows registry cleaning should be at the top of your list of priorities. However, this should never be done manually – there are too many opportunities for major errors that could seriously damage your PC’s

Printing Tips Tips on Selecting the Best Printer for You

Most consumers do their homework when it comes to selecting a new laptop PC, but in many cases, the purchase of a printer is an afterthought. If you are a business professional or student who relies on producing top quality proposals or research papers, your choice of a printer is critical to your success. You should pinpoint the equipment that is capable of handling the type of work you require, is convenient and trouble-free, and incorporates seamlessly into your workspaces.

The Choices

Depending on your expectations, any of a number of printer types may fill your bill. If you need a full-service machine that includes a scanner, fax, copier, and printer, you are in the market for an all-in-one unit. This type of printer is a great workhorse for a busy office in which you produce printed materials, sign documents and scan them for emailing, plus receive and send information by fax.

If you are not set up with a land-line phone however, you may not want a fax machine, selecting instead an all-in-one without a fax component. You will save a few dollars too. Before you scale back further, though, deciding that copying and scanning are features you don’t need, remember that

Blogging Tips Tips For Launching Your Own Blog

Blogging has developed from a specialized hobby to a full-time occupation. Many writers live off of their blogs, and anyone with something unique to say can gain an audience and a steady paycheck with the right techniques.

Starting A New Blog

Launching a blog requires some planning. This starts with the name and address of the blog.

It’s important to pick a good domain name, as the URL of a website is one of the most powerful tools that a blogger has at his disposal for repeat traffic. Think of a domain name as a 21st century toll free number: It has to be memorable or it won’t be effective.

  • blog’s domain name should be descriptive of its subject and preferably a bit unusual. For example, a blog about arrowheads could simply be titled, “Arrowheads And How To Identify Them,” but something like “As The Arrowhead Flies” would be more memorable.

Bloggers should also try to pick a unique subject or to bring a unique perspective to the entries. Writing about hundreds of subjects will rarely lead to a successful blog. Content should be focused and direct. Visitors should know exactly what type of information that they can find on the blog, and using direct

Computer Buying Tips Should You Buy a Mac or a PC

Deciding whether to buy a Mac or a PC should be based on two main points: your budget and whether the computer is primarily for business or pleasure. Both types of computers are excellent for specific tasks, although if you are planning to go to work and bring your computer with you, you may need to consider what types of computers your coworkers will have to make it easier to swap files or compare notes. Here a few basic tips on how to choose the right computer for you.

Budget

There’s no debate—Macs are far more expensive than PCs. If money is a big issue for you, you’ll want to buy a PC. However, Macs aren’t overpriced. Unlike PCs, each computer is designed for maximum efficiency in both processing speed and ease of use. While PCs frequently crash and are vulnerable to spyware and viruses, Macs resist most viral attacks and operate at a consistently high standard with virtually no technical issues. If you can afford it, a Mac is an excellent investment which will work for you for years.

Business

While Macs have always been the preferred computer of graphic designers and other creative individuals, for most corporate office work, PCs have long

The Best Computer The Best Computer Tips and Tricks: Wireless Home Networking

Fix Connectivity Issues

It sounds crazy, but 95 percent of all Internet connectivity problems can be solved by power-cycling both the router and the modem. Turn them both off, and then turn the modem back on first. Once its “sync” or signal light comes on, turn on your router.

Use Encryption

You’ve probably heard this before, but it bears repeating: Always enable your router’s wireless security! Wired Equivalent Privacy (WEP) encryption is the oldest (and weakest) form of security; the newer (and stronger) Wi-Fi Protected Access (WPA) and WPA-2 are the best protection available today for home users.

Update Your Router’s Firmware

All routers include internal read-only chips with embedded instructions that can be updated by the manufacturer. Router manufacturers generally update a product’s firmware to increase performance as well as to

13 Quick Tips to Improve Your Web Design Skills

Designing your company website can be a challenging proposition. You’ve got to juggle the expectations of many stakeholders, and you can often hit obstacles that prevent new ideas from emerging.

I was the design manager for a large company website for nearly six years, and during that time, I found myself losing perspective of what our target audiences really needed.  Call it “tunnel vision.” When you work on the same website, it often helps to take a step back and think through new approaches. That’s the purpose of this blog post.

What follows are some tips, tricks, shortcuts and general advice for creating great website design. Can you try any of these to take your web design to the next level?

Download our free guide to growth-driven web design for even more web design tips.

1) Design in shades of gray, then add color

If your web designer creates wireframes prior to visual designs, then you know the value of starting with shades of gray.  Turn your wireframe into a grayscale visual design, add your photography, then carefully add color to design elements one at a time.

This will prevent an “overdesigned” website and help to place prominence on just the items that need it.

2) Use

How to buy an external hard drive

It’s always a good idea to back up your computer. You may not trust your content to be stored in the cloud, so if you want a physical copy of your computer’s files – not just something that’s floating in the ether – you’ll want to buy an external hard drive (HDD). The process of purchasing an external HDD can be overwhelming, considering the large amount of options out there, but we’re here to help.

When deciding what’ll work best for your needs, consider the following: What will you be using it for; how much space do you really need; and how often will you be backing up your files? Also, do you want to be able to transport your external hard drive so that a lighter, encrypted one would be most convenient and best protected; or do you plan to keep it in one place, in which case you can afford a heavier but potentially cheaper device?

Answering these questions will help you gauge what the best storage device option will be for you right now.

Storage capacity

Storage capacity in external HDDs can range from about 2GB to 4TB. In fact, some drive companies put two 4TB drives in one chassis, creating

Top 10 Web Conferencing Software Tools For eLearning Professionals

Collaborating with eLearning team members, offering live training events, and enabling online learners to reach out to their peers are just a few of the many uses for web conferencing software. However, due to the sheer abundance of web conferencing software tools that are available today, finding the one that suits your needs and fits your eLearning budget can be challenging. Just to make the process less time consuming and stressful, below you will find a list of the best 10 web conferencing software you may want to consider.

  1. AnyMeeting
    AnyMeeting is the go-to web conferencing and webinar tool for small organizations, thanks to the fact that it is an all-in-one platform which features everything from video and phone conferencing support to webinar hosting. It’s been around since 2011, and has quickly become one of the most popular options available, boasting over 800,000 registered hosts. You can sign up a free trial and pay just $18 for small group meetings after that.
  2. Onstream Meetings
    Onstream Meetings is great for eLearning professionals who want a more personalized web conferencing platform, as it allows you to customize every aspect of your web conference screen. Its interface is easy to use and they offer a

Why do I need anti-virus software?

Isn’t Linux virus-free?

For the most part, Linux is engineered in a fashion that makes it hard for viruses to run. However, there are many reasons you might want a virus scanner on your Linux PC:

  • you are required to have a virus scanner installed by the terms of use of the company you work for or are doing business with
  • to scan a Windows drive in your PC
  • to scan a Windows-based network attached server or hard drive
  • to scan Windows machines over a network
  • to protect a Windows virtual machine from within the virtual machine
  • to scan files you are going to send to other people
  • to scan e-mail you are going to forward to other people

  • some Windows viruses can run with Wine.

  • Linux virus infections are theoretically possible.

Other Security Issues

A Firewall is more important as it should prevent infections and prevent other types of attacks. SSH is also an important issue so it’s worth having a look at the main page on Security.

Ubuntu Networking Configuration Using Command Line

The basics for any network based on *nix hosts is the Transport Control Protocol/ Internet Protocol (TCP/IP) combination of three protocols. This combination consists of the Internet Protocol (IP),Transport Control Protocol (TCP), and Universal Datagram Protocol (UDP).

By Default most of the users configure their network card during the installation of Ubuntu. You can however, use the ifconfig command at the shell prompt or Ubuntu’s graphical network configuration tools, such as network-admin, to edit your system’s network device information or to add or remove network devices on your system

Configure Network Interface Using Command-Line

You can configure a network interface from the command line using the networking utilities. You configure your network client hosts with the command line by using commands to change your current settings or by editing a number of system files.

Configuring DHCP address for your network card

If you want to configure DHCP address you need to edit the /etc/network/interfaces and you need to enter the following lines replace eth0 with your network interface card

sudo vi /etc/network/interfaces

Note :- Use vi editor if you don’t have GUI installed

If you have GUI use the following command

gksudo gedit /etc/network/interfaces

# The primary network interface — use DHCP to find our address
auto eth0
iface

What’s new in Ubuntu Server 14.04 LTS?

Ubuntu Server 14.04 LTS, which goes live today, is the third Ubuntu LTS release designed for cloud. After more than four years, we finally see the cloud coming of age, with OpenStack at its heart. Ubuntu has for a long time been the platform of choice for running enterprise workloads such as web infrastructure. Today, Ubuntu OpenStack sits at the heart of cloud infrastructure at some of the world’s largest and most innovative companies, some of which were mentioned in our press release. In fact, we are so confident of the maturity of OpenStack, that we’ve decided to support the Icehouse release for five years, just like the Ubuntu Server release it comes with. So, 14.04 is effectively both Ubuntu LTS and OpenStack LTS together.

14.04 is more than Ubuntu OpenStack. Docker, arguably the hottest cloud infrastructure technology around today, is included in this release. Ubuntu has always been the preferred platform for Docker users, and now support for Docker is included in the Ubuntu Advantage support packages offered by Canonical. Docker’s image repository includes official Ubuntu images, including 14.04, and Docker is available to Ubuntu users via apt-get. This release also includes quite a few package updates, including Tomcat

Why Ubuntu Linux Is a Good Business Choice

Chances are good that if someone walked into your office right now and peeked over your shoulder, they would see a Windows operating system on your computer. But, did you know that you have a choice of something other than Windows for that computer on your desk, and that you have the same choice for the servers in your data center?

One of those choices is Ubuntu Linux, a greatly enhanced Debian-based Linux distribution that installs easily, has the familiar Windows look and feel, and operates well on older hardware (expensive upgrade not required). Linux fans tout the positive attributes, often at high decibel levels, of Ubuntu Linux, which is perhaps the world’s most popular Linux distribution. But, is it business worthy?

Let’s first consider Ubuntu as a replacement for your Windows desktop or laptop operating system. Computer owners generally use an Internet browser, a word processing program, the occasional spreadsheet, an email application and almost nothing else. These computer owners may not realize that they’re paying $150 to $300 for the OS and another $300 or more for the office suite–most of which they’ll never use. Why add hundreds of dollars to a computer system that has a life expectancy

How To Install Prometheus using Docker on Ubuntu 14.04

Introduction

Prometheus is an open source monitoring system and time series database. It addresses many aspects of monitoring such as the generation and collection of metrics, graphing the resulting data on dashboards, and alerting on anomalies. To achieve this, it offers a variety of components that are run separately but used in combination.

Docker provides a way for you to encapsulate server processes using Linux containers (or other encapsulation technologies) so that they are more easily managed and isolated from each other. To learn more about Docker, see The Docker Ecosystem: An Introduction to Common Components.

In this tutorial, we will learn how to install three key components for using Prometheus on Docker. These are:

  • A Prometheus server to collect metrics and query them
  • A Node Exporter to export system metrics in a Prometheus-compatible format
  • Grafana, a web-based graphical dashboard builder that supports Prometheus among other backends

There are many more components in the Prometheus ecosystem, but these three provide a good starting point for using Prometheus.

Prerequisites

To follow this tutorial, you will need:

  • Ubuntu 14.04 Droplet
  • User with sudo access (see the Initial Server Setup with Ubuntu 14.04 tutorial for details)
  • Docker installed with the instructions from Step 1 of How To Install and Use Docker Compose on

20 Popular Ubuntu Linux Apps to Try Now

As Ubuntu Linux continues to grow in popularity, most discussions of it tend to focus on the basics of the operating system itself, including especially details about its desktop environment and user interface.

What many forget–or don’t even know about–is that users of Ubuntu also have a world of apps at their fingertips through the Ubuntu Software Center, ready and waiting to help them make the OS their own.

Thousands of free and open-source applications are available through the Ubuntu Software Center, as are numerous paid, commercial contenders. Downloading and installing them is easy, and ratings and reviews were recently added to help guide you to the best ones.

Of course, there’s nothing like a good list to help you find gems you might not come across otherwise, and that’s just what was published on Thursday on Ubuntu’s app developer site.

Which were the most popular apps in the month of January? Hint: Gaming figures prominently, but there were some business-oriented exceptions. Read on for a run-down of the free and commercial winners.

10 Free Apps

1. Marble Arena 2, a 3D physics-based marble game “featuring vibrant HD graphics, fun, and addictive star zapping gameplay,” as it’s described on the list;

2. Ryzom, a massively multiplayer online

How To Upgrade to PHP 7 on Ubuntu 14.04

Introduction

PHP 7, which was released on December 3, 2015, promises substantial speed improvements over previous versions of the language, along with new features like scalar type hinting. This guide explains how to quickly upgrade an Apache or Nginx web server running PHP 5.x (any release) to PHP 7.

Warning: As with most major-version language releases, it’s best to wait a little while before switching to PHP 7 in production. In the meanwhile, it’s a good time to test your applications for compatibility with the new release, perform benchmarks, and familiarize yourself with new language features.

If you’re running any services or applications with active users, it is safest to first test this process in a staging environment.

Prerequisites

This guide assumes that you are running PHP 5.x on an Ubuntu 14.04 machine, using either mod_php in conjunction with Apache, or PHP-FPM in conjunction with Nginx. It also assumes that you have a non-root user configured with sudo privileges for administrative tasks.

Adding a PPA for PHP 7.0 Packages

A Personal Package Archive, or PPA, is an Apt repository hosted on Launchpad. PPAs allow third-party developers to build and distribute packages for Ubuntu outside of the official channels. They’re often useful

My First 5 Minutes On A Server; Or, Essential Security for Linux Servers

Server security doesn’t need to be complicated. My security philosophy is simple: adopt principles that will protect you from the most frequent attack vectors, while keeping administration efficient enough that you won’t develop “security cruft”. If you use your first 5 minutes on a server wisely, I believe you can do that.

Any seasoned sysadmin can tell you that as you grow and add more servers & developers, user administration inevitably becomes a burden. Maintaining conventional access grants in the environment of a fast growing startup is an uphill battle – you’re bound to end up with stale passwords, abandoned intern accounts, and a myriad of “I have sudo access to Server A, but not Server B” issues. There are account sync tools to help mitigate this pain, but IMHO the incremental benefit isn’t worth the time nor the security downsides. Simplicity is the heart of good security.

Our servers are configured with two accounts: root and deploy. The deploy user has sudo access via an arbitrarily long password and is the account that developers log into. Developers log in with their public keys, not passwords, so administration is as simple as keeping the authorized_keys file up-to-date across servers. Root login over

How To Import and Export an OrientDB Database on Ubuntu 14.04

Introduction

OrientDB is a multi-model, NoSQL database, with support for graph and document databases. It is a Java application and can run on any operating system. It’s also fully ACID-complaint with support for multi-master replication. It is developed by a company of the same name, with an Enterprise and a Community edition.

In this article, we’ll be using the GratefulDeadConcerts database to demonstrate how to export and import an OrientDB database. That database comes with every installation of OrientDB, so you don’t have to create a new one.

Prerequisites

To complete the tutorial, you’ll need the following:

  • Ubuntu 14.04 Droplet (see the initial setup guide)
  • Latest edition of OrientDB installed using How To Install and Configure OrientDB on Ubuntu 14.04

If you all all those things in place, let’s get started.

Step 1 — Export an Existing OrientDB Database

To import an OrientDB database, you must first export the DB to be imported. In this step, we’ll export the database that we need to import.

If OrientDB is not running, start it:

  • sudo service orientdb start

If you aren’t sure whether or not it is running, you can always check its status:

  • sudo service orientdb status

Then connect to the server using the OrientDB

CompilingSoftware

The Ubuntu repositories contain thousands of packages, and with 3rd party repositories you can get even more. However, sometimes you might want to compile packages from source in the following cases.

  • Package is not available in the repositories
  • Package in the repositories may be too old
  • Package in the repositories has a feature in program disabled due to some reasons
  • Package in the repositories may have a bug which has been fixed by the author of the package.
  • You want to test a patch to help a developer fixing a bug
  • You want to try your hand at compiling programs from scratch.

Background

You might need to compile software depending on the language in which the program is written. Applications which require compiling are usually written in C and C++. If this is the case, you will need to install a compiler gcc which can be obtained by installing the build-essential package. Normally, you can do this by typing the following in a terminal:

sudo apt-get install build-essential

and in order to run the