Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
World desk11 min

How to Create a Blog With Ghost, Step by Step (2026 Guide)

Create a Ghost blog using managed Ghost(Pro) or a self-hosted Ubuntu VPS. This guide covers requirements, DNS, Ghost-CLI installation, SSL, publishing, newsletters and maintenance.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

There are two practical ways to create a Ghost blog: use Ghost(Pro), the managed hosted service, or install the free, open-source Ghost software on a server you control. Ghost(Pro) removes server administration and is the quickest route. Self-hosting costs less at the software level and gives you more control, but you must maintain the server, database, security, backups and email delivery.

This guide explains both routes, then walks through a production-oriented self-hosted installation on Ubuntu. The exact installer prompts can change between Ghost releases, so use the current Ghost documentation alongside these steps when you reach a version-specific screen.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose between Ghost(Pro) and self-hosting

Your first decision affects cost, setup time and who is responsible when something breaks.

Factor Ghost(Pro) Self-hosted Ghost
Infrastructure Ghost provides and operates the hosting. You provide a VPS or other compatible server.
Setup effort Create an account, choose a plan and configure the publication. Configure DNS, Ubuntu, NGINX, Node.js, MySQL, SSL and Ghost-CLI.
Software cost Subscription required; no free tier was reported. Ghost software is free and open source.
Ongoing work Ghost handles the platform’s server maintenance. You handle updates, backups, monitoring, SSL renewal and troubleshooting.
Control Less infrastructure control, with a simpler operating model. More control over the server and configuration, with more responsibility.
Newsletter delivery Use the features and limits included with your Ghost(Pro) plan. Arrange an external email delivery service for bulk newsletters.

When Ghost(Pro) is the better choice

Choose the managed service if you want to publish rather than administer Linux. It is suitable when predictable operations, a quicker launch and provider-managed infrastructure matter more than controlling every component. Ghost(Pro) is paid, and plan limits and prices can change, so check the current Ghost pricing page before subscribing. Third-party pricing pages consulted for this guide reported approximately $15 per month when billed annually for a 1,000-member starter tier, approximately $18 month-to-month for that tier, about $29 per month billed annually for a Publisher tier and about $199 per month for a Business tier. Those figures are indicative reports dated before October 14, 2026, not confirmed quotations; treat the official checkout as authoritative.

#1 Best Overall
CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (8GB RAM)
  • Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM)
  • Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
  • CanaKit Turbine Black Case for the Raspberry Pi 5
  • CanaKit Low Noise Bearing System Fan
  • Mega Heat Sink - Black Anodized

When self-hosting makes sense

Self-hosting is appropriate if you are comfortable administering a VPS, need configuration control, or want to pay directly for infrastructure instead of a managed subscription. A third-party guide estimated that a small site can start on a $5–$7-per-month VPS, but the server is only one part of the operating cost. Add domain registration, backups, monitoring and an email provider, and budget for your own time.

What you need before installing Ghost yourself

Ghost’s official Ubuntu installation requirements list the following baseline components:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Ubuntu 22.04, 24.04 or 26.04.
  • NGINX 1.9.5 or newer.
  • A supported Node.js version. Ghost’s documentation should determine the version for the Ghost release you install.
  • MySQL 8.0 or 8.4.
  • systemd.
  • At least 1 GB of memory.
  • A registered domain name.

The requirements are a starting point, not a guarantee that every inexpensive VPS will perform equally well. A publication with many concurrent visitors, large images or several integrations may need more memory and storage. Check available disk space before installation and leave room for database growth, image uploads, logs and backups.

Use a clean server

Install Ghost on a newly provisioned Ubuntu server whenever possible. Existing web servers, reverse proxies, database packages and firewall rules can conflict with the installer. Record the server’s public IPv4 address and keep your provider’s recovery or console access available in case a remote configuration mistake locks you out.

Register the domain and plan DNS

You need a domain before the production install. Create an A record for the blog hostname, such as blog.example.com, pointing to the VPS’s public IP address. If the blog will be at the root domain, use the root-domain A record your DNS provider provides. Set DNS before running the installer because Ghost’s HTTPS setup can request a Let’s Encrypt certificate during installation; certificate issuance requires the hostname to resolve to the server.

DNS changes can take time to appear at different resolvers. Confirm that the hostname resolves to the intended IP address before beginning the SSL portion of the setup. Do not point the domain at an old server while the installer is trying to validate it.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Route A: create a Ghost(Pro) blog

The managed route avoids Linux administration. The names and order of screens can change, but the workflow is straightforward.

Rank #2
CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (4GB RAM)
  • Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (4GB RAM)
  • Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
  • CanaKit Turbine Black Case for the Raspberry Pi 5
  • CanaKit Low Noise Bearing System Fan
  • CanaKit Mega Heat Sink - Black Anodized
  1. Create a Ghost(Pro) account. Select the publication or plan that fits your expected members and publishing needs. Ghost(Pro) is subscription-only; verify the current recurring price and included limits before paying.
  2. Choose the publication address. Start with the Ghost-provided address if you want to configure the site before connecting a custom domain, or enter your domain when the setup flow asks for it.
  3. Connect your domain. Ghost will show the DNS records required for your hostname. Add those records at your DNS provider, then wait for the service to verify them.
  4. Open the admin area. Create your owner account, set a strong password and enable any available multi-factor authentication. Keep recovery details somewhere secure.
  5. Select and customize a theme. Use the design settings to set the publication name, logo, icon, colors, navigation and social links. Preview on a phone-sized viewport before publishing the changes.
  6. Create your first post. Open the editor, add a title, write the article, insert images or cards as needed, set the feature image and choose the publication date. Preview the post, then publish immediately or schedule it.
  7. Configure members and newsletters. Decide whether visitors can subscribe, whether newsletters are enabled and what confirmation or welcome messages they receive. Test the signup flow with an address you control before promoting it.

The managed route is complete when the domain resolves, HTTPS works, the admin account is protected and a test reader can load the site, subscribe and receive the expected message.

Route B: install Ghost on Ubuntu

The following procedure is for a fresh Ubuntu VPS that meets Ghost’s stated requirements. It intentionally avoids hard-coding a Node.js release because Ghost’s supported version can change; install the version named by the current official requirements for the Ghost release you select.

1. Log in and update the operating system

Connect to the server over SSH with an administrative account that can use sudo. Apply available security updates and reboot if the operating system requests it. The exact commands depend on your provider’s image and access policy, so follow its normal Ubuntu update procedure before installing application software.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2. Create a normal deployment user

Ghost-CLI expects to install Ghost under a regular user with sudo access rather than a root shell. Create a deployment user according to the Ubuntu administration instructions for your provider, grant the minimum sudo access needed for installation and use SSH keys instead of a password when practical.

Do not create a system user named ghost. Ghost’s official guide warns that this name conflicts with Ghost-CLI. The application directory and deployment username can use another name, such as your own administrative username.

3. Install the required platform components

Install and verify NGINX, MySQL 8.0 or 8.4, the Node.js version supported by your Ghost release and systemd. Ghost’s installer uses NGINX as the web-facing reverse proxy and MySQL for production data. Remove or disable unrelated services that are already binding to ports 80 or 443.

Secure the MySQL installation using your distribution’s normal hardening process. Create a database and database user through the Ghost installer or the official installation procedure; do not reuse a personal administrator password in application configuration.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
CanaKit Raspberry Pi 5 Essentials Starter Kit (4GB RAM)
  • CanaKit Raspberry Pi 5 Essentials Starter Kit

4. Install Ghost-CLI

Install the command-line tool globally with npm:

sudo npm install ghost-cli@latest -g

Confirm that the command is available before proceeding:

ghost --version

If npm reports a Node.js compatibility error, stop and install the Node.js version supported by the Ghost release instead of forcing the installation with an unsupported runtime.

5. Prepare the site directory

Create a dedicated directory for the publication and give your deployment user ownership of it. The official Ghost installation guide shows the recommended directory layout and permissions for your Ubuntu release. Avoid installing into a directory served directly as static files by another web server; Ghost should run behind the NGINX configuration created by Ghost-CLI.

6. Run the Ghost installer

From the publication directory, run:

ghost install

The installer asks for values such as the blog URL, database details, an administrator account and whether to configure NGINX and SSL. Answer each prompt using the domain that already points to this server. Allow the installer to configure NGINX as a reverse proxy and request a Let’s Encrypt certificate when the prompts match your intended production setup.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

An older Ubuntu 18.04 guide documents this general behavior, including automatic NGINX and Let’s Encrypt configuration, but current prompts and flags may differ. Follow the current Ghost-CLI output rather than copying flags from an old tutorial. If a prompt offers a test or development mode, do not select it for a public production blog unless you understand the consequences.

7. Verify the installation

After the installer completes, check the site in a browser over HTTPS and open the admin path shown by Ghost. Verify all of the following:

  • The public URL redirects to HTTPS without a certificate warning.
  • The homepage loads without NGINX 502 or 504 errors.
  • You can sign in to the owner account.
  • The admin interface can save a draft and upload an image.
  • The server’s Ghost process is running under the intended non-root account.
  • The domain in Ghost’s settings exactly matches the public hostname, including the protocol.

Keep the terminal output from the installation. It records the directory, service and configuration choices that you will need during recovery.

Rank #4
CanaKit Raspberry Pi 5 16GB Starter Kit PRO - Turbine Black (128GB Edition) (16GB RAM)
  • Includes Raspberry Pi 5 16GB with 2.4Ghz 64-bit quad-core CPU (16GB RAM)
  • Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
  • CanaKit Turbine Black Case for the Raspberry Pi 5
  • CanaKit Low Noise Bearing System Fan
  • Mega Heat Sink - Black Anodized

Set up the publication in Ghost

Create and protect the owner account

Use a unique password that is not reused on your hosting account or domain registrar. If Ghost presents a multi-factor authentication option, enable it and store the recovery method offline. The owner account controls themes, integrations, members and staff access, so do not share it for routine writing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Configure the publication identity

In the admin settings, enter the publication title, description, logo, icon, accent color and social profiles. Keep the title and description specific enough that a first-time visitor understands the subject. Add a navigation link only after testing it in a private browser window.

Choose a theme and check responsive behavior

Install a theme compatible with your Ghost version, then preview it at desktop and mobile widths. Check the header, navigation, post template, author details, tag pages, search or membership components and the footer. A theme can change the available design controls, so do not assume that a setting documented for one theme exists in another.

Publish the first post

  1. Open the editor and enter a clear headline.
  2. Write the article in the editor, using headings, lists and images where they improve scanning.
  3. Add a feature image with appropriate dimensions and descriptive alternative text when the theme supports it.
  4. Set the URL slug, tags, author and excerpt if your theme displays them.
  5. Use preview to check typography, links, image loading and the appearance of embedded cards.
  6. Publish now or schedule a date and time. Reopen the live URL in a logged-out browser to test what readers see.

Configure members, comments and newsletters

Ghost can support memberships and newsletters, but a self-hosted installation still needs a dependable email-delivery arrangement. Bulk newsletter sending is a separate service concern from hosting the website. A third-party self-hosting guide names Mailgun as one possible provider; choose a service that supports your sending region, volume and authentication requirements.

Authenticate your sending domain

Follow the email provider’s instructions for SPF, DKIM and any DMARC records. Add the records at the DNS provider for the same domain used by your publication. Send a test message to more than one mailbox provider and inspect the headers for authentication results before inviting a large audience.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Test the entire signup path

Use a test address to subscribe, confirm the address if double opt-in is enabled, receive the welcome email, unsubscribe and subscribe again. Check that the publication name, sender address, links and unsubscribe mechanism are correct. Keep a separate test account so you can repeat this after an upgrade or theme change.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Maintenance responsibilities for a self-hosted blog

Self-hosting is not finished when the homepage loads. Establish a routine before publishing regularly.

Best Value
CanaKit Raspberry Pi 5 Essentials Starter Kit (8GB RAM)
  • Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM)
  • Includes 32GB EVO+ Micro SD Card pre-loaded with 64-bit Pi OS, USB MicroSD Card Reader
  • CanaKit Turbine Black Case for the Raspberry Pi 5
  • CanaKit 45W PD Power Supply for the Raspberry Pi 5
  • Display Cable - 6 foot (Supports up to 4K 60p)
  • Updates: Monitor Ghost release notes and apply Ghost, Node.js, Ubuntu, NGINX and MySQL updates that are supported together. Test a major upgrade on a backup or staging copy when possible.
  • Backups: Back up the MySQL database, uploaded images, theme files and configuration. Store at least one copy outside the VPS. A backup that remains on the same disk does not protect you from disk failure or account loss.
  • SSL: Confirm that certificate renewal is working and that port 443 remains reachable. A certificate expiring silently can make the entire publication appear offline.
  • Monitoring: Watch disk usage, memory, service status, error logs and certificate expiry. Set an alert before the VPS reaches full disk capacity.
  • Access control: Remove unused SSH keys and staff accounts, keep sudo access limited and use a firewall policy appropriate for SSH, HTTP and HTTPS.
  • Email reputation: Monitor bounces, complaints and unsubscribe requests. Poor list hygiene can damage delivery even when the website itself is healthy.

Troubleshoot the problems that stop most Ghost launches

The installer cannot obtain an SSL certificate

Check that the A record points to this VPS, that the hostname in the installer is spelled exactly as the DNS record, and that ports 80 and 443 are reachable from the internet. Remove conflicting proxy or redirect rules temporarily, wait for DNS to converge and rerun the certificate step through the supported Ghost-CLI workflow.

NGINX returns 502 Bad Gateway

A 502 usually means NGINX cannot reach the Ghost process. Check the Ghost service status and logs, confirm that the process is listening on the local address configured by Ghost-CLI and verify that the deployment user can read the application directory. Do not expose the application port publicly as a substitute for fixing the reverse proxy.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Ghost-CLI rejects the Node.js version

Use the Node.js version listed as supported for your Ghost release. The requirement is release-dependent; one third-party Ubuntu 24.04 guide associates Ghost 6.x with Node.js 22 LTS, while another claim mentions Node.js 22 or 24 LTS. Those conflicting claims are not a substitute for the official support matrix. Do not upgrade Node.js blindly on a working production site without checking Ghost compatibility and making a backup.

The site runs out of memory

Review memory usage, database size, image processing and other services on the VPS. Stop unnecessary services, optimize oversized uploads and move to a larger instance if the workload genuinely exceeds the minimum 1 GB requirement. Increasing swap can reduce abrupt process termination in some situations, but it is not a replacement for adequate physical memory.

Newsletter messages do not arrive

Separate website availability from email delivery. Check the external provider’s sending status, DNS authentication records, bounce logs and spam-folder placement. Verify that the sender domain is authorized and that the recipient completed any confirmation step. A functioning Ghost admin screen does not prove that bulk email is configured.

How to choose your launch route

  • Choose Ghost(Pro) if you want the shortest path, do not want to maintain Linux and can accept a recurring subscription.
  • Choose self-hosting if you can patch a server, maintain backups and troubleshoot NGINX, MySQL, DNS, SSL and email.
  • Start with Ghost(Pro) if your priority is validating a publication idea; migrate only after you have a clear operational reason and a tested export and import plan.
  • Self-host only when the lower software cost or additional control justifies the maintenance time and separate email-service cost.

Whichever route you select, launch with a verified domain, HTTPS, a protected owner account, a tested first post and a working signup and email flow. Those checks matter more to readers than whether Ghost is running on your server or Ghost’s.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quick Recap

Bestseller No. 1
CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (8GB RAM)
CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (8GB RAM)
Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM); CanaKit Turbine Black Case for the Raspberry Pi 5
$259.95
Bestseller No. 2
CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (4GB RAM)
CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (4GB RAM)
Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (4GB RAM); CanaKit Turbine Black Case for the Raspberry Pi 5
$209.99
Bestseller No. 3
CanaKit Raspberry Pi 5 Essentials Starter Kit (4GB RAM)
CanaKit Raspberry Pi 5 Essentials Starter Kit (4GB RAM)
CanaKit Raspberry Pi 5 Essentials Starter Kit
$189.99
Bestseller No. 4
CanaKit Raspberry Pi 5 16GB Starter Kit PRO - Turbine Black (128GB Edition) (16GB RAM)
CanaKit Raspberry Pi 5 16GB Starter Kit PRO - Turbine Black (128GB Edition) (16GB RAM)
Includes Raspberry Pi 5 16GB with 2.4Ghz 64-bit quad-core CPU (16GB RAM); CanaKit Turbine Black Case for the Raspberry Pi 5
$419.99
Bestseller No. 5
CanaKit Raspberry Pi 5 Essentials Starter Kit (8GB RAM)
CanaKit Raspberry Pi 5 Essentials Starter Kit (8GB RAM)
Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM); Includes 32GB EVO+ Micro SD Card pre-loaded with 64-bit Pi OS, USB MicroSD Card Reader
$229.99

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.