Cara Install Moodle di Ubuntu

Moodle adalah aplikasi open source untuk e-learning berbasis web. Moodle telah banyak diimplementasikan di berbagai sekolah dan perguruan tinggi di Indonesia.

Tutorial instalasi Moodle ini menggunakan:

Install LAMP server

sudo apt-get updatesudo apt-get update

sudo apt-get install apache2 mysql-client mysql-server php7.0 libapache2-mod-php7.0 php7.0-pspell php7.0-curl php7.0-gd php7.0-intl php7.0-mysql php7.0-xml php7.0-xmlrpc php7.0-ldap php7.0-zip php7.0-soap php7.0-mbstring

Buat database

Download Moodle

Extract Moodle dan pindahkan ke /var/www/html

tar xzvf moodle-latest-34.tgz
sudo mv moodle /var/www/html/
cd /var/www/html
sudo chown -R :www-data moodle
sudo chmod -R 775 moodle

Buat direktori moodledata

cd /var/wwwcd /var/www

sudo mkdir moodledata

sudo chown -R :www-data moodledata

sudo chmod 775 moodledata

Akses http://localhost/moodle atau http://IP_SERVER/moodle
Pilih bahasa, setelah instalasi masih bisa diganti
cara install moodle di ubuntu

Konfirmasi direktori instalasi dan data
cara install moodle di ubuntu

Pilih database driver mysqli
cara install moodle di ubuntu

Database settings
cara install moodle di ubuntu

Konfirmasi lisensi
cara install moodle di ubuntu

Pengecekan kebutuhan server, extension PHP. Jika ada yang kurang, install extension dan restart apache. Misalnya kurang extension mbstring, curl, dan openssl cara installnya

sudo apt-get install php-mbstring php-curl php-openssl

Restart apache

Kemudian reload kembali halaman ini
cara install moodle di ubuntu

Jika semua environment sudah terpenuhi ditampilkan pesan Your server environment meets all minimum requirements..
cara install moodle di ubuntu

Proses instalasi dimulai. Cek semua statusnya apakah Success atau tidak
cara install moodle di ubuntu

Isi informasi General.
Password minimal 8 karakter, terdapat 1 karakter angka, 1 karakter huruf kapital, dan 1 karakter spesial seperti * atau #.
cara install moodle di ubuntu

Isi Front page settings
cara install moodle di ubuntu

Jika berhasil, langsung masuk ke Dashboard
cara install moodle di ubuntu

selamat mencoba 🙂




How setup my server

1. Check OS version

Check OS version    – centos : rpm –query centos-release

2. Install apache/http

– masuk super user : su – (input username & password)

– jalankan : sudo yum install httpd

– start apache/http : sudo service httpd start

– ubah port jika diperlukan, jalankan : vi /etc/httpd/conf/httpd.conf

– info :
3. Install mysql

– masuk super user : su – (input username & password)

– jalankan : sudo yum install mysql-server

– start mysql : sudo service mysqld start

– set config mysql : sudo /usr/bin/mysql_secure_installation

– info :
4. Install php

– masuk super user : su – (input username & password)

– jalankan : sudo yum install php php-mysql

– restart apache/http : sudo service httpd restart

– info :
5. Install git

– masuk super user : su

– (input username & password)

– update repo : yum update

– install : yum install git

– cek versi git : git –version

– regis : git config –global “mbwn”   git config –global “”

– info :
6. Install Phalcon

a. Check Versi Php : php -v

. Upgrade Php jika dibawah 5.6 harus upgrade Php

*. jika belum terinstall wget : yum install wget

*. jalankan : wget && rpm -Uvh epel-release-latest-6.noarch.rpm

*. jalankan : wget && rpm -Uvh remi-release-6*.rpm

*. set config : vi /etc/yum.repos.d/remi.repo

*. [remi] = enable=1   [remi-php56] = enable=1 :wq

*. upgrade : yum -y upgrade php*

*. cek kembali versi php : php -v

*. info :

b. Install

*. tambahkan repository : curl -s | sudo bash

*. Php 5.6 : sudo yum install php56u-phalcon

*. Php 7   : sudo yum install php70u-phalcon

*. package : sudo yum install php-devel pcre-devel gcc make

*. package : yum –enablerepo=remi,epel install php php-mysql gcc libtool

*. tambahkan extension : echo “” > /etc/php.d/phalcon.ini

*. chmod 777 /var/www/html/ : lakukan untuk permision folder

*. cek extension dan installasi, buat file info.php : <?php echo phpinfo(); ?> dan hit   c. Phalcon

*. dalam akses root pindah ke : cd /opt/

*. package : git clone     #SAMPE SINIH

*. cd cphalcon/build

*. sudo ./install

*. tambahkan extension : echo “” > /etc/php.d/phalcon.ini

*. restart apache/http : service httpd reload dan service httpd restart

*. info :

d. masalah Mod-Rewrite is not enabled

*. ubah : AllowOverride None to AllowOverride All pada : /etc/httpd/conf/httpd.conf

*. pastikan .htaccess dan .htrouter.php pada main folder

*. masalah -> Volt directory can’t be written : chmod -R a+w cache (biasanya ada difolder cache)   e. Gagal open Dr 2

*. delete dalam folder filesystem (engine) dan ubah permision filesystem menjadi 777 : chmod 777 /var/www/html/smsengine/filesystem/

7. Installasi CMS

a. copy semua file cms

b. ubah config db

c. ubah config base url

. Installasi Engine

a. copy semua file engine

b. ubah config db

c. ubah permision chache : chmod -R a+w /var/www/html/smsengine/cache

info :

d. ubah permision filesystem : chmod 777 /var/www/html/smsengine/filesystem

e. pada check engine, crontab ditambahkan sh pada awal untuk eksekusi file .sh

———————-Configurasi crontab -e

*/10 * * * * sh /var/www/html/smsengine/enginecheck/ >> /var/www/html/smsengine/log/engine_10minutes.log#*/30 * * * * sh /var/www/html/smsengine/enginecheck/ >> /var/www/html/smsengine/log/engine_30minutes.log
#30 12 * * * sh /var/www/html/smsengine/enginecheck/ >> /var/www/html/smsengine/log/engine_12oclock.log00 01 * * * sh /var/www/html/smsengine/enginecheck/ >> /var/www/html/smsengine/log/engine_day.log*/1 * * * * sh /var/www/html/smsengine/enginecheck/ >> /var/www/html/smsengine/log/engine_1minute.log*/1 * * * * sh /var/www/html/smsengine/enginecheck/ >> /var/www/html/smsengine/log/engine_telco.log*/1 * * * * sh /var/www/html/smsengine/enginecheck/ >> /var/www/html/smsengine/log/engine_app.log#00 07 * * * sh /var/www/html/smsengine/enginecheck/ >> /var/www/html/smsengine/log/engine_morning.log
00 */1 * * * sh /var/www/html/smsengine/enginecheck/ >> /var/www/html/smsengine/log/engine_1hour.log

SymptomsHow to set max_allowed_packet size to 16 MB for MySQL?
ResolutionFollow the steps below to achieve the same:
Connect to the server using SSH/RDP.Set the max_allowed_packet value in [mysqld] and [mysqldump] sections of my.cnf file:
[mysqld] max_allowed_packet=16M …. [mysqldump] max_allowed_packet=16M
Restart MySQL service:
# service mysqld restart mysql start/running, process 2496

How to Verify a CentOS Linux Server is 32 Bit or 64 Bit

To verify if a system is 32 bit versus 64 bit you can use the uname command. Below are examples of using the uname command from the CLI on a 32 bit system followed by using the uname command on a 64 bit system.

32 Bit CentOS Linux Server


[root@server ~]# uname -a

Linux 2.6.18-92.1.13.el5 #1 SMP Wed Sep 24 19:33:52 EDT 2008 i686 i686 i386 GNU/Linux

64 Bit CentOS Linux Server

[root@server ~]# uname -a
Linux 2.6.18-53.1.21.el5 #1 SMP Tue May 20 09:35:07 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux

As you can see above the 64 bit server will show x86_64 numerous times after the install date and time. The 32 bit system will show i686 and i386 after the install date and time. So it is very easy to verify if a system is 32 bit versus 64 bit using the “uname -a” command from a shell.

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)

The following steps are to reset the password for a user in case you forgot, this would also solve your mentioned error.

First, stop your MySQL:

sudo /etc/init.d/mysql stop


sudo service mysqld stop

Now start up MySQL in safe mode and skip the privileges table:

sudo mysqld_safe --skip-grant-tables &

and then Login with root:

mysql -uroot

And assign the DB that needs to be used:

use mysql;

Now all you have to do is reset your root password of the MySQL user and restart the MySQL service:

update user set password=PASSWORD("YOURPASSWORDHERE") where User='root';

flush privileges;

quit and restart MySQL:


sudo /etc/init.d/mysql stop sudo /etc/init.d/mysql start Now your root password should be working with the one you just set, check it with:

mysql -u root -p



it works!!!

Model could not be loaded while executing query [Phalcon Framework]

i get some trouble when using model query for execute in phalcon framework like this sample and the result :

$query = new Query(
“SELECT * FROM Campaign”,

Model ‘Campaign’ could not be loaded
#0 [internal function]: Phalcon\Mvc\Model\Manager->load(‘Campaign’, true)
#1 [internal function]: Phalcon\Mvc\Model\Query->_prepareSelect()
#2 [internal function]: Phalcon\Mvc\Model\Query->parse()
#3 /var/www/html/gamanads/app/controllers/AdspaceController.php(185): Phalcon\Mvc\Model\Query->execute()
#4 [internal function]: Vokuro\Controllers\AdspaceController->offerwallAction()
#5 [internal function]: Phalcon\Dispatcher->callActionMethod(Object(Vokuro\Controllers\AdspaceController), ‘offerwallAction’, Array)
#6 [internal function]: Phalcon\Dispatcher->_dispatch()
#7 [internal function]: Phalcon\Dispatcher->dispatch()
#8 /var/www/html/gamanads/public/index.php(41): Phalcon\Mvc\Application->handle()
#9 {main}

how i solve this problem is just, get full path for the model in models folder like this.

$query = new Query(
“SELECT * FROM Vokuro\Models\Campaign”,

and, taraaaaaa…. works very well.


Expected response code 250 but got code “535”, with message “535-5.7.8 Username and Password not accepted


recently encountered a SwiftMail error while trying to send a mail through gmail.

Expected response code 250 but got code “535”, with message “535-5.7.8 Username and Password not accepted.
I was trying to send mail through my gmail and google thought that I was a spam(maybe because I was requesting too fast) I received a mail from them saying my account was access and I told them it was me. I was able to send mail without problem and it just occured now.


I researched on the internet and some answers includes enabling the “access for lesser app” and “unlocking gmail captcha” which sadly didn’t work for me until I found the 2-step verification.

What I did the following was:

  1. enable the 2-step verification to google HERE
  2. Create App Password to be use by your system HERE
  3. I selected Others (custom name) and clicked generate
  4. Went to my env file in laravel and edited


  5. Restarted my apache server and boom! It works again.

This was my solution. I created this to atleast make other people not go wasting their time researching for a possible answer.

i hope this trick will solve the problem especially if you user php framework with mail library.