Generating a Certificate Signing Request (CSR) in CentOS

This guide will walk you through the steps to create a Certificate Signing Request, (CSR for short.) SSL certificates are the industry-standard means of securing web traffic to and from your server, and the first step to getting your own SSL is to generate a CSR. This guide is written specifically for CentOS 7.

  1. Log onto your server using SSH.
  2. Enter the following command at the prompt.

    Note:

    Replace mydomain with your actual domain name.

    openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr

  3. You will be prompted to answer a series of questions, explained below.
    • Country Name – This is the two-letter abbreviation for your country. For example, United States would be US and Great Britain would be GB.
    • State or Province Name – This is the full name of the state your organization operates from. For example, this might be “California” or “Michigan”.
    • Locality Name – Name of the city your organization operates from. Examples might include “Lansing” or “Phoenix”. Don’t use abbreviations in this field. For example, “St. Helena” should be “Saint Helena”.
    • Organization Name – The name of your organization. If you are a business, use must use your legal name. If you are applying as an individual, you use your full name instead.
    • Organizational Unit Name – If applying as a business, you can enter your “Doing Business As” (DBA) name here. Alternately, you can use a department name here. For example, “IT Department” or “Web Administration”.
    • Common Name – The domain name that you are purchasing a SSL certificate for. This must be a fully qualified domain name (FQDN). An example might be mydomain.com.

      Note:

      If you are applying for a special wildcard SSL certificate, you will need to enter an asterisk for the subdomain. An example in that case might be *.mydomain.com. Never include the “http://”, “https://”, or any other special characters in this field. Never include text after the top level domain at the end. For example, your common name should end in .com, .net, (or whatever other extension you are applying for.)
    • Email Address – An email address that can be used as a point of contact for your domain. Be sure the address is valid!
    • A challenge password – An optional password to further secure your certificate. Be sure to remember this password if you choose to use it. It must be at least 4 characters long. You can skip this step if you like.
    • An optional company name – Another optional step. Fill in your company name if you wish. This is not required for web SSL certificates.
  4. Your CSR file has now been generated!

Finding Your CSR

Take a look at the contents of your current working directory with the “ls” command. You should notice two new files ending with “.key” and “.csr” respectively.
ls -l
total 8
-rw-r--r--. 1 root root 1082 Jan 31 12:10 mydomain.csr
-rw-------. 1 root root 1704 Jan 31 12:10 mydomain.key

The .key file should be kept private on your server. The .csr file is your certificate signing request, and can be sent to a Certificate Authority. You can inspect the contents of the CSR by using the “cat” command. Here is an example of the CSR generated in this walk through:
cat mydomain.csr

-----BEGIN CERTIFICATE REQUEST-----
MIIC5jCCAc4CAQAwgaAxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdBcml6b25hMRAw
DgYDVQQHDAdQaG9lbml4MRswGQYDVQQKDBJNeSBBd2Vzb21lIENvbXBuYXkxFjAU
BgNVBAsMDUlUIERlcGFydG1lbnQxFTATBgNVBAMMDG15ZG9tYWluLmNvbTEhMB8G
CSqGSIb3DQEJARYSYWRtaW5AbXlkb21haW4uY29tMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEAsNljF8u2vvTGiSyStD/+4eInQnWlB30o38hWnF+bi6ZS
MmraeigL/HrSoKfUtj/z96PVeK9CFo0AZ12Tq9lBzXtqxSjboIcvr9lZvrycrEYR
qsepF8M18YOjyBfDzXIY13o5Sjnd4e0H7gZCldxy930LjJ1JQC0o4XAbxHd8k7A3
976uh2r6MPdnnQ65UG2vKnMa1MGfT9XTD6dQjj3ZpTqbdG4TnOPFlG4TNXu2zSYl
CX7XHjBKbGx5r/ohQBcqAYFpAMs/7E+gSbkK4jv9Mr8W1gC0CHSJkpT0tqcn+8Lj
1vMi3ysDed6bObC/OMBXAZY2lpALbHvnzy2NJPRPjwIDAQABoAAwDQYJKoZIhvcN
AQELBQADggEBABuUSRgBnv4R1k4UHGngmvQ63jjaZhO6URhQbFzb1e+XHeqou1F8
YSP17A8w23hLfXxs/NCOhQzAn9cFbBGy6dajqMjsCF3timGXHitsmUyswpG3k+dI
bWIsRaJPMSOOz9HcI7ztvN1zs6iiMCZkpI4G+9J5wBqddgXSH+/w5bCViqj0855O
APFUYUEFSB5jS5/e132F5zhcZV5vQ2bato8Zy58gzz5t+q5rn6uuzqc05kmBtDG8
B12RlUt2lBbl6sxQDKQbsM6snwn50H3Xszgn8kyR1VuXOqaKf1X1cCKRTSzYztUp
FeKV0mMwoC9XxX6YCz8eQy66RMVSm3hGI2Y=
-----END CERTIFICATE REQUEST-----

You will need to copy and paste the entire contents of the CSR file to your Certificate Authority when ordering a SSL certificate. Be sure that you include the lines that read “BEGIN CERTIFICATE REQUEST” and “END CERTIFICATE REQUEST”. If you are a Liquid Web customer, we make that easy for you to do right within your Manage Dashboard!

How to Install NVM (Node Version Manager) for Node.js on Ubuntu 16.04 LTS

Node Version Manager, also known as NVM is used to control and manage multiple active versions of Node.js in one system. It is a command line utility and a bash script that allows programmers to shift between different versions of Node.js. They will be able to install any version using a single command and setting defaults using the command line utility.

Note:

  • These installation instructions are specifically for an Ubuntu 16.04 LTS server.
  • I am using a Liquid Web Storm VPS Ubuntu 16.04 LTS 64-bit Core-managed server.
  • I will be logged in as Root.

Step 1: Installing NVM (Node Version Manager) on Ubuntu 16.04 LTS

  1. Install a C++ Compiler
    First, make sure all packages are up to date:apt-get update
  2. The build-essential package (C++ Compiler) should exist on the server, however, we will still include it in our installation process:apt-get install build-essential libss1-dev

Step 2: Install NVM (Node Version Manager)

  1. Using this curl command will start the installation script:curl-o-https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

    Note:

    At the time of this publication, NVM v0.33.8 was the most recent version available. You should check the GitHub project page for the latest release of NVM, and adjust the above command to include the newest version.

  2. After running the curl command, the output should look similar to the following:Close and reopen your terminal to start using nvm
  3. You can do as the above output suggests or run the following command:source ~/.profile

Step 3: Verify the Installation

Now you can verify that NVM is installed and working properly using the following command:nvm --version

The output will show:0.33.8

Note:

You can always use the help command to get you started on the node.js management:nvm help

An Introduction to Managing a Linux Server with systemd

Systemd is is an init system used by several common Linux Distributions which has gained popularity since 2015. A Linux init system is the first process or daemon started on a system after the initial boot process, and manages services, daemons, and other system processes. Systemd is comprised of unit files that contain the initialization instructions for the daemons which it controls. While many portions of a system can be managed with systemd, this article will focus on managing services. Continue reading “An Introduction to Managing a Linux Server with systemd”

Using Passenger with cPanel on CentOS 7

Phusion Passenger is a web application server that can run Ruby, Node.js, and Python applications on your webserver. It integrates with both Apache and Nginx to serve content to your visitors. Historically, this application was difficult to integrate with cPanel servers, which would combine the power of Ruby applications with the ease of management that cPanel provides, but recent advancements make setting up your Passenger module very simple. This easy walkthrough will show you how to add Passenger, Apache mod_passenger, and the supporting Ruby installation to cPanel. Continue reading “Using Passenger with cPanel on CentOS 7”

What is a LAMP stack?

The LAMP stack is the foundation for Linux hosted websites is the Linux, Apache, MySQL and PHP (LAMP) software stack.

The Four Layers of a LAMP Stack

Linux based web servers consist of four software components. These components, arranged in layers supporting one another, make up the software stack. Websites and Web Applications run on top of this underlying stack. The common software components that make up a traditional LAMP stack are:

  • Linux: The operating system (OS) makes up our first layer. Linux sets the foundation for the stack model. All other layers run on top of this layer.
  • Apache: The second layer consists of web server software, typically Apache Web Server. This layer resides on top of the Linux layer. Web servers are responsible for translating from web browsers to their correct website.
  • MySQL: Our third layer is where databases live. MySQL stores details that can be queried by scripting to construct a website. MySQL usually sits on top of the Linux layer alongside Apache/layer 2. In high end configurations, MySQL can be off loaded to a separate host server.
  • PHP: Sitting on top of them all is our fourth and final layer. The scripting layer consists of PHP and/or other similar web programming languages. Websites and Web Applications run within this layer.

We can visualize the LAMP stack like so:

Applying what you’ve learned

Understanding the four software layers of a LAMP stack aids the troubleshooting process. It allows us to see how each layer relies on one another. For instance; when a disk drive gets full, which is a Linux layer issue. This will also affect all other layers in the model. This is because those other layers rest on top of the affected layer. Likewise, when the MySQL database goes offline. We can expect to see PHP related problems due to their relationship. When we know which layer is exhibiting problems. We know which configuration files to examine for solutions.

Some Alternatives

The four traditional layers of a LAMP stack consist of free and open-source products. Linux, Apache, MySQL and PHP are the cornerstone of a free, non-proprietary LAMP stack. There are several variants of the four stack model as well. These variants use alternative software replacing one or more of the traditional components. Some examples of these alternatives are:

  • WAMP: Windows, Apache, MySQL & PHP
  • WISA: Windows, IIS, SQL & ASP.net
  • MAMP: MacOS, Apache, MySQL & PHP

You can explore these alternative software stacks in greater depth using online resource. The LAMP stack Wiki is a great place to start:

How can we help?

The LAMP stack is an industry standard and is included in all of our Core-Managed and Fully Managed Linux based servers. Our support teams work hand in hand with the LAMP stack on a daily basis. You can rest assured we are at your disposal should you have questions or concerns. To learn more you can browse our latest product offerings.

Using SSH Client Natively in Windows 10

Have you ever wanted to use SSH to control your Linux server from Windows? You’ve most likely downloaded and launched third-party applications like PuTTY or KiTTY to get this functionality on your Windows computer. Thankfully, with the Windows 10 Fall Creators Update, you can now use a built-in SSH client directly within your Windows OS. Continue reading “Using SSH Client Natively in Windows 10”

How To Install WordPress, Drupal, and Joomla On Cloud Sites with One-Click

Our Cloud Sites platform is a cut above the rest with its One-Click Installer we take the pain out of creating websites allowing you to focus on building out your website. Whether your CMS of choice is WordPress, Drupal, or Joomla – our Cloud Sites platform has streamlined the process of spinning up a new site. Setting up a new site is complicated – from adding administrators, uploading files and databases. We simplify all that complexity with our smooth-running installer. Our One-Click Installer quickly uploads & configures core files, getting your site up with speed and ease has never been easier.

Installing WordPress, Drupal or Joomla on Cloud Sites using our One-Click Installer

To begin the process you will need to be logged into your Cloud Sites control panel. Once you’ve logged in you will be able to begin the process. If you do not have a Cloud Sites account you can order one from our Cloud Sites product page.

  1. Create a Website: From your Cloud Sites Control Panel find and click the “Create Website” button.
  2. Choose Your CMS: Select the drop box next to application to install the latest version of your chosen CMS.
  3. Configurations: Fill in details of the site and click “Create New Application”. Three simple steps later, you have yourself a new site with time to spare.

And it’s just that simple – setting up a new website and CMS has never been so easy. No more having to build server infrastructure and no more installing the CMS software by hand. Our Cloud Sites platform will manage all of that for you, all you have to do is fill in a few blanks and hit “Create New Application” and you’ll be on your way. If you’re a current Cloud Sites customer give our rebuilt one-click CMS installer a try.

If you’re not a Cloud Sites customer yet, then never managing servers again is just $150/mo away. Our One-Click Installer is one of the many features offered within the Cloud Sites platform. Check out other ways to simplify your web hosting needs at our Cloud Sites product page. Once you sign up you’ll be ready to start immediately and getting your new site setup is just a few clicks away!

CDN Overview

The Liquid Web CDN improves your website’s load time by taking all of your site’s media (pictures, music, etc.) and distributing it to a worldwide caching network. When a visitor reaches your CDN-enabled websites they will receive the basic elements (text, framework code, etc.) from your server as normal, but all of the media will be handled by the CDN’s worldwide network of caching servers (also referred to as “nodes”).

Because media files are almost always much larger in size than text elements, the CDN takes a lot of the workload off of your server. Please note that the Liquid Web CDN is only for use with media files and does not handle databases or other server-side functions. Database activity and other functions will continue to be handled by your server.

It is also important to note that adding CDN services to your server requires modifications to your website’s code. If you are using a Content Management System (CMS) such as WordPress, Drupal, Joomla, etc. then these changes can be easily made using the CMS software itself. If your website was custom-built and does not have a CDN option in the CMS interface, you will need to consult your site’s developer for assistance in implementing CDN code changes. Continue reading “CDN Overview”