{"id":66095,"date":"2022-09-02T03:30:27","date_gmt":"2022-09-02T09:30:27","guid":{"rendered":"https:\/\/www.scalahosting.com\/blog\/?p=66095"},"modified":"2025-02-21T04:29:22","modified_gmt":"2025-02-21T10:29:22","slug":"moodle-on-shared-hosting-and-why-you-need-a-vps","status":"publish","type":"post","link":"https:\/\/www.scalahosting.com\/blog\/moodle-on-shared-hosting-and-why-you-need-a-vps\/","title":{"rendered":"Moodle on Shared Hosting and Why You Need a VPS"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">If you ever needed to check out some online courses, take a test, or review some helpful guides\u2014chances are you\u2019ve already stumbled upon <strong>Moodle<\/strong> in some shape or form. The prime <strong>learning management system (LMS)<\/strong> solution takes the classroom from school right into your computer, allowing you to effectively teach and learn online.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>But what does it take to host a Moodle project and take full advantage of its feats? And would shared hosting suffice for the job?<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Our guide today addresses just that!<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"What-is-Moodle\"><strong>What is Moodle?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Moodle is an online learning platform <\/strong>developed by educators to provide a single integrated system to support learning. It is used in schools and universities around the world, as well as in corporations and other organizations.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"How-to-Install-Moodle\"><strong>\ufeff\ufeffHow to Install Moodle on Shared Hosting<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.scalahosting.com\/web-hosting-for-small-business.html\"><strong>Shared hosting services<\/strong><\/a><strong> <\/strong>come with a control panel where users can easily manage their account services. Quite often those include a one-click installer, which allows you to configure hundreds of different scripts with the click of a button.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As Moodle is one of the top scripts in installers like <a href=\"https:\/\/www.scalahosting.com\/blog\/scalahosting-introduces-softaculous-for-spanel\/\"><strong>Softaculous<\/strong><\/a><strong> or Fantastico<\/strong>, its installation is fast and effortless. Here\u2019s how the process goes:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Installing-Moodle-on-Shared-Hosting\"><strong>Installing Moodle on Shared Hosting: Step by Step Guide&nbsp;&nbsp;<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"Create-a-New-Account\"><strong>Step 1: Create a New Account with a Shared Hosting Provider<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The first step is to create an account with your <strong>shared hosting provider of choice<\/strong>. You will need to provide them with information about yourself, such as your name and email address. They will also ask you for payment details <strong>so they can charge your credit card for the service<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You should be able to access this page from within your web browser.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"Log-in-to-Your-Shared-Hosting-Account\"><strong>Step 2: Log in to Your Shared Hosting Account<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Once you have created your account and paid for the service<\/strong>, you can log in using your shared hosting provider&#8217;s username and password.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"Install-the-Moodle-Software\"><strong>Step 3: Install the Moodle Software<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">You can either take the easy route and <strong>install Moodle<\/strong> using a one-click installer like Softaculous, or manually in just a few steps.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. Download the <strong>Moodle installation package<\/strong> from download.moodle.org.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. Unzip the installation package to a directory on your server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. Create a new database for <strong>Moodle on your server<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4. Configure the Moodle installation by editing the config.php file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5. Run the Moodle installation script by accessing install.php in a web browser.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">6. Follow the prompts to complete the Moodle installation.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"Log-in-to-Your-New-Moodle-Website\"><strong>Step 4: Log in to Your New Moodle Website<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Once you install Moodle on your shared hosting account, it should automatically start up and load into your web browser. Log in using the username and password you created during the <strong>Moodle installation<\/strong>.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Click <strong>My Site<\/strong> from within the menu at the top right corner. This will take you directly to where everything is stored on your server.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"How-to-Migrate-Moodle\"><strong>How to Migrate Moodle from Localhost to Live Server<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The following steps involve moving your Moodle website from one server to another.&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><em>Turn on maintenance mode.<\/em><br>To turn on maintenance mode on your Moodle site, go to <strong>Site Administration<\/strong> &gt; <strong>Server <\/strong>&gt; <strong>Maintenance Mode<\/strong>. This prevents any further additions to the Moodle database.&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><em>Backup your Moodle database.<\/em><br>There are many ways to <strong>perform backups, depending on your database<\/strong>. Consult with the documentation for your database for the specific instructions.&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><em>Copy moodledata.<\/em><br>Copy the contents of your data directory to the new server. <strong>We recommend against using an FTP client<\/strong>, but if you are &#8211; the <strong>filedir folder must be in <em>binary mode<\/em><\/strong>, or you risk system errors popping up. Make sure to give Read and Write access to the web server from the file permissions.<\/li>\n<\/ol>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><em>Copy the Moodle code.<\/em><br>Go to the <strong>Webroot Folder<\/strong> and copy the Moodle code to the new server. Again, make sure the web server has permission to access.&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li><em>Update the URL of the new server.<\/em><br>If the migration moves Moodle to a new URL, you need to <strong>change the $CFG \u2192 wwwroot in config.php<\/strong> to the new one.<br>Also, check if any database connection settings need to be changed. For instance, see if the <strong><em>$CFG-&gt;moodledata<\/em> path<\/strong> is still correct.<\/li>\n<\/ol>\n\n\n\n<ol start=\"6\" class=\"wp-block-list\">\n<li><em>Test the new site.<\/em><br>Log back into your new site as an admin and verify if everything is working.&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"7\" class=\"wp-block-list\">\n<li><em>Update internal links. <\/em><br>Now we need to fix the internal links stored in the database. To fix these, go to <strong>Main page<\/strong> \u2192 <strong>Managing a Moodle site<\/strong> \u2192 <strong>Admin tools<\/strong> \u2192 <strong>Search and Replace tool<\/strong>. This tool allows you to change the site URLs.&nbsp;<br>Enter the URL for your old and new server, which will fix the links in the database.<\/li>\n<\/ol>\n\n\n\n<ol start=\"8\" class=\"wp-block-list\">\n<li><em>Turn off maintenance mode.<\/em><br>Once confident with the new site, remember to take it out of maintenance mode.&nbsp;<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Not-the-Right-Choice-for-Moodle\"><strong>Why Shared Hosting is Not the Right Choice for Moodle<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. No control over server resources:<\/strong> As you are sharing the same physical server with lots of other users, any changes would affect hundreds of accounts as well. This is why shared clients have <strong>no root access to make in-depth customizations<\/strong>, which might prevent them from installing add-ons with more specific requirements.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Limited resources: <\/strong>All users on the same shared server have access to one and the same pool of resources &#8211; <a href=\"https:\/\/www.scalahosting.com\/blog\/key-server-performance-metrics-for-actionable-monitoring\/\"><strong>RAM, CPU, disk space<\/strong><\/a>, etc. So when one of the users start draining more and more server power &#8211; the system will allow them but at the <strong>cost of the performance<\/strong> for all others. Site slowdowns and even downtimes are not a rare sight for shared clients.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Sub-par support:<\/strong> The last thing a website owner needs is to have to deal with technical problems instead of their <strong>business development<\/strong>. But while many share providers offer support in some form, you might find yourself having to wait long hours over a ticket or even days via an email. More <strong>sophisticated server solutions<\/strong> either offer premium support or a dedicated account manager for your needs only.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. Low security:<\/strong> When you&#8217;re running a website that deals with money &#8211; it&#8217;s essential to have sturdy security measures in place so your customers&#8217; information is well-protected at all times. Unfortunately, the <strong>very nature of shared hosting allows for outside breaches <\/strong>even if your own account is secure enough. The hacker only needs to find one insecure account and then your entire server will be compromised.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"The-Obvious-Solution\"><strong>VPS: The Obvious Solution<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Say you don\u2019t want to spend that much extra on web hosting, but you also don\u2019t want your Moodle experience to be sub-par.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Virtual private servers are not that expensive nowadays. For the <strong>additional performance, security, and freedom they bring <\/strong>\u2014 it\u2019s a no-brainer.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ScalaHosting offers an <a href=\"https:\/\/www.scalahosting.com\/managed-cloud-hosting.html\"><strong>impressive VPS setup<\/strong><\/a> for all types of clients. You get your <em>own cloud server, dedicated resources, a tidy user dashboard, and sophisticated security detail<\/em>. Plus, our technicians know Moodle inside and out.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No more waiting around. No more nail-biting frustration.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Want to know just how little extra this costs you? <a href=\"https:\/\/www.scalahosting.com\/blog\/how-to-choose-best-web-hosting-plan-for-my-website\/\">Contact the Scala team<\/a> and find out!<\/p>\n\n\n<div class=\"shortcode-cta-new-wrap row moodle\">\r\n    <img decoding=\"async\" class=\"shortcode-logo\" src=\"\/blog\/images\/shortcode-bg-new-logo-moodle.svg\" alt=\"shortcode-logo\" title=\"shortcode-logo\"\/>\r\n    <div class=\"shortcode-cta-img col-10 col-sm-7 col-md-5\">\r\n        <img decoding=\"async\" class=\"shortcode-bg\" src=\"\/blog\/images\/shortcode-bg-new-moodle.webp\" alt=\"shortcode-bg\" title=\"shortcode-bg\"\/>\r\n    <\/div>\r\n    <div class=\"shortcode-cta-content col-12 col-md-7\">\r\n        <div class=\"content\">\r\n            <div class=\"heading\">Power Up Your Online Teaching - Join the ScalaHosting Family<\/div>\r\n            <div class=\"list-wrap\">\r\n                <div class=\"list\">\r\n                    <div><b>Free, Effortless & No-Downtime Migration<\/b><\/div>\r\n                    <div><b>Anytime Unconditional Money-back Guarantee<\/b><\/div>\r\n                    <div><b>Optimized Moodle Performance and 24\/7 Expert Support<\/b><\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"btn-wrap row\">\r\n                <div class=\"col-auto\">\r\n                    <a class=\"button green\" href=\"https:\/\/www.scalahosting.com\/moodle-hosting.html\">Start Now<\/a>\r\n                <\/div>\r\n                <div class=\"col-auto\">\r\n                    <button class=\"button purple_outer\" title=\"Contact Sales\" onclick=\"chatChangeVisibility(this, 'maximize', {}, 5);\">Chat with our Experts<\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>If you ever needed to check out some online courses, take a test, or review some helpful guides\u2014chances are you\u2019ve &#8230;<\/p>\n","protected":false},"author":106,"featured_media":66098,"comment_status":"open","ping_status":"closed","sticky":false,"template":"single-cluster-moodle.php","format":"standard","meta":{"_acf_changed":false,"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"none","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"both","_seopress_redirections_param":"","_seopress_redirections_type":301,"_seopress_analysis_target_kw":"","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"footnotes":""},"categories":[61,128],"tags":[],"class_list":["post-66095","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-hosting","category-moodle-hosting"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/posts\/66095","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/users\/106"}],"replies":[{"embeddable":true,"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/comments?post=66095"}],"version-history":[{"count":8,"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/posts\/66095\/revisions"}],"predecessor-version":[{"id":71380,"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/posts\/66095\/revisions\/71380"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/media\/66098"}],"wp:attachment":[{"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/media?parent=66095"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/categories?post=66095"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.scalahosting.com\/blog\/wp-json\/wp\/v2\/tags?post=66095"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}