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

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To self-host Ghost, rent an Ubuntu VPS, point your domain’s DNS to its IP address, create a non-root sudo user, install a Ghost-supported Node.js release, MySQL 8.0 or 8.4, and Nginx, then run ghost install from a directory your user owns. Ghost-CLI can configure the database connection, Nginx, a Let’s Encrypt certificate, and a systemd service when you accept its prompts.

The sequence matters. DNS must resolve before certificate issuance, the CLI must not run as root, and the Node.js version must match the Ghost release you are installing. The procedure below separates fixed requirements from version-sensitive choices so you can check the current Ghost documentation at installation time.

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

What self-hosting Ghost on a VPS means

A VPS is a virtual Linux server whose operating system, memory, storage, networking, and software you control. With Ghost self-hosted, the Ghost application runs on that server rather than on a managed publishing service. You supply the domain, server, database, updates, and operational care; Ghost supplies the publishing application.

A typical deployment has four layers:

  • DNS: your domain’s A record directs visitors to the VPS IP address.
  • Nginx: the web server accepts HTTP and HTTPS traffic and passes requests to Ghost.
  • Ghost: a Node.js application installed in a directory owned by your deployment user.
  • MySQL: the supported production database for Ghost.

Ghost-CLI is the supported shortcut for wiring those layers together. It asks for your domain, database details, and permission to configure Nginx, SSL, and systemd. A manual Nginx setup is possible, but it leaves more configuration to you.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application:Upgraded attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.

Requirements for a Ghost CMS VPS setup

Ubuntu and Ghost-CLI support

The official Ghost Ubuntu guide currently lists Ubuntu 22.04, 24.04, and 26.04. Ghost-CLI guidance says the CLI runs on Ubuntu and should not be run as root. Choose one of those supported releases rather than assuming that any Linux distribution or an older Ubuntu image will work.

Create a normal user with sudo access for the installation. Do not name that account ghost: Ghost-CLI creates a system user with that name, so using it for your login can create a collision.

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

Node.js: verify the Ghost-release match

Node.js is not a “pick the newest version” decision. Published guidance differs: one installation guide recommends Node.js 22 LTS, another says Ghost 6 supports Node.js 22 or 24 LTS, and older Ghost 5.x material refers to Node.js 18 and 20. Those statements apply to different Ghost generations. Check the current compatibility requirement for the exact Ghost version you will install, then install that Node.js LTS release before running the CLI.

If the Node.js major version is outside Ghost’s supported range, installation or later upgrades can fail even when every other server component is configured correctly. Record the Ghost version and Node.js major version together so a future upgrade does not silently change the runtime.

MySQL, not an unsupported production database

Use MySQL 8.0 or 8.4 for a production Ghost installation. The production support guidance does not list MariaDB or PostgreSQL as supported alternatives. Create a dedicated MySQL database and a dedicated MySQL user for Ghost; keep those credentials available for the installer, but do not reuse a server administrator account for the application.

Memory and server capacity

Ghost’s official documentation lists 1 GB of RAM as the minimum. A hosting guide recommends 2 GB for a more comfortable general installation and suggests 4 GB when the site will send newsletters. These are guidance figures, not performance benchmarks, and the required capacity also depends on traffic, themes, integrations, image processing, and background work.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Use case RAM guidance How to interpret it
Absolute floor 1 GB Ghost’s documented minimum; leaves little room for other services or traffic spikes.
Typical blog 2 GB recommended by a hosting guide A more practical starting point for a single Ghost site, subject to workload.
Newsletter sending 4 GB suggested by the same guide Extra headroom for newsletter-related work; still not a measured guarantee.

Choose the RAM tier before installation. Increasing memory later is usually easier than diagnosing repeated process failures on an undersized VPS, but the exact resize process depends on your VPS provider.

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth

Nginx, systemd, SSL, and a domain

Ghost’s documented web stack expects Nginx 1.9.5 or later for SSL, systemd for service management, and a registered domain. Ghost-CLI can install or configure the Nginx site, request a Let’s Encrypt certificate, and create the systemd service. If you already maintain Nginx yourself, you can follow the manual path in the official documentation instead of accepting the automated configuration.

How to self host ghost: the installation sequence

1. Point DNS before running the installer

In your domain registrar’s DNS panel, set the domain’s A record to the VPS’s public IPv4 address. If you will use a separate subdomain, point that hostname instead. Wait until the hostname resolves to the VPS before requesting SSL; Let’s Encrypt must be able to reach the domain to validate it.

DNS propagation commonly takes about 5 to 30 minutes, although resolvers can cache records for longer. Opening the domain in a browser before installation is a useful basic check: it should resolve to the new server, even if it only shows a default Nginx response.

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

2. Log in with a non-root sudo user

Use the administrator account supplied by your VPS provider only to create or authorize a separate sudo user. Log out of the root shell, sign in as that user, and perform the Ghost installation there. Ghost-CLI is explicitly not intended to be run as root. Running it as root can produce incorrect ownership and conflicts with the system user the CLI creates.

Keep the username different from ghost. The installer uses that name internally, so reserving it avoids an account collision.

3. Install the operating-system components

Install Nginx, MySQL, and the Node.js release required by your Ghost version. Use the package and repository instructions appropriate to your selected Ubuntu release and verify that each component starts successfully before moving on. Do not substitute MariaDB or PostgreSQL for the production database.

During MySQL setup, create the Ghost database and its application user. The installer will ask for the database host, name, username, and password. Supplying a database user with only the permissions needed by Ghost is preferable to using MySQL’s administrative account.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

4. Install Ghost-CLI globally

With Node.js and npm available to your non-root sudo user, install the current CLI package globally:

npm install -g ghost-cli@latest

The package name is deliberately versioned as latest in the documented flow. The CLI version and the Ghost version are related but not identical: the CLI installs and manages Ghost, while the Ghost application has its own release and Node.js compatibility requirements.

5. Create an owned installation directory

Choose a dedicated directory such as /var/www/ghost and make your sudo user its owner. Run the installer from inside that directory. Ghost-CLI needs to create application files, configuration, logs, and service-related metadata there; running from a directory owned by another account commonly causes permission failures.

6. Run the installer and answer every prompt

From the empty, user-owned directory, run ghost install. The prompts cover:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Site URL or domain: enter the hostname whose DNS now points at the VPS.
  2. MySQL connection: provide the database name, database user, password, and host created for Ghost.
  3. Nginx: allow Ghost-CLI to create the site configuration if you want automated reverse-proxy setup.
  4. SSL: allow the Let’s Encrypt request after DNS resolves correctly.
  5. Systemd: allow creation of the service that starts and supervises Ghost.

Read each confirmation rather than accepting defaults blindly. The domain, database, and SSL prompts refer to resources you prepared in earlier steps; a typo in any of them can make the installation appear successful while leaving the site unreachable.

What Ghost-CLI configures for you

Nginx front end

When you approve the Nginx step, Ghost-CLI writes the site configuration needed to receive web requests and pass them to the Ghost process. This avoids hand-editing a reverse-proxy configuration and keeps the domain entered during installation tied to the generated server block.

Let’s Encrypt HTTPS

The SSL step requests a certificate from Let’s Encrypt and configures HTTPS. Certificate issuance depends on public DNS resolution and reachability. If the A record still points elsewhere, the request fails regardless of whether Ghost itself is installed correctly.

Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.

systemd service

Ghost-CLI can create a systemd service so Ghost starts with the server and can be controlled through the operating system’s service manager. This is preferable to leaving the application attached to an interactive shell. It also gives you a defined service to restart when the process needs to be reloaded.

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.

Verifying a new ghost on vps installation

Check the public URL

Visit the exact domain entered in ghost install. Confirm that the browser reaches Ghost over HTTPS, that the certificate is valid for the hostname, and that the Ghost front end loads without a default Nginx page or certificate warning.

Check the administrative area

Open Ghost’s administration URL for the site and sign in with the administrator account created during setup. Create a private draft and preview it before publishing. This verifies application routing, database writes, and the theme rendering path without exposing unfinished content.

Check service ownership and persistence

Reboot testing is valuable after the first successful login: the systemd service should bring Ghost back without a manual Node.js command. If the site disappears after logout or reboot, the process was likely started interactively rather than through the configured service.

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

Common failures and how to recover

Let’s Encrypt cannot validate the domain

First confirm that the domain’s A record returns the VPS address from outside your network. Allow for the documented 5-to-30-minute propagation window, then retry the SSL step. A stale record, a misspelled hostname, or a domain still directed at an old server prevents validation.

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

Ghost-CLI reports that it is running as root

Stop the installation, log in with the non-root sudo user, verify ownership of the installation directory, and run the CLI there. Do not work around the warning by forcing the command as root; that can leave files owned by root and make later upgrades fail.

Node.js is rejected or Ghost will not start

Compare the installed Node.js major version with the compatibility statement for your Ghost release. Do not rely on a guide written for another Ghost generation. Install the supported LTS major, then rerun the installation or restart the service as appropriate.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.

Database connection or migration errors

Recheck the database host, database name, username, and password entered at the prompts. Confirm that the MySQL service is running and that the Ghost database user can access the selected database. MariaDB and PostgreSQL substitutions are not a supported production fix.

The site is unreachable immediately after installation

Separate DNS, Nginx, SSL, and application checks. If the hostname resolves to the wrong IP, fix DNS first. If DNS is correct but HTTPS fails, inspect the Nginx and certificate steps. If HTTPS works but Ghost returns an application error, check the systemd service status and the database connection rather than changing DNS again.

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.

MySQL stops after an Ubuntu kernel update

One documented failure pattern is a MySQL crash following an Ubuntu kernel update. Once MySQL is healthy again, restart the Ghost service so the application reconnects. If the database still fails to start, consult the MySQL and Ubuntu logs before attempting another Ghost installation.

Updating and maintaining Ghost

A CLI-based installation keeps Ghost’s application files and service configuration in a predictable layout, and one hosting guide claims that this makes core updates simpler than a Docker-based deployment. That is a vendor claim, not an official performance measurement. Treat every update as an operational change: confirm the Ghost release’s Node.js requirement, ensure MySQL is available, and use the current Ghost documentation for the exact update command because the command was not established in the installation references summarized here.

Do not update Node.js independently of Ghost’s compatibility matrix. A runtime change that looks harmless can prevent the existing Ghost release from starting. Likewise, changing the domain or Nginx configuration outside Ghost-CLI can invalidate the assumptions used by the generated service and SSL setup.

This installation procedure does not replace a separate plan for operating-system patching, access control, backups, monitoring, or recovery testing. Those controls are essential for a public site, but their exact commands depend on your VPS provider and organizational requirements.

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

Choosing a VPS for Ghost

Decision Minimum or supported position Practical choice
Operating system Ubuntu 22.04, 24.04, or 26.04 in the current official guide Use one of those releases and keep its support lifecycle in mind.
RAM 1 GB minimum 2 GB is a more comfortable starting point for a normal blog; consider 4 GB for newsletter workloads.
Database MySQL 8.0 or 8.4 Provision a dedicated database and application user.
Runtime Must match the Ghost release Verify the current Node.js LTS requirement immediately before installation.
Web and service layer Nginx 1.9.5 or later, systemd, registered domain Let Ghost-CLI configure Nginx, HTTPS, and systemd unless you have a reason to manage them manually.

Final preflight checklist

  • The VPS runs a currently supported Ubuntu release.
  • Your login is a non-root sudo user whose name is not ghost.
  • The domain’s A record points to the VPS IP and has had time to propagate.
  • The Node.js major version is approved for the exact Ghost release.
  • MySQL 8.0 or 8.4 is installed, running, and has a dedicated Ghost database and user.
  • The server has at least 1 GB RAM; 2 GB is a stronger baseline, and newsletter sending may justify 4 GB.
  • You are inside a directory owned by your user before running ghost install.
  • You understand which prompts will create Nginx, Let’s Encrypt SSL, and systemd configuration.

When those checks pass, the Ghost-CLI path is the shortest reliable route to a production-style Ghost blog on a VPS: prepare DNS and supported software first, install as a normal sudo user, and let the CLI create the web, certificate, and service plumbing.

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.