Jul 6, 2023 5 min read

How to Install Ghost on Ubuntu 22.04

Install Ghost on Ubuntu 22.04 with our step-by-step tutorial. It's an intuitive content management system designed for bloggers and publishers.

Install Ghost on Ubuntu 22.04
Table of Contents

Choose a different version or distribution

Introduction

Before we begin talking about how to install Ghost on Ubuntu 22.04, let's briefly understand – What is Ghost?

Ghost CMS is a user-friendly content management system designed for bloggers and publishers. With a clean and intuitive interface, it allows you to create and manage your website's content easily. Ghost CMS focuses on simplicity, speed, and writing experience, providing powerful features like SEO optimization, custom themes, and integrations with popular tools. Whether you're a beginner or an experienced writer, Ghost CMS empowers you to craft engaging content and enhance your online presence efficiently.

In this tutorial, you will install Ghost CMS on Ubuntu 22.04 using the command terminal. We will also address a few FAQs on how to install Ghost on Ubuntu 22.04.

Advantages of Ghost CMS

  1. Simplicity: Ghost CMS offers an intuitive interface and user-friendly experience, making it easy to create and manage content.
  2. Speed: With its lightweight design, Ghost CMS ensures fast page load times, enhancing user experience and search engine rankings.
  3. Writing Experience: Ghost CMS prioritizes a distraction-free writing environment, allowing writers to focus on their content effortlessly.
  4. SEO Optimization: Built-in SEO features enable better visibility and higher search engine rankings for your website and its content.
  5. Customization: Ghost CMS supports custom themes and offers flexibility to personalize your website's design, giving it a unique and professional look.

Installing Ghost CMS on an Ubuntu 22.04 Linux Server

The instructions provided here can be used for other Ubuntu releases, such as 18.04 and 20.04, as well as Debian.

Step 1: Fully update Ubuntu 22.04

Let's first make sure that our desktop or server is up-to-date by running the system update and upgrade command. By carrying out this step, the APT package index cache will also be rebuilt.

sudo apt update && sudo apt upgrade

Step 2: Install Nginx

Install Ghost using the: Nginx is required for reverse proxy settings and SSL.

sudo apt install nginx

Step 3: Install MySQL 8

To store the data produced by the ProcessWire CMS, we can either utilize the MySQL Database Server installed on Ubuntu 22.04. We are using MariaDB Server in this case.

sudo apt install mysql-server

Enable, Start and check service status:

sudo systemctl enable --now mysql

Check:

systemctl status mysql

Use Ctrl+C to exit.

Login to MySQL first:

sudo mysql

Set root password:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'MyPassword@123';
ℹ️
You should replace MyPassword@123 with a secure password that you create.

Exit:

exit;

Secure your Database Installation:

Use the provided command and adhere to the wizard's instructions to secure our Database instance:

sudo mysql_secure_installation

The script will ask these questions.

By typing your chosen password and pressing Enter, you can enter the user root password.
alter the root password? Enter after pressing N.

Take away the anonymous users? Hit Y, then hit ENTER.

Disallow remote root logins? Hit Y, then hit ENTER.

Take away access to the test database and it? Hit Y, then hit ENTER.

Now reload the privilege tables? Hit Y, then hit ENTER.

Step 4: Create a Database for Ghost CMS

Use the root user's password you created for your database server to log in.

sudo mysql -u root -p

To create a new database, execute the command. But don't forget to change new_user to whatever name you want to give your database user, and new_db to whatever name you want to give your database, along with your_password for the password.

CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'your_password';
CREATE DATABASE new_db;
GRANT ALL PRIVILEGES ON new_db.* TO 'new_user'@'localhost';
FLUSH PRIVILEGES;
Exit;

Step 5: Install Node.js on Ubuntu 22.04

While writing this article, Node.JS versions 14.x and 16.x were supported; we are installing the LTS 16.x version.

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs

Step 6: Install Ghost CLI on Ubuntu 22.04

Since Node.js and its package manager NPM are already installed, we can quickly install the Ghost CMS on our Ubuntu 22.04 LTS server.

sudo npm install ghost-cli@latest -g

Step 7: Create a directory for Ghost files

The files and scripts required for the Ghost CMS platform to function will be stored in a special directory that will be created before installing Ghost.

sudo mkdir -p /var/www/ghost/

After that, assign the special user we've created for Ghost control of the newly formed directory.

sudo chown -R $USER:$USER /var/www/ghost/

Set reading and writing rights

sudo chmod 775 /var/www/ghost

Step 8: Use the CLI tool to install Ghost CMS.

To install this CMS on your PC, first switch to the user-created for the Ghost.

Switch to the directory created for Ghost:

cd /var/www/ghost

Run Ghost CMS installation command:

ghost install

Some questions will be posed to you by the aforementioned command:

Enter your blog URL: your blog url
Enter your MySQL hostname: localhost
Enter your MySQL username: new_user
Enter your MySQL password: [hidden]
Enter your Ghost database name: new_db
Do you wish to set up Nginx? Yes
Do you wish to set up Systemd? Yes
Do you want to start Ghost? (Y/n) Y

You will obtain the URL to access the Ghost Interface once the installation is finished.

Step 9: Create an Admin user

The setup wizard will appear as soon as you open the Ghost CMS, where it will ask you for your site title and other details. After that, proceed to creating your blog's front end and admin panel.

FAQs to Ghost CMS on Ubuntu 22.04 LTS Jammy JellyFish

What are the system requirements for installing Ghost CMS on Ubuntu 22.04 LTS (Jammy JellyFish)?

Ghost CMS requires Ubuntu 22.04 LTS (Jammy JellyFish) or later versions, Node.js v14 or later, MySQL or SQLite database, and at least 1 GB RAM.

Which database option is recommended for Ghost CMS on Ubuntu 22.04 LTS (Jammy JellyFish)?

Both MySQL and SQLite databases are supported, but MySQL is recommended for better performance and scalability.

How do I install and configure MySQL for Ghost CMS on Ubuntu 22.04 LTS (Jammy JellyFish)?

You can install MySQL by running sudo apt-get install mysql-server and then follow the configuration steps provided by the installation process.

Can I use a custom domain with Ghost CMS on Ubuntu 22.04 LTS (Jammy JellyFish)?

Yes, you can set up a custom domain for your Ghost CMS installation by configuring your DNS settings and updating the Ghost configuration file.

How do I secure my Ghost CMS installation on Ubuntu 22.04 LTS (Jammy JellyFish)?

You can secure your Ghost CMS installation by enabling SSL/TLS encryption, configuring a firewall, regularly updating your system and dependencies, and following security best practices.

Is it possible to customize the theme of my Ghost CMS on Ubuntu 22.04 LTS (Jammy JellyFish)?

Yes, Ghost CMS allows you to customize the theme by modifying the handlebars templates, CSS, and JavaScript files associated with your chosen theme.

How can I manage and publish content on Ghost CMS installed on Ubuntu 22.04 LTS (Jammy JellyFish)?

You can manage and publish content on Ghost CMS by logging into the admin panel via your browser, where you can create, edit, and publish your posts, manage tags, and customize settings.

Conclusion

We hope this detailed tutorial helped you understand how to install Ghost on Ubuntu 22.04.

If you have any suggestions or queries, kindly leave them in the comments section.

Great! You’ve successfully signed up.
Welcome back! You've successfully signed in.
You've successfully subscribed to DevOps Tutorials - VegaStack.
Your link has expired.
Success! Check your email for magic link to sign-in.
Success! Your billing info has been updated.
Your billing was not updated.