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:
# 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 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
menjadi
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.
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';
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
# 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.