---
title: How to Install Moodle Manually on Your Server (CWP, Cyberpanel)
description: "Servers that run Panels like Cyberpanel or Control Web Panel may not have an auto-installer for Moodle and if you are to add an installer like Softaculous, you will be needed to pay for it. If your web hosting provider…"
url: "https://truehost.com/support/knowledge-base/how-to-install-moodle-manually-on-your-server-cwp-cyberpanel/"
updated: "2024-10-30"
category: Cloud servers in Kenya
---

# How to Install Moodle Manually on Your Server (CWP, Cyberpanel)

Servers that run Panels like Cyberpanel or Control Web Panel may not have an auto-installer for Moodle and if you are to add an installer like Softaculous, you will be needed to pay for it.

If your web hosting provider doesn’t have an auto-installer for Moodle, follow this step-by-step guide on installing it manually.

In this tutorial, we'll use the **File Manager** in Control Web Panel (CWP), but the steps are similar across most hosting control panels, like **[Cyberpanel](https://truehost.com/support/knowledge-base/how-to-install-cyberpanel-ubuntu-and-almalinux/)**.

## **Prerequisites**

Before you start, make sure to:

- You need to have a panel installed on your server. I have **[CWP installed](https://truehost.com/support/knowledge-base/complete-guide-on-how-to-properly-install-control-web-panelcwp/)** on my server.
- You need to have added a **[domain](https://truehost.com/support/knowledge-base/how-to-create-a-domain-and-subdomain-on-cwp/)** name or created a [**subdomain**](https://truehost.com/support/knowledge-base/how-to-create-an-addon-domain-subdomain-on-a-cwp-cpanel/) on your server.
- Your server/domain should be running on PHP 8.1 and above. For CWP change using **[these steps](https://truehost.com/support/knowledge-base/how-to-change-the-php-version-in-control-web-panel-cwp/)**
- For **[CWP](https://truehost.com/support/knowledge-base/how-to-upgrade-mariadb-on-cwp-from-10-4-to-10-6-on-almalinux-8/)** or **[Cyberpanel](https://truehost.com/support/knowledge-base/how-to-upgrade-mariadb-on-cyberpanel-from-10-3-to-10-6-on-ubuntu-20-04/)**, you need mariadb version 10.6.7 and above. Click the links to upgrade.
- You need access to the server's Panel because you will need file manager and Database manager.

## **Prepare for the Moodle™ Installation**

Before you start, make sure to:

- Download the latest Moodle™ package from their **[official Moodle website.](https://download.moodle.org/releases/latest)**
- Upload the Moodle™ files to your server, either using your web hosting control panel or an FTP client like FileZilla.
- Upload the file to the root directory of your moodle domain or subdomain
- If you use CWP, access the [admin panel](https://truehost.com/support/knowledge-base/how-to-access-cwp-main-whm-panel/) then to to the user panel OR access user panel directly using **[these steps](https://truehost.com/support/knowledge-base/how-to-access-cwp-users-cpanel/)**.

**Database Creation**

- You will need to access you hosing panel and create a database for moodle. Also create a user and give them access to the database. Save the database details somewhere for later use
- If you use **CWP**, check **[these steps](https://truehost.com/support/knowledge-base/how-to-create-a-database-in-control-web-panel-cwp/)** on database creation, and save the database details later use.

**Download Moodle and Upload to your Server**

- Download the latest Moodle™ package from their **[official Moodle website.](https://download.moodle.org/releases/latest)** The file downloads to your computer

![](https://truehost.com/support/wp-content/uploads/2024/10/image-337-1024x627.png)

- Upload the file to the root directory of your moodle domain or subdomain. The interface could vary depending on your hosting panel.
- For **CWP** user panel, on the left side of pane, go to **File Management->File Manager** and click on File Manager

![](https://truehost.com/support/wp-content/uploads/2024/10/image-338.png)

- You will see a window with the server’s file system files. Since this is a user panel, you will be shown files that are in the user’s home directory. These will include the user’s public_html and addon/subdomain folders
- Click on **public_html** to enter the domain’s root folder, otherwise click on the addon/subdomain folder for the domain/subdomain that you want to deploy Moodle on.

![](https://truehost.com/support/wp-content/uploads/2024/10/image-339.png)

- While in **public_html** or the addon/subdomain, click on **upload** button at the top of the window.

![](https://truehost.com/support/wp-content/uploads/2024/10/image-340.png)

- You will be presented with an upload window, where you drag and drop a file to uplaod or choose the file to upload from your computer. We are uploading the **Moodle** file that you had downloaded.
- Drag and drop or select the file to upload it. Give it time to upload

![](https://truehost.com/support/wp-content/uploads/2024/10/image-341.png)

- Extract the ZIP file. close the uploaded and go back to public_html or to the directory where you uploaded the file and right click on the file and select **Decompress** and confirm the decompression.

![](https://truehost.com/support/wp-content/uploads/2024/10/image-342.png)

- After extraction, move the contents from the `moodle` folder into the domain's/subdomain's document root folder (if they are not already there). In my case, I will move contents of **moodle** to **public_html**
- Go inside the extracted folder and use the Select All option at the top of the window to select everything.

![](https://truehost.com/support/wp-content/uploads/2024/10/image-354.png)

![](https://truehost.com/support/wp-content/uploads/2024/10/image-355.png)

- Click on **Move** option found at the top of the widow, then, in the resulting box, you will a section for New Path. Expend the boxes until you reach your new destination then click on it, then click on **Move**
- Give them time to move.

![](https://truehost.com/support/wp-content/uploads/2024/10/image-356-1024x533.png)

- Return to the **File Manager**, click **public_html **and locate **config-dist.php**. Create a copy of the file and edit the database information.
- Carefully replace the dummy databse details with the actual database details, that you had created and saved earlier.
- Also, if you are using **mysql** or **mariadb** database, change **dbtype** from **pgsql** to **mysql** or **mariadb** respectively. For CWP or Cyberpanel, use mariadb

![](https://truehost.com/support/wp-content/uploads/2024/10/image-346-1024x237.png)

![](https://truehost.com/support/wp-content/uploads/2024/10/image-351.png)

## **Install Moodle**

Now that you’ve uploaded all the files on a MySQL database server, let’s install Moodle. **Ow! Wait! You mean all that while you mean we hadn't even installed it?** Well, here we go...

- Access the URL of the Moodle™ files in your domain. If they are located in the **public_html** folder, access it as it is: **www.yourdomain.com**. You will be redirected to the installation page
  - If they are installed on a subfolder named moodle, then you will have **www.yourdomain.com**/**moodle**
  - If they are on a subdomain like **moodle.yourdomain.com**, then access that on your browser.
- Select a language and click **Next**.

![](https://truehost.com/support/wp-content/uploads/2024/10/image-347-1024x383.png)

- Make sure the correct **Web address** and **Moodle directory **are displayed. Leave the **Data directory **as it is, or change the location.

![](https://truehost.com/support/wp-content/uploads/2024/10/image-348-1024x379.png)

- Return to your **File Manager **and open the copy of **config-dist**.**php **you’ve made earlier. Scroll down to find **Web Site Location **and **Data Files Location**.
- Edit the **wwwroot **and **dataroot **values with your **Web address **and the Moodle **Data directory** according to how you have them in the above step. Also ensure that the folder exists in that location and if not there, create it.

![](https://truehost.com/support/wp-content/uploads/2024/10/image-349.png)

- **Save** and **Rename** the file to **config.php**.

![](https://truehost.com/support/wp-content/uploads/2024/10/image-350-1024x408.png)

- Return to the Moodle™ setup page and select **Next**.
- If everything is well set, you will see a windows that needs you to choose the Database Driver. Choose accordingly from the drop-down. For CWP or CyberPanel, choose **MariaDB(native/mariadb)** then click on **Next**.

![](https://truehost.com/support/wp-content/uploads/2024/10/image-362-1024x385.png)

- You will see a page that asks you to confirm having read moodle conditions.
- Click in **Continue**

![](https://truehost.com/support/wp-content/uploads/2024/10/image-363-1024x558.png)

- As you go through he installation, you may be some adjustments so that your system can be fully ready for moodle set-up.
- Some of the adjustments could be
  - Adjustment of PHP INI values to required minimum, e.g **PHP setting max_input_vars must be at least 5000**. Check **[this guide](https://truehost.com/support/knowledge-base/how-to-adjust-php-ini-settings-on-cwp/)** on how to.
  - To update **max_input_vars**, go to PHP INI section on your panel, as per the guide, then select Advanced Editor
  - Then manually input this value **max_input_vars=6000** as in the image below
  - Then click on **Save**

![](https://truehost.com/support/wp-content/uploads/2024/10/image-365-1024x573.png)

- Another Adjustment that you may make, if you haven't is the database upgrade to a higher version like in the message below. If so, refer to **[this guide](https://truehost.com/support/knowledge-base/how-to-upgrade-mariadb-on-cwp-from-10-4-to-10-6-on-almalinux-8/)**
  | mariadb (10.4.34-MariaDB)[version 10.6.7 is required and you are running 10.4.34](http://docs.moodle.org/405/en/admin/environment/database/mariadb%20(10.4.34-MariaDB)) |
  | --- |

- Do the adjustments as needed then reload the page, then click on **Reload**

![](https://truehost.com/support/wp-content/uploads/2024/10/image-364.png)

- Once all system requirements are met, you will see a message as in the image below

![](https://truehost.com/support/wp-content/uploads/2024/10/image-352-1024x851.png)

- Click on Continue, and give it time to confirm the settings again. You will see a window showing status information like in the image below
- Click on **Continue**

![](https://truehost.com/support/wp-content/uploads/2024/10/image-353-1024x537.png)

- You will then be taken to a page where you set up admin account details.
- Input the needed details then click on **Update**

- Next will be to input website details
- Fill in the details then click on **Save Changes**

![](https://truehost.com/support/wp-content/uploads/2024/10/image-357-1024x789.png)

- The next step will need you to complete your site registration, by inputting needed details.
- Fill in the details, then **check the box to agree to Moodle terms of service**.
- You can optionally check the other box, to be notified of new releases or to receive newsletters from moodle

![](https://truehost.com/support/wp-content/uploads/2024/10/image-359-1024x784.png)

- Then click on **Register your site**

![](https://truehost.com/support/wp-content/uploads/2024/10/image-360-1024x279.png)

- Congratulations! You have successfully installed Moodle.
- You will now be logged into your admin account and you can now customize your installation as you desire.

![](https://truehost.com/support/wp-content/uploads/2024/10/image-361-1024x742.png)
