Install Moodle 3 pada ubuntu Server 16.04 dengan Nginx

Assalamu'alaikum,wr,wb.

Sudah lama tidak nulis, oke mulai nulis lagi dan kali ini akan berbagi cara install moodle 3.3 di Linux Ubuntu 16.04 menggunakan Nginx dan yg pasti menggunakan Php-Fpm.

Sebenarnya installasi moodle 3 sudah banyak di internet, saya coba nulis versi saya karena saya tidak menggunakan webserver apache2 melainkan nginx. Mengapa saya memilih nginx ? , soalnya saya ada mesin yang speknya kecil di ram, yaitu 2Gb dengan prosesor intel core i3 (pc server ujicoba) , karena kapasistas kecil saya coba menggunakan nginx dibanding apache2 yang lebih boros memakan resource.

Oke kita mulai,

Hal pertama yg perlu dilakukan adalah install osnya dulu :) , silahkan installasi os ubuntu 16.04 server terlebih dahulu dengan install polos. Saya harap yang membaca blog saya ini sudah menginstall ubuntu 16.04 server.

Baik untuk selanjutnya silahkan login root:

Install nginx , perhatian jika sebelumnya Anda terlanjur install apache , silahkan stop servicenya terlebih dahulu:

# service apache2 stop
# systemctl disable apache2
# update-rc.d -f apache2 remove


Oke selanjutnya install Nginx :

# apt-get install nginx

Kemudian start nginx dan buat otomatis boot nginx.

# systemctl start nginx
# systemctl enable nginx

Selanjutnya intsall PHP-FPM7.0

# sudo apt-get install -y graphviz aspell php7.0-fpm php7.0-cli 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-json php7.0-opcache php7.0-readline php7.0-mbstring php7.0-soap

Setelah selesai install PHP-FPM , selanjutnya edit file php.ini 

# pico /etc/php/7.0/fpm/php.ini

Rubah pada 

;cgi.fix_pathinfo=1

menjadi 

cgi.fix_pathinfo=0

setelah dirubah silahkan save.


Selanjutnya edit file www.conf

# pico /etc/php/7.0/fpm/pool.d/www.conf

rubah pada line security.limit_extensions sebagai berikut :

security.limit_extensions = .php

kemudian buat otomatis php-fpm saat boot dan kemudian jalankan.

# systemctl enable php7.0-fpm
# systemctl start php7.0-fpm

Install Mysql , jika Anda sudah menginstall di awal installasi OS, bisa dilewati installasi mysql ini.

# apt-get install  mysql-server mysql-client

Silahkan isikan Password Anda ketika diminta

Selanjutnya silahkan Anda buka file mysqld.cnf

# pico /etc/mysql/mysql.conf.d/mysqld.cnf


[mysqld]

default_storage_engine = innodb
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix

character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
skip-character-set-client-handshake

diatas [mysqld] tambahkan

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4


Selanjutnya restart mysql dan buat otomatis boot untuk mysql.

# systemctl restart mysql
# systemctl enable mysql


Selanjutnya buat database dan user database untuk moodle.

# mysql -u root -p

isikan password root mysql Anda.

Kemudian buat database dan usernya

CREATE DATABASE mdldb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'mdlusr'@'localhost' IDENTIFIED BY 'moodle123';
GRANT ALL PRIVILEGES ON mdldb.* TO 'mdlusr'@'localhost' IDENTIFIED BY 'moodle123';
FLUSH PRIVILEGES;

Kemudian exit dari mysql.


selanjutnya upload atau download file moodle 3.3.2+ atau yang terbaru, extract filenya.

perhatian, silahkan upload atau download moodlenya dan tempatkan di directory /var/www/

jika sudah di extract maka akan ada foleder moodle di /var/www/moodle 


Selanjutnya buat directory moodle data di /var/moodledata

# mkdir /var/moodledata

# chown -R www-data:www-data /var/moodledata

# chmod 777 /var/moodledata

Oke next tahap selanjutnya, configurasi di nginx untuk site-available default :

Jangan lupa untuk copy file default aslinya.

Jika sudah dicopy silahkan paste config dibawah ini :

# pico /etc/nginx/sites-available/default

hapus seluruh isi default dan copy konfigurasi seperti berikut :

server {
        listen   80;
     

        root /var/www/moodle;
        index index.php index.html index.htm;

        server_name example.com;

        location / {
                try_files $uri $uri/ /index.html;
        }

        error_page 404 /404.html;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
              root /usr/share/nginx/www;
        }

        # pass the PHP scripts to FastCGI server listening on the php-fpm socket
  location ~ [^/]\.php(/|$) {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
      include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                
                
        }


}


Oke selanjutnya save file default , dan restart nginx

# systemctl restart nginx

Selanjutnya silahkan install moodle, dengan membuka alamat ip / domain Anda.

-Silahkan pilih bahasa installasinya, jika sudah click next.

-Silahkan isikan website address, moodle directory ( /var/www/moodle/ ) , data directory (/var/moodledata/) , kemudian next.
- Pilih database driver native/mysqli , kemudian next
- isikan configurasi database sebagai berikut :
database host: localhost
database name: mdldb
database user: mdlusr
database password: moodle123
tables prefix: mdl_
database port: 3306
Unix socket: /var/run/mysqld/mysqld.sock

Klik next

- Silahkan continue untuk setuju lisensi

- kemudian masuk kehalaman pengecekan sistem, jika sudah ok semua klik continue

- Anda akan diminta install module , klik continue

- selanjutnya isikan profil admin baik nama user dan password admin.

- Selanjutnya isikan prihal website moodle Anda.

Jika sudah semua, selamat Anda berhasil installasi moodle 3.3.2+ di mesin ubuntu 16.04 dengan Nginx.

\(^_^)/

sekian yah catatan singkat dan kecil ini, jika ada pertanyaan bisa email ataupun komentar disini :)

Wassalamu'alaikum,wr,wb.












Share: