Loading...

Purchase a Self-Managed VPS with Ghost Installation

Ghost is a versatile publishing platform used across multiple industries for managing content, newsletters, and memberships. It is mainly used for web publishing and can be described as an easy way to add professional publishing capabilities to any website or business. Ghost was first introduced as an open-source blogging platform, but it now offers many more features and use cases.

Why Use Ghost?

Ghost lets you launch a fast website, send beautiful newsletters, and run a paid subscription business from one simple dashboard. Everything you need is built right in, so you can skip confusing plugins and just focus on your writing. Your pages load instantly, your emails reach readers' inboxes, and you keep 100% of your revenue.

Uses of Ghost

There are many applications of Ghost in different fields:

  • Premium Memberships: Create exclusive content tiers and lock specific articles behind a paywall to turn occasional readers into paying supporters.
  • Integrated Newsletters: Deliver your latest stories directly to subscribers inboxes automatically every time you publish, bypassing social media algorithms.
  • Independent Journalism: Launch a fully independent news site or niche magazine with zero platform fees, allowing you to keep 100% of your subscription revenue.
  • Corporate Blogs: Build a fast-loading, highly secure company publication that boosts search engine rankings and captures clean marketing leads.
  • Content Hubs: Manage a sleek, distraction-free home for podcasts, video series, or text articles without wrestling with clunky website plugins.

This flexibility makes Ghost an excellent choice for creators and companies wanting to grow a professional audience with total peace of mind.

How to Purchase a Self-Managed VPS Hosting with Ghost Installation

To get started with Ghost on Bluehost, you first need to purchase a Self-Managed VPS plan. Follow the steps below:

Pre-configured Setup

Self-Managed VPS - Pre-configured Setup New to VPS or not sure where to start? No worries! At the top of the Self-Managed VPS purchase page, you’ll see the Pre-configured Setup section. This handy feature is perfect if you’re feeling a bit unsure—just pick the type of project you want, like WordPress Site, AI Agent/Claude Code, Dev/Staging, or eCommerce Store. We’ll take care of the rest by automatically filling in the best plan, operating system, and template for you.
  • Super simple for beginners or anyone who just wants a quick setup
  • Instantly get the recommended settings for your project
  • Skip the guesswork and save time
  • You can still customize things later if you want
Give the Pre-configured Setup a try and get your Bluehost Self-Managed VPS up and running in no time!
  1. In your browser, go to https://www.bluehost.com/vps-hosting.
  2. Click the Choose Plan button under your preferred VPS hosting plan.

    VPS Hosting-Choose Plan
     

  3. Select your preferred Data Center location.

    Select Location
     

  4. On the Cart page, you can configure your server to fit your needs in the following section:
    1. Hardware:
      1. Pre-selected:

        You can select a different Self-Managed VPS plan in this section.

        Pre-selected
         

      2. Configure:

        Click Configure to customize your package.

        Configure your server
         

    2. Software:
      1. Click on the Application Tab.
      2. Choose Ghost.

        select ghost
         

      3. Click Confirm to continue.

        select ghost- confirm
         

  5. Add-Ons:
    • Premium Support:

      This service provides you with priority access to our expert team for faster responses and personalized assistance whenever you need it.

      Add-ons
       

  6. In the Advanced options:
    • Extra IP's: You can add extra IP addresses for an additional fee.
      Pricing changes based on how many IPs you add.
    • Hostname: Assign a custom hostname to easily identify your server. This is optional.

    Advanced Options
     

  7. Select your preferred billing term and view your Order Summary. Click the Continue to Checkout button to proceed.

    ghost-service-terms
     

  8. Do the following on the Checkout page:  
    1. Create your Bluehost account by using your email address or by connecting with your Google, Apple, or GitHub account — whichever you prefer!

      Checkout page - Create an account

    2. Select your preferred payment method: credit card, Google Pay, or PayPal. Enter your billing information.

      Checkout page - Billing Information

    3. If you have an account with us, you will see your Bluehost login details when you are logged into your Bluehost Portal. If you are not logged in, please click the Log In link.

      Virtual Dedicated Server - Log in

  9. In the Shopping Cart section, you can still adjust your billing term if needed.

    Self-Managed VPS - service terms
     

  10. Review the items in your cart, add a Promo Code if you have one, and then click Submit Payment to complete the purchase.

    Self-Managed VPS - service terms
     

After checkout, your Self-Managed VPS will begin setting up. Once it’s ready, you can find it under the Hosting tab in your Bluehost Portal.

How to Set Up Ghost

  1. Log in to your server via SSH.
    When you log in for the first time, you're greeted with a welcome message that includes all the essential commands and instructions for setting up Ghost. The content looks like this:
    
    Welcome to Ubuntu 24.04.4 LTS (GNU/Linux 6.8.0-117-generic x86_64)
    ********************************************************************************
    
      Ghost Publishing Platform
      Ghost   : 6.42.0
      Nginx   : active
      MySQL   : active
      Node.js : v22.22.2
    
      Blog    : http://50.6.6.130/
      Admin   : http://50.6.6.130/ghost/   (create your account on first visit)
    
      SSH : port 22  |  HTTP : port 80  |  HTTPS : port 443 (UFW open; add SSL cert to activate)
      UFW enabled
    
      Credentials (generated on first boot):
        cat /root/.app_passwords
    
      Quick start:
        su - ghostapp                  # switch to the Ghost service user
        ghost status                   # check Ghost process status
        ghost restart                  # restart Ghost
        ghost update                   # update to latest version
    
      Service management:
        systemctl status nginx         # Nginx reverse proxy
        systemctl status mysql         # MySQL database
        tail -f /var/www/ghost/content/logs/http___*_production.log
    
      Enable HTTPS (post-deploy):
        1. Point your domain DNS to this server's IP
        2. Run the SSL setup script (uses acme.sh bundled with Ghost):
             bash /opt/ghost/setup-ssl.sh yourdomain.com
        3. Update Ghost's URL to match:
             runuser -l ghostapp -c "ghost config set --dir /var/www/ghost url 'https://yourdomain.com'"
        4. ghost restart --dir /var/www/ghost
    
      For full details refer: /root/README.md
    
    ********************************************************************************
      To delete this message of the day: rm -rf /etc/update-motd.d/99-ghost
    ********************************************************************************
        
  2. View your first-boot credentials and URLs:

    On first boot, cloud-init generates all credentials (database, URLs) in /root/.app_passwords. Run:

    cat /root/.app_passwords

    Example Output:

    
    ghost_db_user="ghostapp"
    ghost_db_pass="23682b410ee4c0cf3e0193170930c52d45c5466d560bea45"
    ghost_db_name="ghost_prod"
    ghost_blog_url="https://50.6.6.130/"
    ghost_admin_url="https://50.6.6.130/ghost/"
    
    # ghost_magic_link: NOT available yet.
    # Magic links can only be generated AFTER the Setup Wizard is completed
    # and an admin account exists. To mint one post-setup, run:
    #
    #   curl -s -X POST http://localhost:2368/ghost/api/admin/authentication/magic-link/ \
    #     -H "Content-Type: application/json" \
    #     -d '{"email":"","emailType":"signin"}'
    #
    # The link will be emailed to the admin address (if SMTP is configured)
    # or can be retrieved from the Ghost logs.
        
  3. Access the Ghost Admin panel in your browser and set up your admin user:
    http://<server-ip>/ghost/
    • Open this URL in your browser (replace <server-ip> with your actual server IP from the credentials file).
    • Follow the on-screen wizard to create your admin account. This is only needed once.
  4. If you want API access, use the Content API endpoint:
    
    curl http://<server-ip>/ghost/api/content/posts/?key=<content-api-key>
        
    • Get your Content API key from the Ghost Admin panel.
  5. Use the Ghost CLI for management (run as the ghostapp user):
    
    su - ghostapp
    ghost status                    # show Ghost process status
    ghost restart                   # restart Ghost
    ghost update                    # update Ghost to latest version
    ghost log                       # tail the Ghost log
    ghost ls                        # list all Ghost installations
        
  6. Service management commands (run as root):
    
    systemctl status 'ghost_*'        # Ghost systemd unit
    systemctl status nginx            # Nginx reverse proxy
    systemctl status mysql            # MySQL database
    journalctl -u 'ghost_*' -f        # follow Ghost journal logs
    
    tail -f /var/www/ghost/content/logs/ghost.log
    tail -f /var/www/ghost/content/logs/http___localhost_production.log
        
  7. Run the test suite (advanced):
    prove /root/app_test/main.t

Additional Links

Summary

Ghost is a powerful and flexible publishing platform that makes it easy to create, manage, and monetize content. With Self-Managed VPS Hosting from Bluehost, you can quickly set up Ghost and take full control of your publishing experience.

Loading...