Konfigurasi FreeNas


Langkah - Langkah Mandaftarkan Hardisk dan Cache : 
1. Login ke aplikasi 
2. Klik Storage > Pools
3. Klik Add
4. Create New Pool > Create Pool
5. Isi Nama > Pilih Disk > Pilih Miroring 
6. Klik VDEV > CACHE 
7. Pilih Disk Cache 
8. Kemudian Klik Create 

Membuat Folder Sharing
1. Klik Storage > Pools
2. Klik tanda titik tiga pada pool > pilih Add Dataset
3. Isi Nama kemudian Submit

Membuat User 
1. Klik menu Accounts > Users
2. Klik Add
3. Lengkapi Data User dan Password > kemudian Submit

Sharing Data
1. Klik Menu Sharing > Windows Share (SMB)
2. Klik ADD
3. Pilih Folder > Klik Submit
4. Klik Configure Now
5. Pilih Restricted Kemdian Continue
6. Pilih User yang digunakan kemudian centang Apply User
7. Pilih Group yang digunakan kemudian centang Applay Group
8. Klik Save

WebDAV Share
1. Klik menu Sharing > WebDAV Shares
2. Klik ADD
3. Isi Nama > Pilih Lokasi > Centang Read Only
4. Hilangkan Centang Change User & Group Ownership
5. Klik Submit
6. Klik menu Storage > Pools
7. Pilih Folder yang akan digunakan untuk WebDav dengan mengklik titik 3
8. Klik Edit Permissions
9. Klik Add Acl Item
10. Isi Data who : User
11. Isi User : webdav
12. isi Permissions : Read
13. Klik Save

Merubah Port dan Sandi WebDAV
1. Klik menu Services
2. Pilih tanda pensil pada WebDAV
3. Ubah Protocol sesuai keinginan, contoh : HTTP+HTTPS
4. Isi HTTP Port sesuai keinginan, contoh : 8080
5. Isi HTTPS Port sesuai keinginan, contoh : 8081
6. Pilih HTTP Authentication sesuai keinginan 
7. Pilihan No Authentication berarti tidak perlu login
8. Pilihan Basic Authentication berarti memerlukan  password
9. Jika memilih Basic Authentication harus mengisi password sesuai keinginan 
10. Kemudian Klik Save

Mencoba WebDAV
1. Buka browser
2. Ketikkan http://ip_free_nas:port_http/nama_webdav contoh : http://192.168.1.100:8080/coba
3. Jika No Authentication tidak memerlukan username dan password sehingga akan langsung muncul
4. Jika Muncul Login Form gunakan User webdav dan password seperti yang dibuat pada langkah diatas 

Cara Mengatasi Invalid Public Key saat Update Debian 11


1. Lihat PUBKEY yang bermasalah misalnya : 

0E98404D386FA1D9
6ED0E7B82643E131
605C66F00D6C9793
93D6889F9F0E78D5

2. Hapus semua file *.pgp menggunakan terminal

apt-key list
rm /etc/apt/trusted.gpg
rm /etc/apt/trusted.gpg.d/*
apt-key list

2. Tambahkan Key Seperti yang ditunjukkan 

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9 6ED0E7B82643E131 605C66F00D6C9793 93D6889F9F0E78D5

apt-key list

3. Update Kembali 

apt update

Debian 11 ARM di STB B860H atau HG680-P


Alat dan Bahan
1. Download USB Burning Tool + Driver 
2. Download Pulpstone
3. Download Firmware HG680 Repark 2023
3. Download Pure Khadas V1 (Jika Terjadi Bootloop/Untuk Mengembalikan Ke TV)
4. Download Bootcard Maker (Jika Gagal Pupstone)
5. Download Uboot (Hanya untuk B680H)
6. Download Armbian 20.10 Bullseye 5.9.0
7. Download Rufus
8. Kabel USB to USB
9. SDCard minimal 8 GB
10. Monitor HDMI
11. Mouse
12 Keyboard

Instalasi Aplikasi
1. Instalasi USB Burning Tool

Langkah - Langkah STB B860H
1. Buka Aplikasi USB Burning Tool
2. Colokkan USB pada PC kemudian colokkan pada port 2 stb sambil menekan tombol power
3. Jika tidak juga berhasil menampilkan di Aplikasi, buka perangkat dengan memperhatikan posisi R di perangkat, langkah yang dilakukan sambil menekan tombol power + short r dan memasukkan USB ke STB
4. Jika sudah berhasil muncul berarti perangkat sudah terdeteksi kemudian lanjut dengan membuka aplikasi Pulpstone dan jalankan file *.bat selanjutnya pilih install 
5. Jika proses 4 mengalami kegagalan silahkan siapkan buat boot menggunakan Bootcard maker, kemudian pasang pada stb dan ulangi langkah 4
6. Jika langkah 4 sudah berhasil silahkan hidupkan stb seperti biasa menggunakan power dilengkapi dengan Monitor HDMI
7. buka sdcard kemudian masukkan ke pc
8. buka aplikasi rufus selanjutnya pilih sdcard dan armbian 
9. jika proses 8 sudah selesai copy file uboot_HG680P.bin ke sdcard kemduian ubah menjadi uboot.bin 
10. Edit file extlinux.conf pada folder extlinux menjadi 

LABEL Armbian
LINUX /zImage
INITRD /uInitrd

# aml s9xxx
FDT /dtb/amlogic/meson-gxl-s905x-p212.dtb
APPEND root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0

11. selanjutnya , rename atau ganti nama file u-boot-s905x-s912  menjadi u-boot.ext
12. cabut sdcard dan masukkan ke stb
13. buka terminal emulator di stb dan ijinkan mode super user
14. masuk ke root dengan su
15. lihat id sdcard : ls storage 
16. Misalkan contoh id sdcard : 8D55-67EE
17. Lakukan perintah berikut ini

cp /storage/8d55-67EE/uboot.bin /sdcard/Download
cd /sdcard/Download
dd if=uboot.bin of=/dev/block/bootloader
reboot update

18. Nanti akan boot ke linux
19. Buatkan Password Root
20 Buatkan User dan Password 


Langkah - Langkah STB HG680P
1. Buka Aplikasi USB Burning Tool
2. Import File Image Firmware Repark 2023
3. Colokkan Kabel Power kemudian Tancapkan USB sambil menekan power
4. Tunggu Proses Sampai Selesai
5. Jika langkah 4 sudah berhasil silahkan hidupkan stb seperti biasa menggunakan power dilengkapi dengan Monitor HDMI
6. buka sdcard kemudian masukkan ke pc
7. buka aplikasi rufus selanjutnya pilih sdcard dan armbian 
8. Edit file extlinux.conf pada folder extlinux menjadi 

LABEL Armbian
LINUX /zImage
INITRD /uInitrd

# aml s9xxx
FDT /dtb/amlogic/meson-gxl-s905x-p212.dtb
APPEND root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0

11. selanjutnya , rename atau ganti nama file u-boot-s905x-s912  menjadi u-boot.ext
12. cabut sdcard dan masukkan ke stb
13. buka terminal emulator di stb dan ijinkan mode super user
14. Lakukan perintah berikut ini
su
reboot update

15. Nanti akan boot ke linux
16. Buatkan Password Root
17. Buatkan User dan Password 

Web Server (Nginx) Ubuntu 22.04 #1 - Instalasi Aplikasi Nginx, PHP-FPM dan Maria DB

Web server adalah sebuah aplikasi yang memberikan layanan berupa text, gambar, audio dan video. Berfungsi untuk menerima permintaan HTTP atau HTTPS dari pengguna menggunakan aplikasi web browser (Chrome, Firefox, dll), kemudian akan memberikan/mengirim respon atas permintaan tersebut kepada pengguna dalam bentuk halaman web.

Berikut ini langkah - langkah instalasi Web Server Nginx : 

1. Instalasi Nginx

apt -y install nginx

2. Melihat Service Nginx

service nginx status


3. Menguji Hasil Instalasi (Menggunakan Browser)


4. Instalasi PHP-FPM

apt -y install php-fpm

5. Service PHP-FPM

service php8.1-fpm status

6. Install Database : Maria DB

apt -y install mariadb-server

7. Service Maria DB

service mariadb status

8. Menguji Instalasi Maria DB (Menggunakan Terminal)

mysql -u root -p



Mengaktifkan Mode ReWrite Debian - Server




Mode ReWrite adalah sebuat module Dalam Apache yang dapat menghilangkah penulisan index.php pada URL sebuah website. Sehingga dengan metode ini URL Seakan - akan terlihat seperti membuka folder. 

Langkah - Langkahnya :

Aktifkan Module Rewrite dengan perintah 

sudo a2enmod rewrite

Tambahkan Konfigurasi Server Apache pada /etc/apache2/sites-available/000-default.conf

<Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

Restart Service Apache

sudo systemctl restart apache2

API Python (Flask dan MongoDB) #8 - Menghapus Data


1. Buka Project pada tutorial ke 2
2. Tambahkan Perintah Berikut ini 
...
@app.route('/hapus', methods=['POST'])
def hapus():
try:
data = request.form.to_dict()
data_token = jwt.decode(data['token'], secret_key, algorithms=['HS256'], verify=True)
mahasiswa_id = data_token['_id']
matkul = mongo.db['matkul'].find_one({'_id': ObjectId(data['matkul_id']), 'mahasiswa_id': mahasiswa_id})
if not matkul:
return jsonify({'info': 'Data Tidak Ditemukan'}), 404
mongo.db['matkul'].delete_one({'_id': ObjectId(data['matkul_id'])})
return jsonify({'info': 'Matkul Berhasil Di Hapus!'})
except jwt.ExpiredSignatureError:
return jsonify({'info': 'Token Kedaluwarsa'})
except jwt.InvalidTokenError:
return jsonify({'info': 'Token Salah'})


...
3. Pastikan Project Sudah Di Run
4. Uji Coba di Postman

Method : POST 
URL : http://localhost:5000/hapus
Form data : 
    token => ambil_dari Login
    matkul_id => id_matkul









API Python (Flask dan MongoDB) #7 - Mengubah Data


1. Buka Project pada tutorial ke 2
2. Tambahkan Perintah Berikut ini 
...
from bson import ObjectId
...

@app.route('/ubah', methods=['POST'])
def ubah():
try:
data = request.form.to_dict()
data_token = jwt.decode(data['token'], secret_key, algorithms=['HS256'], verify=True)
mahasiswa_id = data_token['_id']
matkul = mongo.db['matkul'].find_one({'_id': ObjectId(data['matkul_id']), 'mahasiswa_id': mahasiswa_id})
if not matkul:
return jsonify({'info': 'Matakuliah Tidak Ditemukan', 'id' : data['matkul_id'], 'mahasiswa_id': mahasiswa_id}), 404
ubah_data = {
'nama': data['nama'],
'dosen': data['dosen']
}
mongo.db['matkul'].update_one({'_id': ObjectId(data['matkul_id'])}, {'$set': ubah_data})
return jsonify({'info': 'Data Berhasil Di Ubah!'})
except jwt.ExpiredSignatureError:
return jsonify({'info': 'Token Kedaluwarsa'})
except jwt.InvalidTokenError:
return jsonify({'info': 'Token Salah'})

...
3. Pastikan Project Sudah Di Run
4. Uji Coba di Postman
Method : POST 
URL : http://localhost:5000/ubah
Form data : 
    token => ambil_dari Login
    matkul_id => sesuai_id
    nama => Bahasa Indonesia
    dosen => Dosen Bahasa