Cara Konfigurasi Moodle dengan Nginx, MariadB, PHP7.2-FPM
Sebelum kita mengkonfigurasi MOODLE saya jelaskan tentang MOODLE terlebih dahulu. MOODLE (Modular Object-Oriented Dynamic Learning Environment) adalah paket perangkat lunak yang diproduksi untuk kegiatan belajar berbasis internet dan situs web yang menggunakan prinsip social constructionist pedagogy. MOODLE merupakan salah satu aplikasi dari konsep dan mekanisme belajar mengajar yang memanfaatkan teknologi informasi, yang dikenal dengan konsep pembelajaran elektronik atau e-learning. Baik, kita mulai konfigurasinya..
Untuk melancarkan serangan, yang paling utama saya selalu meng up date dan meng upgrade debian dengan konfig :
apt-get update
apt-get upgrade
1. Install Web Server Nginx
Masuk ke console linux lalu kita ketikkan perintah :
apt-get install nginx
Setelah Nginx terpasang, lalu kita mematikan, menghidupkan dan mengaktifkan Nginx saat server mulai
dijalankan, dengan konfig :
systemctl stop nginx.service
systemctl start nginx.service
systemctl enable nginx.service
2. Install Database MariadB
Install
database MariadB dengan perintah berikut ini :
apt-get install mariadb-server mariadb-client
setelah mariadb terpasang, kita matikan, hidupkan dan mengaktifkan MariadB saat server mulai
dijalankan :
systemctl stop mysql.service
systemctl start mysql.service
systemctl enable mariadb.service
Selanjutnya silahkan jalankan perintah berikut ini untuk mengamankan MariadB server :
mysql_secure_installation
akan muncul baris pertanyaan untuk dikonfirmasi y (yes) atau n (no), berikut pertanyaan dan panduan menjawabnya :
- Enter current password for root (enter for none): Tekan Enter
- Set root password? [Y/n]: Y
- New password: Masukkan Password
- Re-enter new password: Ulangi Password
- Remove anonymous users? [Y/n]: Y
- Disallow root login remotely? [Y/n]: Y
- Remove test database and access to it? [Y/n]: Y
- Reload privilege tables now? [Y/n]: Y
Kemudian, edit MariadB dengan ketikkan perintah :
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Setelah terbuka, tambahkan konfigurasi tambahan berikut tepat di bawah baris [mysqld]
default_storage_engine = innodb
innodb_file_per_table = 1
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_file_per_table = 1
innodb_file_format = Barracuda
innodb_large_prefix = 1
tekan ctrl + x ketik y lalu enter, selanjutnya restart MariadB server melalui perintah :
systemctl restart mariadb.service
3. Install PHP 7.2-FPM dan Module Yang Dibutuhkan
Install PHP dan beberapa modul dengan ketikkan perintah :
apt-get install apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo “deb https://packages.sury.org/php/ $(lsb_release -sc) main” > /etc/apt/sources.list.d/php.list
sh -c ‘echo “deb https://packages.sury.org/php/ $(lsb_release -sc) main” > /etc/apt/sources.list.d/php.list’
apt-get update
apt-get upgrade
apt-get install php7.2-fpm
Install beberapa modul-modul yang dibutuhkan oleh Moodle :
apt-get
install aspell graphviz clamav php7.2-common php7.2-mbstring
php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql
php7.2-cli php7.2-ldap php7.2-zip php7.2-curl
Setelah php7.2 dan modul-modul dan masyarakatnya terinstall selanjutnya
silahkan edit konfigurasi php.ini agar kinerja server lebih mantap bin muantul.
Untuk melakukannya ketikkan perintah :
nano /etc/php/7.2/fpm/php.ini
Edit nilai/value-nya sebagai berikut :
file_uploads = On
allow_url_fopen = On
memory_limit = 512M
upload_max_filesize = 64M
max_execution_time = 360
post_max_size = 80M
cgi.fix_pathinfo = 0
allow_url_fopen = On
memory_limit = 512M
upload_max_filesize = 64M
max_execution_time = 360
post_max_size = 80M
cgi.fix_pathinfo = 0
4. Membuat Database Moodle
Kita buat database Moodlenya, bila ada
pertanyaan tentang password masukkan password yang telah dibuat saat
Instalasi MariadB pada langkah 3.
mysql -u root -p
Berikutnya buat nama database, buat misalnya dengan nama moodle, dan jalankan dengan perintah :
CREATE DATABASE moodle
Buat Nama User database misalnya moodleuser dan gunakan password baru user :
CREATE USER ‘moodleuser’@’localhost’ IDENTIFIED BY ‘password’
Berikutnya ketikkan perintah berikut ini :
GRANT ALL ON moodle.* TO ‘moodleuser’@’localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION
FLUSH PRIVILEGES
EXIT
5. Install Moodle
Langkah berikutnya kita lakukan pemasangan Moodle di server.Ketikkan
perintah berikut ini untuk mendownload Moodle release terbaru.
cd /tmp
wget https://download.moodle.org/download.php/direct/stable34/moodle-latest-34.tgz
Jalankan perintah berikut untuk mengekstrak file download Moodle ke folder default root Apache2.
tar -zxvf moodle-latest-34.tgz
mv moodle /var/www/html/moodle
Berikutnya adalah membuat folder moodledata sebagai tempat database moodle
cd
mkdir /var/moodledata
berikutnya adalah change modify the directory permission folder moodle dan moodledata
chown -R www-data /var/www/html/moodle
chmod -R 777 /var/www/html/moodle
chown -R www-data /var/moodledata
chmod -R 777 /var/moodledata
Lakukan Reboot pada server, dengan menjalankan perintah :
reboot
6. Konfigurasi Situs Moodle di Nginx
Konfigurasi pada nginx, lakukan sedikit
pengeditan letaknya pada direktori /etc/nginx/nginx.conf, silahkan buka
dengan ketikkan perintah :
nano /etc/nginx/nginx.conf
Lakukan sedikit pengatuaran pada keepalive_timeout berikan nilai yang wajar misalnya 2 seconds
[…]
keepalive_timeout 2;
[…]
keepalive_timeout 2;
[…]
Konfigurasi pengaturan file di Nginx
untuk Moodle. Pada file inilah akan dikontrol bagaimana user bisa
mengakses konten Moodle.Ketikkan perintah berikut ini untuk membuat
file konfigurasi dan namakan saja filenya dengan moodle :
nano /etc/nginx/sites-available/moodle
Selanjutnya, copy dan paste script berikut dan sesuaikan dengan domain yang kita pakai, setelah itu simpan dan tutup :
server {
listen 80;
listen [::]:80;
root /var/www/html/moodle;
index index.php index.html index.htm;
server_name 192.168.0.200;
location / {
try_files $uri $uri/ =404;
}
location /dataroot/ {
internal;
alias /var/moodledata/;
}
location ~ [^/]\.php(/|$) {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
listen 80;
listen [::]:80;
root /var/www/html/moodle;
index index.php index.html index.htm;
server_name 192.168.0.200;
location / {
try_files $uri $uri/ =404;
}
location /dataroot/ {
internal;
alias /var/moodledata/;
}
location ~ [^/]\.php(/|$) {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Berikutnya aktifkan moodle di nginx dengan mengkopi/menduplikat
/etc/nginx/sites-available/moodle ke /etc/nginx/sites-enabled, melalui
perintah :
ln -s /etc/nginx/sites-available/moodle /etc/nginx/sites-enabled/
Untuk memastikan konfigurasi yang kita lakukan benar ketikkan perintah berikut ini :
nginx -t
dan apabila konfigurasi benar, maka outputnya adalah seperti ini :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
nginx: configuration file /etc/nginx/nginx.conf test is successful
Untuk memastikan bahwa PHP yang dipasang sudah PHP7.2-FPM, maka
buatlah file php.info di dokumen root var/www/html/moodle, dengan
perintah :
nano /var/www/html/moodle/info.php
dan isi kan :
<?php
phpinfo();
phpinfo();
simpan dan tutup
Selanjutnya, restart nginx dengan ketikkan perintah :
systemctl restart nginx.service
Sekarang kita cek dengan mengetikkan http://192.168.0.200/moodle
Daftar pustaka
Daftar pustaka
Cara Install Moodle di Debian 9 Menggunakan Nginx, MariadB, PHP7.2-FPM.
https://www.sudutbaca.com/cara-install-moodle-di-debian-9-menggunakan-nginx-mariadb-
php7-2-fpm/
No comments:
Write komentar