Purchase a Virtual Dedicated Server with Moodle Installation
Build custom, secure online learning environments effortlessly with Moodle. Whether you teach a small class or manage enterprise corporate training, Moodle scales seamlessly to match your exact needs. Start creating flexible, personalized learning experiences today.
This article explains how to purchase a Bluehost Virtual Dedicated Server (VDS) hosting plan and set up and manage your Moodle Installation.
Why Choose Moodle?
A VDS gives your Moodle installation dedicated resources, so your platform stays fast even during peak exam times. You control the server fully, letting you customize performance, security, and plugins to fit your exact needs. This setup delivers dedicated-server-level performance at VDS pricing, so you get room to grow without switching platforms.
Uses of Moodle
A VDS gives Moodle the power to handle every use case below without slowing down, even as your courses, users, and content grow.
- Online Course Delivery - You create and deliver fully online courses, and your VDS keeps videos, presentations, documents, and interactive activities running smoothly for every learner.
- Blended Learning - You combine classroom teaching with online resources, assignments, and discussions, all backed by the speed and uptime your VDS provides.
- Corporate Training and Development - You train employees, onboard new hires, and roll out ongoing development programs while your VDS handles standardized training and progress tracking at scale.
- Assessment and Evaluation - You run quizzes, exams, and assignments with automated grading and detailed analytics, and your VDS ensures fast processing even during peak exam periods.
- Collaboration and Communication - You connect learners and instructors through forums, chats, and messaging, and your VDS keeps these interactions fast and reliable for group work and peer learning.
- Certification and Compliance Training - You deliver compliance training and issue certificates on completion, while your VDS protects sensitive records with dedicated security and control.
- Remote and Distance Learning - You reach learners anywhere, on any device, and your VDS delivers consistent performance no matter where they connect from.
- Knowledge Management - You organize, store, and reuse learning materials in one place, and your VDS gives you the storage and reliability to scale that library over time.
Choose a VDS for Moodle, and you get the performance, security, and room to grow that your courses and learners deserve.
How to Purchase a Virtual Dedicated Server with Moodle Installation
Moodle can be installed on a Bluehost Virtual Dedicated Server (VDS). You can choose to have Moodle installed during the initial VDS purchase or install it manually at a later time.
- In your browser, go to https://www.bluehost.com.
- Click Hosting in the top menu, then select Virtual Dedicated Server.

You can also go to this link directly:https://www.bluehost.com/vds-hosting.
- On the Virtual Dedicated Server Hosting page, click Explore Plans. You can also scroll down to the hosting plans section.

- Choose a plan from either tab — Standard or High Performance — by clicking Choose Plan.

Pricing is subject to change. Please visit https://www.bluehost.com/vds-hosting for the current introductory/sign-up offer for the Bluehost Virtual Dedicated Server hosting. For the most up-to-date renewal pricing, visit your Bluehost Portal's Renewal Center. - On the next page, configure your VDS hosting to meet your requirements. The configuration options are divided into the following sections:
- Location: Select your data center in this section.

- Hardware: This section shows your pre-selected plan. You can also switch to another Virtual Dedicated Server plan in this section.

- Software:
If the selected plan does not meet the app's minimum requirements, the app will be grayed out.
- Under the Application tab, click on Moodle.

You can install only one application per purchase; the system will automatically select the best operating system for it. - In the pop-up, click Confirm.

- Under the Application tab, click on Moodle.
- Support & Security: You can add Premium Support - Recurring, which provides priority access to expert assistance and faster response times.

- Advanced Options:
- Extra IP's: You can add IP addresses for an additional fee. Pricing changes based on how many IPs you add.
- Hostname: Assign a custom hostname to identify your server. This is optional.

- Location: Select your data center in this section.
- Select your billing term and review your selected items on the right pane, along with the summarized total cost.

- Click Continue to checkout.
- Do the following on the Checkout page:
If you're new to Bluehost:- Create your Bluehost account by using your email address or by connecting with your Google, Apple, or GitHub account — whichever you prefer!

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

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.

- Create your Bluehost account by using your email address or by connecting with your Google, Apple, or GitHub account — whichever you prefer!
- In the Shopping Cart, choose your billing term if you did not choose one on the previous page.

- Add a Promo code if you have one, and then click Submit Payment to complete your purchase.
After completing the purchase, your VDS hosting will begin provisioning. You can access and manage your new VDS hosting in the Hosting tab of your Bluehost Portal.
After Your Server is Provisioned
Once your VDS finishes setting up, take a moment to confirm everything is ready before you continue:
- Confirm your server is online and reachable
- Verify Moodle installed correctly
- Check that your firewall and default ports are configured as expected
- Note your server's IP address for the next steps
Setting Up Your Moodle Base: A Step-by-Step Guide
Follow these steps to complete your initial setup.
Step 1: Set Up and Secure Your Server
- Log in to your Bluehost Portal.
- In the left-hand menu, click the Hosting tab.

- Locate the server you want to manage, then click View Details in the bottom-left corner to expand the section and access additional server information.

- Click the Reset Password.

- In the pop-up window, type your new root password, then click Reset Password again to confirm and save the changes.

Step 2: Retrieve Your Initial Credentials
Your Moodle deployment automatically generates secure credentials during installation. These credentials are stored on your server.
- Connect to your server via SSH.
Open your computer's terminal (or an SSH client like PuTTY) and run the following command to log into your server as the administrator, using your server's public IP address:Replaceyour_server_ipwith your actual server IP address.
Follow the prompts and enter the new root password you created in the step above.ssh root@your_server_ip - After logging in, you'll see the server's welcome message. This message includes:
Example Output:
Welcome to Ubuntu 24.04.4 LTS (GNU/Linux 6.8.0-111-generic x86_64) ******************************************************************************** The UFW firewall is enabled. All ports are BLOCKED except 22 (SSH), 80 (HTTP), and 443 (HTTPS). You can access Moodle at: https://12.3.456.789/login/index.php User: admin Password is saved in /root/.app_passwords To change your site to load under a domain instead of an ip, on the server run: /root/domain-change For more details please see /root/README.md ******************************************************************************** To delete this message of the day: rm -rf /etc/update-motd.d/99-moodle - Retrieve your Moodle administrator credentials by running:
cat /root/.app_passwords
- The Moodle administrator username (admin)
- The Moodle login URL
- The location of the generated passwords (/root/.app_passwords)
Example Output:
root@server-123456:~# cat /root/.app_passwords root_mysql_pass=t3st9K4Vmnw4_Vn admin_mysql_pass=R)sK?zd7)MFt3st app_mysql_pass=7J{V~t3stC4fh_f+ moodle_admin_pass=t3stNFfcM%Hb^b - Save the moodle_admin_pass value, as you will need it shortly.
Step 3: Log In to Moodle
Once you have your administrator credentials, you can access the Moodle dashboard.
- Open a web browser and navigate to the Moodle URL provided in your server's welcome message: https://your-server-ip/login/index.php
ReplaceExample:
your_server_ipwith your actual server IP address.
https://12.3.456.789/login/index.php - From the login screen, enter the following:
- Username: admin
- Password: The value of moodle_admin_pass from
cat /root/.app_passwords
- Click Log in.

Step 4: Change the Moodle Administrator Password
For security reasons, Moodle requires you to replace the temporary administrator password during your first login.
- Enter your current password.
- Create a new administrator password.
- Confirm the new password.
Your new password must include:
- At least 8 characters
- One uppercase letter
- One lowercase letter
- One number
- One special character (such as *, #, or -)
- Click Save changes.

Step 5: Complete Your Administrator Profile
After updating your password, Moodle prompts you to verify your account information.
- Complete all required fields, including:
- First Name
- Last Name
- Email Address
- Scroll to the bottom of the page, then click Update profile.

A confirmation message will appear after your profile has been successfully updated.
Next Step: Configure Your Domain
By default, Moodle is configured to use your server's public IP address.
When you're ready to access your Moodle site using your own domain name, connect to your server through SSH and run:
Follow the prompts to update Moodle's configuration with your domain. After the process finishes, you can access your learning platform using your custom domain instead of the server IP address.
Why a Domain Name is Important
- Security: You need a domain to get a free SSL certificate. This removes the "Not Secure" browser warning and encrypts user login data.
- User Experience: A web address (like learning.yourcompany.com) is much easier for people to remember and share than a random IP address (like 50.6.230.166).
- Email Reliability: If you just use an IP address, Moodle's automated emails (like password resets) will likely be blocked or sent to spam by providers like Gmail.
- Flexibility: If you ever upgrade or move your server, your IP address will change. A domain name stays the same, ensuring your users never lose access.
An IP address is perfectly fine for private testing. However, once you are ready to invite real learners to your platform, you should connect a domain name.
Supporting Information and Sample Output
You can run cat /root/README.md to see more information and useful commands:
Example Output:
# Moodle
## Description
Moodle is a robust, secure, and integrated platform designed to create personalized online learning environments. Whether you are managing a small classroom or a large-scale corporate training program, Moodle provides the flexibility to scale and adapt to your needs.
### Key Features
* **Comprehensive Course Toolkit**: Build interactive courses with quizzes, assignments, forums, and wikis.
* **Flexible & Customizable**: Personalize your site with custom themes and extend functionality via a massive plugin library.
* **User-Friendly Management**: Access a personalized dashboard and use drag-and-drop tools to organize content easily.
* **Powerful Progress Tracking**: Monitor learner performance with advanced grading, automated reporting, and analytics.
* **Mobile-Ready**: A fully responsive interface and dedicated mobile app allow for learning anywhere, anytime.
## Services
Service | Ports | Purpose
----------------|-------|---------
OpenSSH | 22 | SSH
nginx | 80/443| Website access
Ports are protected using ufw.
## How-to-use
Post installation the password for mysql and the moodle admin password will be stored in /root/.app_passwords.
The site will be installed and configured on an ip address. When you access the server via the console there will be instructions on how to run a script to change the site over to the domain of your choosing.
## Links
Documentation: [https://docs.moodle.org/501/en/Main_page](https://docs.moodle.org/501/en/Main_page)
Summary
Bluehost Virtual Dedicated Server (VDS) provides the high-performance, dedicated resources needed to host Moodle seamlessly for any scale of online learning or corporate training. By selecting Moodle during the Bluehost VDS checkout, users get a pre-installed platform with automatically generated secure administrator credentials. After completing initial login and password setup via SSH, administrators can run a built-in script to map a custom domain name for SSL security, improved email delivery, and better user accessibility.