Installing Moodle on SmarterASP.Cyberspace¶

Background¶

Often teachers and administrators want to apply Moodle in a live shared web hosting environment instead of a private local computer install. Many hosting companies such as Go Daddy have a one-click install of Moodle. In the case of Become Daddy, they install Moodle 1.9 (as of 2/18/2013) only what if you want to run a later/newer version of Moodle (see beneath Go Daddy tech support response) or your web hosting company doesn't back up Moodle one-click installs? This installation guide will walk you through the steps to install the latest version Moodle on SmarterASP.NET shared web hosting.

Obtain Domain Name¶

  • Identify a desired domain name, for instance world wide web.journeyeducation.org or world wide web.ccsdcurriculum.com
  • If available, purchase domain from SmarterASP.NET or some other hosting company. Typical cost is $10 a year.

Purchase Web Hosting¶

  • obtain web hosting account on SmarterASP.Cyberspace (if yous like this tutorial, please support me by purchasing through my affliliate business relationship)
  • I purchased the .Internet Premium shared hosting for $vii.95 a calendar month ($95.twoscore a year)

Configure Domain Name Server (DNS)¶

DNS on Become Daddy¶

  • If you purchased your domain from some other hosting company, you will demand to login to the control panel of that hosting visitor and have the DNS entry indicate to the SmarterASP.Cyberspace servers, ns1.dns-ez.com & ns2.dns-ez.com

    • If your domain was purchased from Become Daddy, here is the steps to gear up/change the domain name so information technology points to SmarterASP.NET web hosting

      • login to Go Daddy My Account

      • My Account → Domains → WestCTA.com → Launch → Nameservers Gear up Name Server

      • modify nameserver to point to smarterasp.net, ns1.dns-ez.com and ns2.dns-ez.com

      • config Go Daddy nameserver

        config Become Daddy nameserver

DNS on SmarterASP.Cyberspace¶

  • login to SmarterASP.Cyberspace control console add new site in the Hosting Director → Website Domain Manager → Add New Site

    • Website/Folder Name: ccsdcurriculum.com

    • Programming Linguistic communication: PHP

    • might have to rename site5 to ccsdcurriculum.com, under the Site heading click the pencil paper icon next to site5 to change the name to westcta.com

      • if you forget to do this, will non be able to rename the site if yous have a folder with the same domain proper name. Here is the work around
        • 1. rename the ccsdcurriculum.com binder to something dissimilar like, 1ccsdcurriculum.com
        • 2. change the domain name from site4 in website domain manager to ccsdcurriculum.com. Note, won't exist able to practice this if a folder of that proper noun already exists.
          1. rename 1ccsdcurriculum.com back to ccsdcurriculum.com
    • add together domain world wide web.ccsdcurriculum.com to site5 past typing ccsdcurriculum.com under the Mapped Domain cavalcade heading then clicking the Add button.

      • SmarterASP.NET Web Domain Manager

        SmarterASP.Cyberspace Web Domain Director

Setup DNS CNAME to ftp.ccsdcurriculm.com¶

  • note, this might already be done by default.

  • login to SmarterASP.Net control console, then Hosting Command Panel → DNS Manager → westcta.com - click Manage button

  • create a CNAME record to ftp.ccsdcurriculum.com which points to ftp.smarterasp.net

  • SmarterASP.NET CNAME

    SmarterASP.NET CNAME

Setup subdomain ftp.ccsdcurriculum.com¶

  • login to SmarterASP.Internet command panel
  • Hosting Control Panel → DNS Manager
  • select domain name and click Manage push
  • edit CNAME record to ftp.ccsdcurriculum.com and betoken this to the SmarterASP.NET ftp server IP address 208.118.63.62

Setup subdomain moodle.ccsdcurriculum.com¶

  • objective is to create a subdomain URL http://moodle.ccsdcurriculum.com which points to the default path of http://www.ccsdcurriculum.com/moodle

  • login to SmarterASP.NET control panel

  • Hosting Control Console → Hosting Managing director → Subdomain Manager

    • Add Subdomain in SmarterASP.NET

      Add together Subdomain in SmarterASP.Net

Create website directory and moodledata subdirectory¶

  • login to SmarterASP.NET control console
  • Hosting Command Panel → Hosting Manager → File Manager → New Folder and recommend giving it the aforementioned name equally your domain proper noun, i.due east. ccsdcurriculum.com. This folder might already exist, created automatically from previous step.
  • create a New Folder nether ccsdcurriculum.com called moodledata. Note that SmarterASP.Internet uses Windows Hosting so you cannot change permission like on linux systems using chmod 775
  • Hosting Control Console → Hosting Manager → File Permission. Can but set edit Read/Write or edit Read-Merely. I kept information technology at the default Read/Write but down the route Moodle complains the moodledata folder is not protected.

Setup FTP account¶

  • Goal is to create an ftp business relationship to transfer local files to SmarterASP.Cyberspace
  • login to SmarterASP.NET control panel
  • Hosting Command Panel → Hosting Director → FTP Users Manager → Add together FTP User. Enter a user name and password.
  • Unable to create a ftp account at the root level with SmarterASP.Cyberspace, need to create a subdirectory. Recommend naming the file directory proper noun the same as your domain name, for example ccsdcurriculum.org.

Create MySQL database¶

  • login to the SmarterASP.NET command panel and navigate to Hosting Command Panel → Database Managing director → MySQL Managing director → click Create New Database

  • enter a portion of the database name, like moodcur and the fullname will be db_9898fc_moodcur and a password of Abcd1234

  • write down the connection string info (Database Name, Server URL, Login Proper noun and Password) as this will be used when creating the config.php file

  • SmarterASP.NET create MySQL Database

    SmarterASP.NET create MySQL Database

Download Moodle¶

  • download zip version of moodle, moodle-2.4.1.zip standard packet, don't use the windows installer i because this includes Apache, PHP and other server stuff which is not needed on a shared hosting environment.
    • Typically shared hosting companies do not let remote desktop admission (windows) or telnet shell access (linux) to manually download files to the server, and then we take to download to your local estimator and then upload it to SmarterASP.Cyberspace

Upload zippo version of Moodle to web hosting¶

  • Need to use an ftp customer such equally FileZilla or UltraEdit to upload the zippo file into your domain proper noun directory.

  • Do not upload the file into the moodledata subdirectory

  • When you unzip the moodle-ii.four.1.nothing file, it volition create the moodle directory and all the necessary awarding information.

  • Example, ftp.ccsdcurriculum.com and enter the ftp account info higher up for the username and countersign.

  • Then apply File Manager of SmarterASP.Cyberspace Command Panel to unzip the moodle-2.4.i.zip file.

  • SmarterASP.NET Unzip/Unpack Moodle Installation

    SmarterASP.NET Unzip/Unpack Moodle Installation

    • takes a minute or two to unzip, when done will become a bulletin that says "File Unzipped"

Check PHP Version Installed¶

  • login to SmarterASP.Cyberspace control panel, if non already in information technology.
  • Hosting Control Console → Hosting Manager → File Director → click New File button on the bottom of the screen. Give it a proper name phpinfo.php
  • click phpinfo.php and click Editor push button (default is ANSI editor, tin switch to UTF-8). And so type in the below code.
  • create a text file called phpinfo.php and type in the post-obit code. Salve and upload file via ftp to the SmarterASP.Internet webserver, e.g. www.ccsdcurriculum.com/phpinfo.php
  • open web browser http://www.ccsdcurriculum.com/phpinfo.php
  • if it returns 5.2.12 (default equally of ii/xviii/2013 on smarterasp.net) then need to update the PHP version
  • also see Installation FAQ - PHP - is it installed and what version exercise I have?

optional - Update PHP version to v.4.7¶

  • login to SmarterASP.Net control panel

  • Hosting Control Panel → IIS Manager → PHP Version Director

  • SmarterASP.NET Upgrade PHP Version

    SmarterASP.Net Upgrade PHP Version

Increase Retentivity in PHP.ini¶

  • This will require SmarterASP.Cyberspace administrator to edit the php.ini (list of php.ini directives) file to the following recommended limits
  • increment post_max_size from 8M to 128 MB
    • can exist set in PHP_INI_PERDIR (php.ini, .htaccess, httpd.conf or .user.ini - think these are only bachelor on linux)
  • increase upload_max_filesize from 2M to 128 MB
    • can exist set in PHP_INI_PERDIR (php.ini, .htaccess, httpd.conf or .user.ini- think these are only bachelor on linux)
  • increase memory_limit from 256M to 512 MB
    • can be prepare anywhere

These recommendations are from Chris Mattias, Moodle 2 Essential Grooming for Teachers - Chapter 01 - Installing Moodle from lynda.com

PHP Configuration Settings - Where a configuration setting may be set

  • PHP_INI_USER tin can be set in user scripts similar ini_set() or in .user.ini
  • PHP_INI_PERDIR can exist set in php.ini, .htaccess, httpd.conf or .user.ini
  • PHP_INI_SYSTEM can be set in php.ini or httpd.conf
  • PHP_INI_ALL entry can exist set anywhere
  • ini_set("post_max_size", "128M");
  • ini_set("upload_max_filesize", "128M");
  • ini_set('memory_limit', '512M');

Create config.php¶

  • edit the existing ccsdcurriculum.com/moodle/config-dist.php and salve as config.php in the same directory. I'm using UltraEdit which gives me the ability to edit and automatically save the file on the server, don't accept to manually ftp the each time, big time savings.
  • edit lines 41 - 47 with the SmarterASP.NET specific connexion cord

$CFG->dbtype = 'mysqli'; // 'pgsql', 'mysqli', 'mssql', 'sqlsrv' or 'oci' $CFG->dblibrary = 'native'; // 'native' only at the moment $CFG->dbhost = 'MYSQL5003.Smarterasp.net'; // eg 'localhost' or 'db.isp.com' or IP $CFG->dbname = 'db_991088_moodcur'; // database name, eg moodle $CFG->dbuser = '991088_moodcur'; // your database username $CFG->dbpass = 'Abcd1234'; // your database password $CFG->prefix = 'mdl_'; // Prefix to use for all table names

  • Other variables must be divers as follows, line 97 for wwwroot, line 113 for dataroot (use SmarterASP.Net File Manager to find the full path to your domain name, in this instance it is h:\root\home\jefferyjjensen-001\world wide web\ccsdcurriculum.com)

$CFG->wwwroot = ' `http://www.ccsdcurriculum.com/moodle <http://world wide web.ccsdcurriculum.com/moodle>`__ '; $CFG->dataroot = 'h:\root\home\jefferyjjensen-001\world wide web\ccsdcurriculum.com\moodledata';

  • it appears wwwroot works with both www.ccsdcurriculum.com/moodle and ccsdcurriculum.com/moodle, I'm not sure if one is more correct/right than the other.
  • if y'all type in the wrong path to dataroot, will get an error like this:
    • Fatal fault: $CFG->dataroot is not configured properly, directory does not exist or is not accessible! Exiting.

test connection with MySQL phpMyAdmin¶

  • login to SmarterASP.Internet control console

  • Hosting Control Console → Database Manager → MySQL phpMyAdmin. Use the following login creditials

  • Server = MYSQL5003.Smarterasp.internet

  • Username = 991088_moodcur

  • Countersign = Abcd1234

    • if getting mistake number 1045 Cannot log in to the MySQL server, double check your Server name is correct, in my case it was incorrect.

    • the database should be bare, that is no tables in it.

      • Main_Page/SmarterASPphpMyAdminNoTables.png:width:300px:alt:phpMyAdmindatabasewithouttables

        phpMyAdmin database without tables

    • logout of phpMyAdmin

Moodle Configuration¶

  • visit your domain name, for example http://world wide web.ccsdcurriculum.com/moodle

Installation Agreement¶

  • Installation - agree to the copyright notice, click the Go along button

    • Moodle Installation Screen on SmarterASP.NET

      Moodle Installation Screen on SmarterASP.NET

Installation Server Checks¶

  • Server checks on Moodle two.iv.1+ build, click the Continue button

  • Main_Page/SmarterASPInstallServerChecks.png

    width: 300px
    alt: Moodle Server Checks Installation Screen on SmarterASP.NET

    Moodle Server Checks Installation Screen on SmarterASP.Internet

    • might need to notify SmarterASP.Internet to enable the post-obit php_extensions
      • soap extension which is useful for web services and some contrib modules
      • Intl extension which is used to improve internationalization back up, such as locale aware sorting
      • UPDATE - on ii/21/2013 Ailen, SmarterASP.Cyberspace staff member globally enabled the PHP lather and intl extensions, so you lot shouldn't see whatever warning messages on the server checks.
  • click the Continue push

Installation Timeout Error¶

If you become this fault, then need to take SmarterASP.NET admins edit the php.ini file and change the max_execution_time from default of 30 to 600 (seconds I believe). When fix to 600, I was able to get Moodle to install without getting the HTTP Error 500.0 message.

  • look nearly 2-iv minutes while the approximately 305 Moodle tables are imported into the Moodle MySQL database

    • HTTP Error 500.0 - Internal Server Error. C:\php54\php-cgi.exe - The FastCGI process exceeded configured asking timeout.

      • Setup Error on SmarterASP.NET

        Setup Error on SmarterASP.Cyberspace

      • Windows server: The HTTP Error 500.0 FastCGI process exceeded configured request timeout

        • You can edit the fcgiext.ini file directly and and then restart IIS. Alternatively y'all can install the Microsoft PHP Manager for IIS and apply information technology to manage your PHP installation. Using PHP Manager for IIS to Setup and Configure PHP
        • Windows server: Maximum upload size non recognized

Installation Plugins Check¶

  • after the above error message, revisit http://www.ccsdcurriculum.com/moodle

  • will go this plugins check screen. Information technology appears the number of plugins varies on how far SmarterASP.Cyberspace got on importing the approx 305 MySQL tables.

    • phpMyAdmin showing tables installed on SmarterASP.NET

      phpMyAdmin showing tables installed on SmarterASP.Internet

  • curlicue to the bottom of the page and click the Upgrade Moodle database now push

    • Plugins check on SmarterASP.NET

      Plugins check on SmarterASP.NET

Installation Upgrading to new version¶

  • will run into a list of files that have been installed successfully. Coil to the bottom and click Continue

    • Upgrading to new version on SmarterASP.NET

      Upgrading to new version on SmarterASP.NET

Installation Moodle Principal Administrator¶

This step is creating the primary site administrator. Verify information is right considering this user cannot be removed from the site administrator role. See Site administrators

  • Enter the following
    • General Username (lower instance simply)
    • Countersign (at least 8 characters with at least i digit, ane lower instance letter of the alphabet, i upper case letter and ane non-alphanumeric character)
    • Showtime proper noun
    • Surname/Family Name
    • Electronic mail address
    • City/boondocks
    • Country
    • all the other info is optional
  • click update profile

Installation Front Page Settings¶

  • Full site proper noun, such every bit Clark Canton School District Course Curriculum Home Page
  • Short name: ccsdcurriculum
  • Forepart folio description
  • Self registration - Disable
  • click Save changes push button

Installation Complete¶

Install Troubleshooting¶

I accept experienced problems with the Moodle install timing out. Here is the steps to change the PHP max_execution_time

  • run phpinfo script to see what your hosting provider has set the max_execution_time to. The default max_execution_time is thirty, I'yard guessing this is 30 seconds. I had to submit a support ticket requesting SmarterASP.Net staff to edit the php.ini (tin can only be edited by the hosting admin) and increased information technology to 120. Hither is a sample of the phpinfo output showing the increase.

    • phpinfo max_execution_time setting

      phpinfo max_execution_time setting

  • Edit the config.php file and add the following

ini_set('max_execution_time', 120);

    • config.php max_execution_time

      config.php max_execution_time

  • PHP Manual - Runtime Configuration

See Also¶

  • Finding and Selecting a Spider web Host
  • Moodle Installation Category
    • General Moodle Install instructions, see Install Moodle
    • Moodle Installation FAQ
    • Moodle Installation - Windows
    • Install Moodle 2.ii on Become Daddy
      • Upgrading Moodle
  • Reference video on installing Moodle, New Video Tutorial- How to Install Moodle on Shared Hosting via cPanel (Non Fantastico)
  • Moodle Installation problems forum
  • Books
    • Using Moodle, 2nd Edition by Helen Foster and Jason Cole
    • Moodle 2 Assistants by Alex Buchner