/tool netwatch
add down-script=”{\r\
\nlog error (\”WMS is down — trying to reconnect ……\”)\r\
\n:local ip [/ip address get [/ip address find interface=\”namaINTERFACE\”] address];\r\
\n:local ip [put [:pick \$ip 0 [:find \$ip \”/\”]]]\r\
\n/tool fetch http-method=post http-data=\”username=USERNAMEWMS@freeMS&password=PASSWORDWMS\” url=(\”https://welcome2.wifi.id/wms/auth/authnew/autologin/quarantine.php\\?ipc=\$ip&gw_id=GWIDurl&client_mac=MACADDRESSinterface&wlan=WLANurl:UN%20CHECK\”) keep-result=no\r\
\nlog warning (\”WMS is UP\”)\r\
\n}” host=8.8.8.8 interval=10s
Author: suji2019
Penggunaan DNS dari VPN
/ip fi add add list=LOCAL address=127.0.0.0/8 comment=DNS-IcGorontalo
/ip fi add add list=LOCAL address=192.168.0.0/16 comment=DNS-IcGorontalo
/ip fi add add list=LOCAL address=172.16.0.0/12 comment=DNS-IcGorontalo
/ip fi add add list=LOCAL address=10.0.0.0/8 comment=DNS-IcGorontalo
/int pptp-client add name=DNS-IcGorontalo connect-to=103.80.80.112 user=DNS-IcGorontalo password=** max-mtu=1492 max-mru=1492 add-default-route=no disabled=no comment=DNS-IcGorontalo
/ip fi fi add chain=input src-address-list=!LOCAL protocol=udp dst-port=53 action=drop comment=DNS-IcGorontalo
/ip fi fi move [find comment=DNS-IcGorontalo] 0
/ip fi na add chain=dstnat src-address-list=LOCAL protocol=udp dst-port=53 action=redirect to-ports=53 comment=DNS-IcGorontalo
/ip fi na add chain=srcnat action=masquerade out-interface=DNS-IcGorontalo comment=DNS-IcGorontalo
/ip fi na move [find comment=DNS-IcGorontalo] 0
/ip ro add gateway=172.31.255.254 routing-mark=DNS-IcGorontalo comment=DNS-IcGorontalo
/ip rou rule add action=lookup table=DNS-IcGorontalo dst-address=103.80.80.243 comment=DNS-IcGorontalo
/ip rou rule add action=lookup table=DNS-IcGorontalo dst-address=103.80.80.244 comment=DNS-IcGorontalo
/ip rou rule add action=lookup table=DNS-IcGorontalo dst-address=103.80.80.248 comment=DNS-IcGorontalo
/ip rou rule add action=lookup table=DNS-IcGorontalo dst-address=103.80.80.249 comment=DNS-IcGorontalo
/ip rou rule add action=lookup table=DNS-IcGorontalo dst-address=208.67.220.220 comment=DNS-IcGorontalo
/ip rou rule add action=lookup table=DNS-IcGorontalo dst-address=208.67.222.222 comment=DNS-IcGorontalo
/ip dns set servers=103.80.80.248,103.80.80.249 allow-remote-requests=yes
Memisahkan Trafik Sosial Media dan Streaming
Contoh ada 3 koneksi:
- Indihome 30Mb
- Indihome 10Mb
- Astinet/Telkomsell 2Mb.
Langkah setingnya, yang pasti mikrotik sudah di seting sampai konek internet dengan setingan natnya
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1-indihome
add action=masquerade chain=srcnat out-interface=ether2-indihom
add action=masquerade chain=srcnat out-interface=ether3-astinet
Kemudian buat Address Listnya untuk membedakan Target hostnya
/ip firewall address-list
add address=0.0.0.0/8 list=private-lokal
add address=10.0.0.0/8 list=private-lokal
add address=100.64.0.0/10 list=private-lokal
add address=127.0.0.0/8 list=private-lokal
add address=169.254.0.0/16 list=private-lokal
add address=172.16.0.0/12 list=private-lokal
add address=192.0.0.0/24 list=private-lokal
add address=192.0.2.0/24 list=private-lokal
add address=192.168.0.0/16 list=private-lokal
add address=198.18.0.0/15 list=private-lokal
add address=198.51.100.0/24 list=private-lokal
add address=203.0.113.0/24 list=private-lokal
add address=224.0.0.0/3 list=private-lokal
add address=36.64.0.0/16 list=ggc-telkom
add address=36.65.0.0/16 list=ggc-telkom
add address=36.66.0.0/16 list=ggc-telkom
add address=36.67.0.0/16 list=ggc-telkom
add address=36.68.0.0/16 list=ggc-telkom
add address=36.69.0.0/16 list=ggc-telkom
add address=36.70.0.0/16 list=ggc-telkom
add address=36.71.0.0/16 list=ggc-telkom
add address=36.72.0.0/16 list=ggc-telkom
add address=36.73.0.0/16 list=ggc-telkom
add address=36.74.0.0/16 list=ggc-telkom
add address=36.75.0.0/16 list=ggc-telkom
add address=36.76.0.0/16 list=ggc-telkom
add address=36.77.0.0/16 list=ggc-telkom
add address=36.78.0.0/16 list=ggc-telkom
add address=36.79.0.0/16 list=ggc-telkom
add address=36.80.0.0/16 list=ggc-telkom
add address=36.81.0.0/16 list=ggc-telkom
add address=36.82.0.0/16 list=ggc-telkom
add address=36.83.0.0/16 list=ggc-telkom
add address=36.84.0.0/16 list=ggc-telkom
add address=36.85.0.0/16 list=ggc-telkom
add address=36.86.0.0/16 list=ggc-telkom
add address=36.87.0.0/16 list=ggc-telkom
add address=36.88.0.0/16 list=ggc-telkom
add address=36.89.0.0/16 list=ggc-telkom
add address=36.90.0.0/16 list=ggc-telkom
add address=61.5.0.0/17 list=ggc-telkom
add address=61.94.0.0/16 list=ggc-telkom
add address=110.136.0.0/16 list=ggc-telkom
add address=110.137.0.0/16 list=ggc-telkom
add address=110.138.0.0/16 list=ggc-telkom
add address=110.139.0.0/16 list=ggc-telkom
add address=118.96.0.0/16 list=ggc-telkom
add address=118.97.0.0/16 list=ggc-telkom
add address=118.98.0.0/17 list=ggc-telkom
add address=125.160.0.0/16 list=ggc-telkom
add address=125.162.0.0/16 list=ggc-telkom
add address=125.164.0.0/16 list=ggc-telkom
add address=125.165.0.0/16 list=ggc-telkom
add address=125.167.0.0/16 list=ggc-telkom
add address=180.241.0.0/16 list=ggc-telkom
add address=180.242.0.0/16 list=ggc-telkom
add address=180.243.0.0/16 list=ggc-telkom
add address=180.244.0.0/16 list=ggc-telkom
add address=180.245.0.0/16 list=ggc-telkom
add address=180.246.0.0/16 list=ggc-telkom
add address=180.247.0.0/16 list=ggc-telkom
add address=180.248.0.0/16 list=ggc-telkom
add address=180.249.0.0/16 list=ggc-telkom
add address=180.250.0.0/16 list=ggc-telkom
add address=180.251.0.0/16 list=ggc-telkom
add address=180.252.0.0/16 list=ggc-telkom
add address=180.253.0.0/16 list=ggc-telkom
add address=180.254.0.0/16 list=ggc-telkom
add address=222.124.0.0/16 list=ggc-telkom
add address=216.239.32.0/19 list=ggc-telkom
add address=216.58.192.0/19 list=ggc-telkom
add address=172.217.0.0/16 list=ggc-telkom
add address=74.125.0.0/16 list=ggc-telkom
add address=31.13.24.0/21 comment=”Facebook Ireland” list=sosmed
add address=31.13.64.0/18 comment=”Facebook Ireland” list=sosmed
add address=31.13.64.0/19 comment=”Facebook Ireland” list=sosmed
add address=31.13.64.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.65.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.66.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.67.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.68.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.69.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.70.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.71.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.72.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.73.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.74.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.75.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.76.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.78.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.80.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.81.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.82.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.83.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.84.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.85.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.86.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.87.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.90.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.91.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.92.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.94.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.95.0/24 comment=”Facebook Ireland” list=sosmed
add address=31.13.96.0/19 comment=”Facebook Ireland” list=sosmed
add address=45.64.40.0/22 comment=”Facebook Singapore Pte Ltd. Singapore” list=\
sosmed
add address=66.220.144.0/20 comment=”Facebook, Inc. United States” list=sosmed
add address=66.220.144.0/21 comment=”Facebook, Inc. United States” list=sosmed
add address=66.220.152.0/21 comment=”Facebook, Inc. United States” list=sosmed
add address=69.63.176.0/20 comment=”Facebook, Inc. United States” list=sosmed
add address=69.63.176.0/21 comment=”Facebook, Inc. United States” list=sosmed
add address=69.63.184.0/21 comment=”Facebook, Inc. United States” list=sosmed
add address=69.171.224.0/19 comment=”Facebook, Inc. United States” list=sosmed
add address=69.171.224.0/20 comment=”Facebook, Inc. United States” list=sosmed
add address=69.171.239.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=69.171.240.0/20 comment=”Facebook, Inc. United States” list=sosmed
add address=69.171.255.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=74.119.76.0/22 comment=”Facebook, Inc. United States” list=sosmed
add address=103.4.96.0/22 comment=” Temasek Avenue Singapore” list=sosmed
add address=157.240.0.0/17 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.1.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.2.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.3.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.6.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.7.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.8.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.9.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.10.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.11.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.12.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.13.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.14.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.15.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.16.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.18.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.20.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.21.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=157.240.22.0/24 comment=”Facebook, Inc. United States” list=sosmed
add address=173.252.64.0/19 comment=”Facebook, Inc. United States” list=sosmed
add address=173.252.88.0/21 comment=”Facebook, Inc. United States” list=sosmed
add address=173.252.96.0/19 comment=”Facebook, Inc. United States” list=sosmed
add address=179.60.192.0/22 comment=”Edge Network Services Ltd United States” \
list=sosmed
add address=179.60.192.0/24 comment=”Edge Network Services Ltd United States” \
list=sosmed
add address=179.60.193.0/24 comment=”Edge Network Services Ltd United States” \
list=sosmed
add address=179.60.195.0/24 comment=”Edge Network Services Ltd United States” \
list=sosmed
add address=185.60.216.0/22 comment=”Facebook Ireland” list=sosmed
add address=185.60.216.0/24 comment=”Facebook Ireland” list=sosmed
add address=185.60.218.0/24 comment=”Facebook Ireland” list=sosmed
add address=185.60.219.0/24 comment=”Facebook Ireland” list=sosmed
add address=204.15.20.0/22 comment=”Facebook, Inc. United States” list=sosmed
add address=64.63.0.0/18 comment=”MoPub, Inc. United States” list=sosmed
add address=69.195.160.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.162.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.163.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.164.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.165.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.166.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.168.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.169.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.171.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.172.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.173.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.175.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.176.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.177.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.178.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.179.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.180.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.181.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.182.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.184.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.185.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.186.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.187.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.188.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.189.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.190.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=69.195.191.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=103.252.112.0/23 comment=\
“60 Robinson Road, #11-02 BEA Building, Singapore 068892. Singapore” list=\
sosmed
add address=103.252.114.0/23 comment=\
“60 Robinson Road, #11-02 BEA Building, Singapore 068892. Singapore” list=\
sosmed
add address=104.244.40.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=104.244.41.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=104.244.42.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=104.244.43.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=104.244.44.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=104.244.45.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=104.244.46.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=104.244.47.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=185.45.5.0/24 comment=”Twitter International Company Ireland” list=\
sosmed
add address=185.45.6.0/23 comment=”Twitter International Company Ireland” list=\
sosmed
add address=188.64.224.0/24 comment=”Heron SAS France” list=sosmed
add address=188.64.225.0/24 comment=”Heron SAS France” list=sosmed
add address=188.64.226.0/23 comment=”Heron SAS France” list=sosmed
add address=188.64.226.0/24 comment=”Heron SAS France” list=sosmed
add address=188.64.227.0/24 comment=”Heron SAS France” list=sosmed
add address=188.64.228.0/24 comment=”Heron SAS France” list=sosmed
add address=188.64.229.0/24 comment=”Heron SAS France” list=sosmed
add address=192.44.69.0/24 comment=”Crashlytics, Inc United States” list=sosmed
add address=192.133.76.0/22 comment=”Twitter Inc. United States” list=sosmed
add address=192.133.76.0/23 comment=”Twitter Inc. United States” list=sosmed
add address=199.16.156.0/22 comment=”Twitter Inc. United States” list=sosmed
add address=199.16.156.0/23 comment=”Twitter Inc. United States” list=sosmed
add address=199.59.148.0/22 comment=”Twitter Inc. United States” list=sosmed
add address=199.96.56.0/23 comment=”Twitter Inc. United States” list=sosmed
add address=199.96.56.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=199.96.57.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=199.96.58.0/23 comment=”Twitter Inc. United States” list=sosmed
add address=199.96.60.0/23 comment=”Twitter Inc. United States” list=sosmed
add address=199.96.60.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=199.96.61.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=199.96.62.0/23 comment=”Twitter Inc. United States” list=sosmed
add address=202.160.128.0/24 comment=”Twitter Asia Pacific Pte. Ltd. Singapore” \
list=sosmed
add address=202.160.129.0/24 comment=”Twitter Asia Pacific Pte. Ltd. Singapore” \
list=sosmed
add address=202.160.130.0/24 comment=”Twitter Asia Pacific Pte. Ltd. Singapore” \
list=sosmed
add address=202.160.131.0/24 comment=”Twitter Asia Pacific Pte. Ltd. Singapore” \
list=sosmed
add address=209.237.192.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.193.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.194.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.195.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.196.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.197.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.198.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.199.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.200.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.201.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.204.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.205.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.206.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.207.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.208.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.209.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.210.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.211.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.212.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.213.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.214.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.215.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.216.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.217.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.218.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.219.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.220.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.221.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.222.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=209.237.223.0/24 comment=”Twitter Inc. United States” list=sosmed
add address=whatsapp.com comment=whatsapp list=sosmed
add address=whatsapp.net comment=whatsapp list=sosmed
Kemudian tandai trafiknya agar bisa di bedakan.
/ip firewall mangle
add action=mark-routing chain=prerouting dst-address-list=sosmed \ new-routing-mark=SOSMED passthrough=yes
add action=mark-routing chain=prerouting dst-address-list=ggc-telkom \ new-routing-mark=Youtube passthrough=yes
Setelah itu buat routingnya.
/ip route add check-gateway=ping distance=2 gateway=192.168.2.1 routing-mark=SOSMED
add check-gateway=ping distance=3 gateway=192.168.3.1 routing-mark=Youtube
add check-gateway=ping distance=1 gateway=192.168.1.1
sesuaikan dengan setingan ip dan eth di masing2 mikrotik anda
By soeji
PING Stabil Ala GW
/ ip firewall mangle
add chain=prerouting protocol=icmp src-address=192.168.10.0/24 action=mark-connection new-connection-mark=icmp-c comment=”–> ping” disabled=noadd chain=prerouting connection-mark=icmp-c action=mark-packet new-packet-mark=icmp-p comment=”” disabled=no
add chain=prerouting packet-mark=icmp-p action=change-tos new-tos=min-delay comment=”” disabled=no
add chain=prerouting src-address=192.168.10.0/24 protocol=tcp dst-port=53 action=mark-connection new-connection-mark=dns-c comment=”–> dns” disabled=no
add chain=prerouting src-address=192.168.10.0/24 protocol=udp dst-port=53 action=mark-connection new-connection-mark=dns-c comment=”” disabled=no
add chain=prerouting connection-mark=dns-c action=mark-packet new-packet-mark=dns-p comment=”” disabled=no
add chain=prerouting packet-mark=dns-p action=change-tos new-tos=min-delay comment=”” disabled=no
Jika pada mangle terdapat mark packet nya koneksi (IIX / INT) letakkan di bagian bawah mangle tersebut, dan jangan diletakkan di bagian atas. Selanjutnya pada queue type:
/ queue type
add name=”64″ kind=pfifo pfifo-limit=64
Pada queue tree:
/ queue tree
add name=”64″ parent=global-in packet-mark=”” limit-at=0 queue=64 priority=5 max-limit=32000 burst-limit=0 burst-threshold=0 burst-time=0s disabled=noadd name=”ping” parent=64 packet-mark=icmp-p limit-at=8000 queue=64 priority=1 max-limit=16000 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
add name=”dns” parent=64 packet-mark=dns-p limit-at=8000 queue=64 priority=1 max-limit=16000 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
Referensi Moodle API
http://www.refineddata.com/api
https://stackoverflow.com/questions/22161606/sql-query-for-courses-enrolment-on-moodle?rq=1
CREATE DEFINER = `your_user`@`%` PROCEDURE `RemoveUserDataFromCourse`(IN `c_id` int,IN `u_id` int)
BEGIN
# ENROLLMENT
DELETE FROM mdl_user_enrolments WHERE userid = u_id AND enrolid IN (SELECT id FROM mdl_enrol WHERE courseid = c_id);
# LOG, EVENT, POSTS
DELETE FROM mdl_log WHERE course = c_id AND userid = u_id;
DELETE FROM mdl_event WHERE courseid = c_id AND userid = u_id;
DELETE FROM mdl_post WHERE courseid = c_id AND userid = u_id;
# Course completion
DELETE FROM mdl_course_modules_completion WHERE coursemoduleid IN (SELECT id FROM mdl_course_modules WHERE course= c_id and userid=u_id);
DELETE FROM mdl_course_completions WHERE course = c_id AND userid = u_id;
DELETE FROM mdl_course_completion_crit_compl WHERE course = c_id AND userid = u_id;
# Grades from all modules
DELETE FROM mdl_grade_grades WHERE userid = u_id and itemid IN (SELECT id FROM mdl_grade_items WHERE courseid = c_id);
# MODULES
# ASSIGNMENTS
DELETE FROM mdl_assign_grades WHERE userid = u_id AND assignment IN (SELECT id FROM mdl_assign WHERE course = c_id);
# QUIZ
DELETE FROM mdl_quiz_attempts WHERE userid = u_id AND quiz IN (SELECT id FROM mdl_quiz WHERE course = c_id);
DELETE FROM mdl_quiz_grades WHERE userid = u_id AND quiz IN (SELECT id FROM mdl_quiz WHERE course = c_id);
# SCORM
DELETE FROM mdl_scorm_scoes_track WHERE userid = u_id AND scormid IN (SELECT id FROM mdl_scorm WHERE course = c_id);
# CHECK LIST
DELETE FROM mdl_checklist_check WHERE userid = u_id AND item IN ( SELECT mci.id FROM mdl_checklist mc INNER JOIN mdl_checklist_item mci ON mci.checklist = mc.id WHERE course = c_id );
DELETE FROM mdl_checklist_comment WHERE userid = u_id AND itemid IN ( SELECT mci.id FROM mdl_checklist mc INNER JOIN mdl_checklist_item mci ON mci.checklist = mc.id WHERE course = c_id );
# CHOICE
DELETE FROM mdl_choice_answers WHERE userid = u_id AND choiceid IN (SELECT id FROM mdl_choice WHERE course = c_id);
END;
SELECT c.fullname
FROM mdl_course c
JOIN mdl_enrol en ON en.courseid = c.id
JOIN mdl_user_enrolments ue ON ue.enrolid = en.id
WHERE ue.userid = '788'
SELECT cr.SHORTNAME,
cr.FULLNAME,
COUNT(ra.ID) AS enrolled
FROM MDL_COURSE cr
JOIN MDL_CONTEXT ct
ON ( ct.INSTANCEID = cr.ID )
LEFT JOIN MDL_ROLE_ASSIGNMENTS ra
ON ( ra.CONTEXTID = ct.ID )
WHERE ct.CONTEXTLEVEL = 50
AND ra.ROLEID = 5
GROUP BY cr.SHORTNAME,
cr.FULLNAME
ORDER BY ENROLLED ASC
https://docs.moodle.org/36/en/ad-hoc_contributed_reports
QUERY FOR FINAL GRADE MOODLE
select mc.shortname as course_Id,mu.username,
case when ABS(ROUND(mgg.finalgrade, 0) - mgg.finalgrade) <= 0.0000005 then cast(mgg.finalgrade as text) else 'Pending...' end as final_grade,
mgi.itemname
from mdl_grade_grades mgg
join mdl_user mu on mgg.userid=mu.id
join mdl_user_enrolments mue on mue.userid=mu.id
join mdl_grade_items mgi on mgg.itemid=mgi.id
join mdl_course mc on mc.id=mgi.courseid
join mdl_enrol me on mue.enrolid=me.id and me.courseid=mc.id
join mdl_role_assignments mra on mu.id=mra.userid
join mdl_role mr on mra.roleid=mr.id
where mc.category = '1' and -- mdl_course_categories.id = '1'; id=1 => name='Spring 2012' as an example
mr.shortname='student' and -- only get people enrolled with a 'student' role in the course
mgi.itemname ilike '%Final%Grade%'; --anything with 'final' and 'grade' in it regardless of case and surrounding text
Project moodle
$servername = 'localhost';
$username = 'username';
$password = 'password';
$dbname = 'moodle';
$u_moodle = 'theusernameyouwant';
$hp_moodle = password_hash('thepasswordyouwant', PASSWORD_DEFAULT); ///IMPORTANT!
$name = 'first name';
$lname = 'last name';
$email = 'e@m.ail'; ///This have to be verified by you as we're inserting it directly
$course = '123'; //Id that you put in moodle admin, not the real id
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "INSERT INTO 'mdl_user' (auth, confirmed, mnethostid, username, password, firstname, lastname, email)
VALUES ('manual', 1, 1, '$u_moodle', '$hp_moodle', '$name', '$lname', '$email')";
// auth = 'manual', confirmed = 1, mnethostid = 1 Always. the others are your variables
if ($conn->query($sql) === TRUE) {
echo "OKTC";
} else {
////Manage your errors
}
$sql = "SELECT * FROM $m_user WHERE email='$email'";
$result = $conn2->query($sql);
if($row = $result->fetch_assoc()) {
$id = $row['id']; //Id of newly created user. we're using that for to register him on the course
}
////You have to use this if your idnumber for the course is the one you put into moodle (thats not the real id)
$sql = "SELECT id FROM 'mdl_course' WHERE idnumber=$course";
$result = $conn->query($sql);
if(!$result){
///Not existing course, manage your error
}
if($row = $result->fetch_assoc()) {
$idcourse = $row["id"];
}
///I need now the "enrol" id, so I do this:
$sql = "SELECT id FROM 'mdl_enrol' WHERE courseid=$idcourse AND enrol='manual'";
$result = $conn->query($sql);
if(!$result){
///Not enrol associated (this shouldn't happen and means you have an error in your moodle database)
}
if($row = $result->fetch_assoc()) {
$idenrol = $row["id"];
}
///Lastly I need the context
$sql = "SELECT id FROM 'mdl_context' WHERE contextlevel=50 AND instanceid=$idcourse"; ///contextlevel = 50 means course in moodle
$result = $conn->query($sql);
if(!$result){
///Again, weird error, shouldnt happen to you
}
if($row = $result->fetch_assoc()) {
$idcontext = $row["id"];
}
///We were just getting variables from moodle. Here is were the enrolment begins:
$time = time();
$ntime = $time + 60*60*24*$duration; //How long will it last enroled $duration = days, this can be 0 for unlimited.
$sql = "INSERT INTO 'mdl_user_enrolments' (status, enrolid, userid, timestart, timeend, timecreated, timemodified)
VALUES (0, $idenrol, $id, '$time', '$ntime', '$time', '$time')";
if ($conn->query($sql) === TRUE) {
} else {
///Manage your sql error
}
$sql = "INSERT INTO 'mdl_role_assignments' (roleid, contextid, userid, timemodified)
VALUES (5, $idcontext, '$id', '$time')"; //Roleid = 5, means student.
if ($conn->query($sql) === TRUE) {
} else {
//manage your errors
}
mengamankan modem
Yang dibutuhkan :
1. Aplikasi telnet client, kita pake putty dan bisa di download disini : http://game.amanah.biz/putty/
2. IP Modem ZTE F660
===============
STEP BY STEP :
1. Buka aplikasi putty, masukkan IP modem ke kolom yang tersedia, pada pilihan jenis koneksi dibawahnya pilih “Telnet”, jika sudah klik Open. Lihat gambar :

2. Anda akan berhadapan dengan layar menyeramkan hitam nan kelam dengan tulisan Login disana,
ketik root kemudian tekan ENTER, setelah muncul tulisan password, ketik Zte521 kemudian tekan ENTER.
Pada saat anda menulis password, tidak akan muncul bintang2 atau indikator apapun dilayar, tidak perlu galau karena apa yg anda ketik akan tetap terekam. Ingat! Perhatikan huruf BESAR kecil pada password.
Jika berhasil, anda akan berhadapan dengan kotak sibuk alias BusyBox. Sampai disini anda sudah berhasil masuk ke modem anda via TELNET
Lihat Gambar :

3. Pengen liat password login web di modem kita? Silahkan copy baris berikut, kemudian klik kanan pada layar putty tadi, kemudian tekan enter.
sendcmd 1 DB p UserInfo
Lihat Gambar :

Jika berhasil, anda akan berhadapan dengan baris info profil account di modem kita, dan silahkan dicek dibagian baris Username Password nya, adakah user password login modem anda disana? PASTI ADA
Lihat gambar :

4. OK, sekarang kita tes lagi. Kalo diatas kita sudah lihat info account login web modem, kita coba liat info account login telnet modem kita. ketik ulang / copy baris berikut dan kemudian klik kanan pada putty, tekan ENTER.
sendcmd 1 DB p TelnetCfg
Jika berhasil, anda akan melihat baris TelnetCFG, perhatikan pada baris TS_Uname dan TS_UPwd, anda akan melihat user password yang anda pakai untuk login pada telnet putty di awal tadi
Lihat gambar :

5. Sampai disini kita sudah sama2 membuktikan, bahwa user password kita bisa dilihat semuanya oleh siapapun yg punya akses via TELNET ini. Dan yang bisa kita lakukan agar orang lain tidak usil terhadap modem kita adalah, kita ganti password default dari TELNET ini ke password baru.
Caranya? ketik ulang baris berikut ke layar putty, ganti/sesuaikan passwordbaru ke password anda sendiri, kemudian tekan ENTER
sendcmd 1 DB set TelnetCfg 0 TS_UPwd passwordbaru
Jika berhasil, info account TELNET akan tampil dan anda bisa kembali melihat password anda di bagian info tersebut.
Lihat Gambar :

6. SELESAI? Belum, anda harus menyimpan telebih dahulu konfigurasi password baru anda agar tidak berubah sewaktu modem restart. Ketik ulang baris berikut ke layar putty, kemudian tekan ENTER.
sendcmd 1 DB save
Lihat gambar :

7. Sampai disini anda sudah berhasil menyimpan seting penggantian password anda.
Tapi ingat, perubahan ini baru akan diterapkan setelah modem anda restart/reboot. Jadi jika warnet sepi, coba restart modem anda dan cek ulang dengan mengulang langkah telnet dengan password anda sendiri, jika berhasil maka orang lain tidak akan bisa lagi iseng masuk ke modem anda
Selamat Mencoba!
Load balancing 3 isp dengan routing berbeda

Pada kasus ini kita akan membahas tentang cara menggunakan
routing mark pada mikrotik untuk memisahkan bandwith dengan 3 isp yang
berbeda, contoh kasus kita memiliki 3 isp dari ISP INDIHOME, ISP ASTINET
dan ISP MYREPUBLIC . Jika Anda memiliki beberapa koneksi internet ke
router Mikrotik dari satu atau lebih ISP, dan Anda tidak suka dengan
metode load-balancing, maka pilihan yang dapat anda gunakan yaitu
menggunakan metode routing mark Mikrotik untuk memisahkan paket di semua
Link ISP yang akan kita bahas. Routing Mark Mikrotik memungkinkan
administrator jaringan untuk menandai paket berdasarkan atribut atau ip
address yang telah ditentukan dan mengatur gateway. Dengan routing mark
Mikrotik,
administrator jaringan dapat mengklasifikasikan paket ke
dalam grup berdasarkan alamat IP address/ tujuan atau atribut lainnya
dan mengatur gateway yang berbeda untuk setiap grup.
Dengan ini, pengguna yang cocok dengan kriteria yang ditetapkan untuk kelompok tertentu akan memiliki lalu lintas internet yang diarahkan keluar sambungan ISP melalui gateway yang ditetapkan untuk grup itu.
Tanda routing Mikrotik dapat diimplementasikan menggunakan fitur aturan mangle di sub-menu firewall di routerOS. Untuk menandai rute, Anda harus menandai User Connection, Packet dan routing. Routing Mark kemudian dipilih dan diberikan gateway di sub-menu rute.
IP address configuration
| 1234567 | /ip addressadd address=197.26.1.2/30 interface=ether1 comment=ISP1_INDIHOMEadd address=41.12.8.2/30 interface=ether2 comment=ISP2_ASTINETadd address=62.6.14.2/30 interface=ether3 comment=ISP2_ASTINETadd address=192.168.10.1/24 interface=ether4 comment=LAN_LABKOMadd address=192.168.20.1/24 interface=ether5 comment=LAN_SIadd address=192.168.30.1/24 interface=ether6 comment=LAN_AKADEMIK |
NAT Configuration
| 1234 | /IP firewall natadd chain=srcnat out-interface=ether1 action=masqueradeadd chain=srcnat out-interface=ether2 action=masqueradeadd chain=srcnat out-interface=ether3 action=masquerade |
Untuk menandai koneksi, paket dan routing untuk LAN_LABKOM masukkan perintah di bawah ini kedalam new terminal mikrotik. Perhatikan bahwa Routing Mark digunakan untuk menandai paket dan pada packet mark yang digunakan untuk menandai rute.
Mikrotik routing mark configuration
Karena saya memiliki tiga LAN yang dikonfigurasi pada kasus ini, saya akan menggunakan mangle rule untuk menandai koneksi, paket, dan routing untuk masing-masing LAN; LABKOM, SI, dan AKADEMIK , dimulai dengan LABKOM yaitu sebagai berikut:
Routing mark untuk LABKOM
| 1234 | /ip firewall mangleadd chain=prerouting src-address=192.168.10.0/24 action=mark-connection new-connection-mark=labkom_connadd chain=prerouting connection-mark=labkom_conn action=mark-packet new-packet-mark=labkom_packetsadd chain=prerouting packet-mark=labkom_packets action=mark-routing new-routing-mark=labkom_route |
Routing mark Untuk SI
| 1234 | /ip firewall mangleadd chain=prerouting src-address=192.168.20.0/24 action=mark-connection new-connection-mark=si_connadd chain=prerouting connection-mark=si_conn action=mark-packet new-packet-mark=si_packetsadd chain=prerouting packet-mark=HR_packets action=mark-routing new-routing-mark=si_route |
Routing mark Untuk Akademik
| 1234 | /ip firewall mangleadd chain=prerouting src-address=192.168.30.0/24 action=mark-connection new-connection-mark=akademik_connadd chain=prerouting connection-mark=finance_conn action=mark-packet new-packet-mark=akademik_packetsadd chain=prerouting packet-mark=akademik_packets action=mark-routing new-routing-mark=akademik_route |
Setelah menandai rute, kami akan menggunakan sub-menu rute untuk
mengatur gateway yang berbeda untuk semua LAN kami. Lihat perintah di
bawah ini.
Mengatur gateway untuk setiap LAN
| 1234 | /ip routeadd dst-address=0.0.0.0/0 routing-mark=labkom_route gateway=197.26.1.1add dst-address=0.0.0.0/0 routing-mark=si_route gateway=41.12.8.1add dst-address=0.0.0.0/0 routing-mark=akademik_route gateway=62.6.14.1 |
Tambahkan sebuah Gateway Rules
| 1234 | /ip route rule add src-address=192.168.10.0/24 action=lookup table=labkom_routeadd src-address=192.168.20.1/24 action=lookup table=si_routeadd src-address=192.168.30.1/24 action=lookup table=akademik_route |
Untuk membaca lebih lanjut tentang aturan mangle, silakan klik di sini untuk membaca dokumentasi resmi mikrotik.
Tutorial Proxy Squid3
CARA INSTALL MOODLE 3.6 DI DEBIAN 9 MENGGUNAKAN NGINX, MARIADB, PHP7.3-FPM
Dunia pendidikan Indonesia pada akhir-akhir ini telah melalui sebuah era baru dalam sistem pembelajarannya. Seiring dengan kebijakan ujian nasional menggunakan Computer-Base Test (CBT) di jenjang pendidikan SMP dan SMA, sekolah telah mengakrabkan diri menggunakan berbagai macam aplikasi pembelajaran menggunakan Teknologi Informasi berbasis komputer. Penggunaan TIK kebanyakan dipakai untuk melakukan penilaian pembelajaran oleh guru misalnya adalah untuk ulangan harian, ulangan mid semester dan ulangan semester. Aplikasi CBT seperti Beesmart, WokaCBT, moodle dan aplikasi berbayar lainnya menjadi pilihan guru dan tenaga pendidikan di sekolah/lembaganya. Setiap aplikasi memiliki kelebihan dan kekurangan masing-masing tergantung dari sisi mana kita melihatnya. Moodle menurut saya memiliki berbagai kelebihan yang tidak dimiliki oleh aplikasi CBT lainnya. Selain gratis, moodle juga merupakan sebuah aplikasi open source yang terus berkembang dan dipakai di seluruh dunia. Berikut ini saya sajikan bagaimana
Cara Install Moodle di Debian 9 Menggunakan Nginx, MariadB, PHP7.3-FPM .
Moodle sangat fleksibel karena bisa di-Install di berbagai platform sistem operasi seperti windows, linux, MacOs, dan FreeBSD. Bagi Anda yang hanya mengerti sistem operasi windows bisa melakukan Instalasi sendiri menggunakan Xampp, namun secara umum penggunakan moodle di xampp-windows kurang powerfull, cenderung agak berat karena membutuhkan resource memory yang besar. Untuk mengatasi hal tersebut kita bisa menggunakan Linux sebagai server tempat instalasi moodle yang diharapkan lebih cepat, ringan dan membutuhkan resources memory yang lebih kecil. Pada kesempatan ini, saya memilih Debian 9 sebagai OS server moodle.
Untuk web server yang harus diinstall di Debian sebenarnya ada sua pilihan utama yaitu menggunakan Apache bisa juga menggunakan Nginx, mana yang lebih baik ?, silahkan cari informasinya di Mbah Gugel . Demikian juga dengan database server, ada berbagai pilihan bisa menggunakan Mysql, MariadB atau Posgresql. Dan yang terakhir adalah versi PHP, kita bisa memakai versi PHP dari yang lama sampai yang terbaru. Nah diantara berbagai pilihan yang ada, di sini saya memilih Nginx, mariadb dan PHP7.3 yang dipasang di server Debian 9, sementara Moodle yang dipakai adalah moodle terakhir saat tulisan ini muncul yaitu Moodle 3.6. Langsung saja kita mulai bagaimana
Cara Install Moodle di Debian 9 Menggunakan Nginx, MariadB, PHP7.3-FPM.
Langkah-langkahnya adalah sebagi berikut :
1. INSTALL DEBIAN 9
Pada tutorial ini Install Debian 9 sengaja dilewati karena kalau dijelaskan dari awal tentunya kan panjang dan lama. Anda bisa mencari tutorial cara Install Debian server 16.04 di Mbah Gugel jumlahnya sangat banyak. Rekomendasi saya silahkan cari tutorial di howtoforge.com dengan keyword howto install Debian 9 minimal server. Namun jika Anda ingin praktis dan melewati langkah ini tapi tetap melanjutkan ke langkah berikutnya saya sudah menyediakan VHD Debian 9 minimal server. Anda tinggal memasangnya pada virtual box dan menjalankannya. VHD ini hanya berisi kelengkapan dasar bawaan ubuntu server seperti nano dan openssh yang nantinya sangat diperlukan untuk kebutuhan instalasi komponen lainnya. Untuk mendapatkan VHD Debian kosongan ini silahkan download melalui link berikut ini :
VHD Debian 9 Minimal server ini sudah dilakukan pengubahan dari mode IP DHCP ke IP Statis 192.168.0.200 seperti halnya yang dipakai pada IP VHD UNBK. Openssh juga sudah terpasang agar nantinya server ini bisa diremote menggunakan Putty, winscp atau aplikasi remote server lainnya. Akses ssh juga sudah saya aktifkan Root Login Akses agar bisa akses melalui SSH. Sebelum melangkah lebih jauh dalam menjalankan perintah-perintah instalasi komponen server, perlu diketahui bahwa pada tutorial ini, saya menggunakan hak akses sebagai root.
Sebelum melakukan instalasi paket-paket yang dibutuhkan, ketikkan perintah berikut ini untuk update Debian di console linux :
apt-get update
apt-get upgrade
2. INSTALL WEB SERVER NGINX
Masuk ke console linux dengan mengetikkan perintah :
apt-get install nginx
Setelah proses install webserver selesai, untuk memastikan bahwa apache sudah terinstall dengan baik, buka browser dengan mengetikkan IP server pada URL address, maka akan muncul halaman default Nginx seperti ini :
setelah Nginx terpasang, berikut ini perintah yang dapat dilankan untuk mematikan, menghidupkan dan mengaktifkan Nginx saat server mulai dijalankan :
systemctl stop nginx.service
systemctl start nginx.service
systemctl enable nginx.service
3. INSTALL DATABASE MARIADB
Moodle juga memerlukan database server. MariadB merupakan pilihan yang sangat tepat untuk dipakai pada database server. Untuk Install database MariadB jalankan perintah berikut ini :
apt-get install mariadb-server mariadb-client
setelah mariadb terpasang, berikut ini perintah yang dapat dilankan untuk mematikan, menghidupkan 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 Saja
- 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
Selanjutnya, silahkan buka konfigurasi bawaan MariadB dengan menjalankan 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
simpan (ctrl + O, kemudian tekan enter) dan keluar (ctrl + x), selanjutnya restart MariadB server melalui perintah :
systemctl restart mariadb.service
4. INSTALL PHP 7.3-FPM DAN MODULE YANG DIBUTUHKAN
Repository bawaan Debian tidak menyediakan PHP7.3, maka kita membutuhkan repository pihak ketiga untuk mendapatkannya.
Jalankan perintah berikut ini untuk menambahkan repositori pihak ketiga
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 ttps://packages.sury.org/php/ $(lsb_release -sc) main” | tee /etc/apt/sources.list.d/php7.3.list
apt-get update
apt-get upgrade
apt-get install php7.3-fpm
dan Install modul-modul yang dibutuhkan oleh Moodle :
apt-get install aspell graphviz clamav php7.3-common php7.3-mbstring php7.3-xmlrpc php7.3-soap php7.3-gd php7.3-xml php7.3-intl php7.3-mysql php7.3-cli php7.3-ldap php7.3-zip php7.3-curl
Setelah php7.3 dan modul-modul pendukungnya terinstall selanjutnya silahkan edit konfigurasi php.ini agar kinerja server lebih powefull. Untuk melakukannya melalui perintah :
nano /etc/php/7.3/fpm/php.ini
Edit nilai/value-nya sesuaikan dengan kemampuan server
file_uploads = On
allow_url_fopen = On
memory_limit = 128M
upload_max_filesize = 8M
max_execution_time = 60
post_max_size = 8M
cgi.fix_pathinfo = 0
Selanjutnya simpan dan keluar dari editor.
5. MEMBUAT DATABASE MOODLE
Berikut ini adalah langkah-langkah Membuat database Moodle, 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 ‘new_password_here’;
Berikutnya ketikkan perintah berikut ini :
GRANT ALL ON moodle.* TO ‘moodleuser’@’localhost’ IDENTIFIED BY ‘user_password_here’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
6. INSTALL MOODLE
Langkah berikutnya adalah melakukan pemasangan Moodle di server. Saat tulisan ini muncul Moodle terbaru memiliki versi 3.6. Jalankan perintah berikut ini untuk mendownload Moodle release terbaru.
cd /tmp
wget https://download.moodle.org/download.php/direct/stable36/moodle-latest-36.tgz
Jalankan perintah berikut untuk mengekstrak file download Moodle, dan memindahkannya ke folder moodle /var/www/html/moodle
tar -zxvf moodle-latest-36.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
7. KONFIGURASI SITUS MOODLE DI NGINX
Langkah awal melakukan konfigurasi pada nginx, lakukan sedikit pengeditan letaknya pada direktori /etc/nginx/nginx.conf, silahkan buka dengan mengetikkan perintah :
nano /etc/nginx/nginx.conf
Lakukan sedikit pengatuaran pada keepalive_timeout berikan nilai yang wajar misalnya 2 seconds
[…]
keepalive_timeout 2;
[…]
Langkah berikutnya adalah mengkonfigurasi pengaturan file di Nginx untuk Moodle. Pada file inilah akan dikontrol bagaimana user bisa mengakses konten Moodle. Jalankan 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.3-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
Untuk memastikan bahwa PHP yang dipasang sudah PHP7.3-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();
simpan dan tutup editor.
Selanjutnya, restart nginx dengan mengetikkan perintah :
systemctl restart nginx.service
Sekarang kita cek info php, dengan mengetikkan http://192.168.0.200/info.php
Jika ketarangan pada baris Server API menunjukkan FPM/FastCGI maka instalasi PHP7.3-FPM sudah benar dan berjalan dengan baik.
Sumber :
https://www.sudutbaca.com/cara-install-moodle-3-6-di-debian-9-menggunakan-nginx-mariadb-php7-3-fpm/