- Update System
sudo pkg update
sudo pkg upgrade
2. Instalasi Nginx
sudo pkg install nginx
sudo sysrc nginx_enable=yes
sudo service nginx start
Konfigurasi Server Block
Membuat folder untuk document root.
mkdir -p /var/www/lms.uncen.ac.id/public_html
echo “hello world” > /var/www/lms.uncen.ac.id/public_html/index.html
Membuat folder untuk menyimpan file konfigurasi server block.
mkdir -p /usr/local/etc/nginx/vhosts
nano /usr/local/etc/nginx/vhosts/lms.uncen.ac.id.conf
server {
listen 80;
server_name lms.uncen.ac.id;
root /var/www/lms.uncen.ac.id/public_html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
access_log /var/log/nginx/lms.uncen.ac.id_access.log;
error_log /var/log/nginx/lms.uncen.ac.id_error.log;
}
nano /usr/local/etc/nginx/nginx.conf
Tambahkan konfigurasi di bawah ini sebelum penutup http.
http {
…
include /usr/local/etc/nginx/vhosts/*.conf;
}
nginx -t
Jika tidak ada kesalahan.
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
service nginx restart
Install PHP (moodle4.5 menggunakan php81
pkg install php81-curl php81-ctype php81-dom php81-fileinfo php81-filter php81-gd php81-iconv php81-intl php81-mbstring php81-opcache php81-session php81-simplexml php81-soap php81-tokenizer php81-xml php81-xmlreader php81-zip php81-zlib php81-sodium php81-pgsql
Buka file konfigurasi PHP-FPM.
nano /usr/local/etc/php-fpm.d/www.conf
Aktifkan dan sesuaikan konfigurasi berikut.
listen = /var/run/php81.sock
listen.owner = www
listen.group = www
listen.mode = 0660
Buat file php.ini
cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.default
ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
nano /usr/local/etc/php.ini
Opsi yang diaktifkan dan diubah.
cgi.fix_pathinfo=0
max_input_vars = 1000 ubah menjadi
max_input_vars = 5000
Aktifkan dan jalankan service php-fpm.
sysrc php_fpm_enable=”YES”
service php_fpm start
Konfigurasi server block untuk membaca script PHP.
nano /usr/local/etc/nginx/vhosts/lms.uncen.ac.id.conf
Ubah konfigurasinya menjadi seperti di bawah ini (versi php disesuaikan dengan php yang diinstall).
server {
listen 80;
server_name lms.uncen.ac.id;
root /var/www/lms.uncen.ac.id/public_html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location /dataroot/ {
internal;
alias /var/www/lms.uncen.ac.id/moodledata;
}
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php81.sock;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
access_log /var/log/nginx/lms.uncen.ac.id_access.log;
error_log /var/log/nginx/lms.uncen.ac.id_error.log;
}
nginx -t
service nginx restart
Buat file info.php.
echo “” > /var/www/moodle.musaamin.my.id/public_html/info.php
untuk hapus file info php dan index.html
rm -f /var/www/lms.uncen.ac.id/public_html/info.php
rm -f /var/www/lms.uncen.ac.id/public_html/index.html
cd /var/www/lms.uncen.ac.id
download file moodle
sudo fetch https://packaging.moodle.org/stable405/moodle-latest-405.tgz
extrak file moodle tar
tar xzvf moodle-latest-405.tgz
copy isi file moodle ke folder public
cp -Rfv moodle/* /var/www/lms.uncen.ac.id/public_html
chown -R www:www /var/www/lms.uncen.ac.id
mkdir /var/www/lms.uncen.ac.id/moodledata
chown -R www:www /var/www/lms.uncen.ac.id/moodledata
3. Instalasi Database Postgresql
sudo pkg install postgresql13-server postgresql13-client
nano /var/db/postgres/data13/pg_hba.conf
sudo sysrc postgresql_enable=yes
sudo service postgresql initdb
sudo service postgresql start
sudo -u postgres psql
CREATE DATABASE moodle WITH ENCODING ‘UTF8’ TEMPLATE=template0;
CREATE USER moodleuser WITH PASSWORD ‘password’;
GRANT ALL PRIVILEGES ON DATABASE moodle TO moodleuser;
\q
u
sudo service nginx restart
catatan apabilah di restrart server database posgre di ulang install dan prosedur runing databasenya
apabila menemukan error
Error: database driver problem detected
The site administrator should verify server configuration
PHP has not been properly configured with the PGSQL extension so that it can communicate with PostgreSQL. Please check your php.ini file or recompile PHP.
ubah dan aktihkan extension pgsql pada file php.ini