Greetings Everyone,
I am pretty sure that most of us know what moodle is and what it does. Moodle is a Course Management System (CMS), also known as a Learning Management System (LMS) or a Virtual Learning Environment (VLE). It is a Free web application that educators can use to create effective online learning sites.
I will now start with the installation process.
- First of all we need to have a clean RHEL, CentOS, Scientific Linux or Fedora machine with Apache server installed and you can refer it from my earlier blog LAMP or Apache Server installtion.
- Once you have finished installing Apache server we should proceed with moodle installation. Now, we need to download moodle and downloading moodle can be done in various ways but I would prefer downloading it from git. And, yes latest version currently that's the most stable and latest.
# cd /var/www/html
# git clone git://git.moodle.org/moodle.git
# cd moodle
# git branch -a
# git branch --track MOODLE_25_STABLE origin/MOODLE_25_STABLE
# git checkout MOODLE_25_STABLE
- Now, lets create a data root for moodle and change permission and ownership
# mkdir /var/www/moodledata
# chown root:apache /var/www/moodledata
# chmod 770 /var/www/moodledata
- We will be creating a utf8 database and yes, we are still using mysql
# mysql -u root -p
# your-password
mysql> CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
mysql> GRANT ALL PRIVILEGES ON moodle.* to 'root'@'localhost' IDENTIFIED BY 'yourpassword';
mysql> FLUSH PRIVILEGES;
mysql> quit
- Lets navigate to /var/www/html/moodle and now we can do it in 2 different ways but I would prefer just copying config-dist.php to config.php or you could php install.php
- Please do search in config.php and modify the place which are marked in RED below
# cd /var/www/html/moodle# cp config-dist.php config.php
# vim config.php
=========================================================================
// 1. DATABASE SETUP//=========================================================================// First, you need to configure the database where all Moodle data //// will be stored. This database must already have been created //// and a username/password created to access it. //$CFG->dbtype = 'mysqli'; // 'pgsql', 'mysqli', 'mssql', 'sqlsrv' or 'oci'
$CFG->dblibrary = 'native'; // 'native' only at the moment$CFG->dbhost = 'localhost'; // eg 'localhost' or 'db.isp.com' or IP$CFG->dbname = 'moodle'; // database name, eg moodle$CFG->dbuser = 'root'; // your database username$CFG->dbpass = 'xxxxxx'; // your database password$CFG->prefix = 'mdl_'; // prefix to use for all table names$CFG->dataroot = '/var/www/moodledata';$CFG->wwwroot = 'http://localhost/moodle';
- Once you have finished modifying /var/www/html/moodle/config.php. I am pretty sure everything is now ready to roll but lets fix permission before we browse and check it.
# chown -R root:apache /var/www/html/moodle
# chmod -R 770 /var/www/html/moodle
- Now open your favorite browser and type in http://localhost/moodle, I am sure you should be seeing
- But in case you get "403 Forbidden Error", then try setting SELinux to permissive mode or Disable it
# setenforce 0
# getenforce (to check if its in permissive or enforcing mode)
- Once you press continue, don't you worry it will perform server check and php extension and if you don't have you go back to terminal and install it
- So let's install php extension (soap, xmlrpc and intl) and restart apache server
# yum install php-soap php-xmlrpc php-intl
# /etc/init.d/httpd restart
- Once these extensions are installed we are ready to rumble and the browser would look like this
- Finally, it will check if everything is working regarding moodle installation and create an account then your done.
- Happy working with MOODLE
Thanks a lot. Your blog has saved my One-Week time in trial and error.
ReplyDelete