Very Senpai

Blogger & Tech Enthusiasm

Cara Mengaktifkan Fitur DNSSEC Domain Dengan Cloudflare

Hello guys, Kalian mungkin pernah melihat tentang fitur ini pada fitur yang ada di domain kalian. DNSSEC seperti namanya dari DNS & SEC, Pertama kali saya mengenalnya saya pikir ini pasti berhubungan dengan keamanan DNS secara terbentuk dari kata DNS dan SECurity kan…hehe . Tetapi sebernernya DNSSEC mempunyai kepanjangan “Domain Name System Security Extension” dan secara gak langsung saya gak salah juga. Intinya fitur ini sebagai bentuk keamanan authentikasi dari domain ke server, kalau data yang berkomunikasi dari domain dan server memanglah dari server yang sesuai dikarenakan menggunakan key sign yang sama sehingga menjadi lebih aman.

Ok langsung aja, untuk menggunakan DNSSEC pada cloudflare tuh gampang banget men, tinggal copy paste key dari cloudflare ke domain manager kalian (tergantung registrar domain kalian). Sebagai contohnya kalian bisa log in ke dashboard cloudflare kalian dan cari menu seperti di bawah ini.

Pilih tab DNS > Scroll kebawah sampai kamu menemukan menu ini

Setelah kamu menemukan menu seperti diatas, selanjutnya bisa langsung klik “Enable DNSSEC”. Maka kamu akan disuguhkan pada halaman seperti di bawah ini.

Tampilan key untuk DNSSEC

Setelah muncul tampilan seperti diatas maka selanjutnya kita akan masukkan kode key diatas untuk disambungkan pada domain manager kita, dimana kita membeli domain. Misalnya jika kalian membeli domain di GoDaddy, Namecheap, IDWebhost..dll maka kalian tinggal masukkan pada domain manager lalu pilih DNSSEC menu pada registrar domain kalian. Dibawah ini contoh registrar yang aku pakai yakni Namesilo maka untuk contohnya seperti gambar dibawah ini.

Masukan semua sesuai dengan detail pada cloudflare

Seperti yang kalian diatas kita tinggal memasukkan kode key yang didapat dari cloudflare pada menu DDNSSEC pada registar kita masing masing. Pastikan semua sudah sesuai dan jika berhasil pada tab DNS dan menu DDNSSEC akan tampil seperti di bawah ini.

DDNSSEC sudah aktif

Yah gampang banget kan ya,dengan firut DDNSEC ini menambah keamanan pada DNS kita biar tidak mudah dibajak (kalo gak salah namanya DNS forged). Jadi domain kalian lebih aman. Selamat Mencoba!

Perbedaan Kabel USB Type A, B, C, Micro, Mini

Kalian ada gadget, hape laptop, printer? pasti udah menyadari interface USB. Yap bener, USB dengan kepanjangan Universal Serial Bus yang digunakan untuk transmisi data dan daya pada perangkat teknologi saat ini. Sejalan dengan perkembangannya interface USB ini banyak mengalami perubahan fisik juga lo dan masing masing bentukan fisik pun mempunyai kompatibilitas masing2. baik dari versi USB (misal USB 1.1, 2.0 , 3.0, 3.1) dan juga power output yang bisa dialirkan pada interface tersebut. oke kita mulai aja dari yang pertama:

  • USB Type A
Tampilan Port USB Type A

Merupakan tipe USB yang paling umum digunakan pada banyak perangkat, biasanya digunakan sebagi base. USB Type A ini untuk sekarang juga mempunyai 2 versi yakni tipe standar dan tipe SuperSpeed. Untuk tipe standar dia mempunyai 4 pin pada portnya yang mendukung hingga bandwidth USB 2.0 (480Mbps) dan pada Super Speed mempunyai 8 pin konektor yang mendukung hingga USB 3.2 (5Gbps-20Gbps).

  • USB Type B
Tampilan Port USB Type B

Tipe USB ini biasanya digunakan pada perangkat printer, scanner dan yang agak mirip skenario tsb. USB ini berbentuk kotak yang agak lebar yang dapat kompatibel dengan transmisi data USB 1.1 hingga 3.x tergantung ujung satunya (biasanya Type A).

  • USB Type C
Tampilan Port USB Type C

Merupakan versi paling terbaru dari interface USB yang penggunaanya dapat dibalik atas maupun bawah karena mempunyai dimensi yang simetris. Jenis ini mendukung bandwidth hingga USB 3.2 (20Gbps) dan sepertinya juga akan mendukung USB 4.0 dikemudian hari. Untuk USB Type C juga mendukung power delivery (tergantung produsen ingin prioritaskan bandwidth atau daya) yang dapat menghantarkan daya hingga 240W (*untuk saat ini). Makanya tidak heran jika interface ini yang paling banyak dijumpai untuk semua perangkat saat ini baik itu laptop, smartphone, monitor, tablet..dll. Karena merupakan interface USB yang paling versatile baik untuk transmisi data bandwidth tinggi maupun tansmisi daya tinggi.

  • Mini USB
Tampilan Port Mini USB

Merupakan interface USB yang sering dipakai sebelum pergantian ke layar capacitive. dapat kita temukan pada handphone lama keluaran 2006 dan juga konsol seperti PSP. Mendukung bandwidht hingga 480Mbps atau USB 2.0. Pada 2007 telah dianggap telah usang karena dimensinya yang terlalu besar untuk prangkat mobile generasi terbaru yang lebih tipis, lalu selanjutnya digantikan oleh micro USB yang akan kita bahas di bawah ini.

  • Micro USB
Tampilan Port Micro USB

Selanjutnya ialah Micro USB, jenis port ini lumayan lama dipakai hingga kini pun masih dipakai meskipun sudah banyak digantikan oleh USB Type C. Kelebihan dari port ini ialah dimensinya yang lebih kecil dari mini USB serta mempunyai fitur yang sama seperti Mini USB.

Jadi itulah macam macam port USBnya men. Sebenernya ada lagi Micro USB SuperSpeed yang merupakan versi high bandwidth dari micro USB yang dapat mendukung transmisi data hingga 6Gbps yang biasa ada pada hardisk enclosure, yang saat ini juga udah mulai digantikan oleh USB type C. Ok, mungkin gitu aja semoga membantu ya!

Perbedaan Condenser Microphone & Dynamic Microphone

Pernah ingin beli microphone tapi kalian bingung karena jenisnya, microphone yang dijual di marketplace emang umumnya ada 2 jenis seperti judul ini. Jadi baik itu Dynamic maupun Condenser Microphone mempunyai cara kerja yang berbeda & kebutuhan yang berbeda juga. Sebelum kita bahas perbedaannya kita mulai dulu dari persamaannya, yang membuat mic bisa pickup suara kita yakni Diafragma (diaphragm). Jadi Diafragma (diaphragm) simplenya seperti speaker kecil yang terbuat dari lembaran (biasanya plastik), magnet dan lilitan tembaga (coil) sebagai penghantar listrik. Cara kerjanya getaran akustik akan menyebabkan Diafragma (diaphragm) bergetar yang selanjutnya akan dikonversi menjadi energi listrik.

Diafragma (diaphragm) pun umumnya ada 2 jenis yakni:

  • Diafragma Besar ( large diaphragm)

Sesuai namanya Diafragma ini mempunyai ukuran yang besar dengan karakteristik polar pattern yang tidak konsisten tetapi mempunyai sensitifitas yang tinggi yang membuatnya bisa menangkap spektrum suara yang lebih luas. Mikrofon dengan Diafragma ini dapat kita temui pada perekaman suara vocal, bass drum dan kadang kadang untuk perekaman ruangan untuk mendapatkan suara yang lebih vintage.

  • Small Diafragma (small diaphragm)

Mikrofon dengan Diafragma ini juga biasa disebut “pencil microphone” yang sangat begus untuk menangkap suara dengan frekuensi tinggi dan mempunyai polar pattern yang konsisten (dikeranakan ukuran diafragma dan massa/beratnya). Karena itu kamu biasanya akan menjumpai mikrofon ini pada snare drum, piano dan gitar akustik.

OK disini kita udah tahu dasar dari microphone, selanjutnya apa sih berbedaan microphone dynamic dan microphone condenser?

  • Dynamic Microphone

Mikrofon dynamic umumnya dapat menangkap berbagai sinyal suara tanpa takut Diafragma akan rusak dikarenakan tingkat sensitifitas yang rendah dan punyai gain bawaan yang tinggi, jadi biasanya akan kalian temui mic ini untuk skenario live / penggunaan di ruang terbuka secara langsung. Meski begitu mikrofon ini juga cocok untuk penggunaan studio untuk drum, intrumen loga, amplifier gitar..dll. Umumnya untuk menangkap suara yang keras.

  • Condenser Microphone

Berbeda dengan dynamic microphone, Condenser Microphone umumnya lebih sensitif dengan getaran suara. Jadi penggunaan mikrofon ini jika kamu terlalu meniup capsule diafragma condenser, maka suara yang dihasilkan akan terdistorsi (dikarenakan sensitifitasannya). Mic ini juga dapat digunakan untuk skenario live kadang kadang, tetapi mic ini umumnya digunakan pada ruangan studio dimana kamu bisa mendapatkan suara dengan rentang tone yang luas dan lebih natural.

Jadi mana microphone yang cocok untuk saya?

Seperti yang diijelaskan diatas, semua kembali pada kebutuhan perekaman kamu. Jika kamu ingin merekam suara keras seperti vocal yang keras, snare drum, keyboard dan intrumen logam maka saya sarankan pilih Dynamic Microphone. Namun jika kamu ingin merekam suara yang tidak keras seperti vocal, bass drum, gitar akustik, piano maka Condenser Microphone menurut saya akan lebih cocok.

Pendinginan PC Water Cooling vs Air Cooling?

Sudah sangat umum kalau semua chip CPU/GPU/SOC bisa sangat panas dan karena itu setiap pembelian chip semicondutor akan dilengkapi dengan sistem pendingin baik itu untuk PC, ponsel, server dan peralatan/komponen elektronik lainnya. Itulah mengapa pentingnya penggunaan cooler / sistem pendiginan yang sesuai kebutuhan masing masing, yang mana untuk PC akan terbagi menjadi dua yakni Liquid / Water Cooling & Air Cooling. Setelah itu akan timbul pertanyaan mana yang terbaik dari kedua sistem pendingin tersebut?

Nah, untuk pertanyaan ini jawabannya mungkin kalian bisa menduganya yakni TERGANTUNG. Kenapa tergantung, karena setiap sistem pendinginan baik liquid cooling & air cooling mempunyai kelebihan maupun kekurangan masing masing yang dapat kalian pertimbangkan. Untuk itu kita akan mulai dari dasarnya yakni bagaimana cooling sistem masing masing bekerja, mulai dari perpindahan panasnya dari awal hingga akhir. Kita mulai dari yang paling umum yakni air cooling atau sistem pendinginan dengan media udara.

CPU Cooler dari be quiet!
  • Air Cooling / Sistem Pendinginan dengan Udara

Sistem pendinginan air cooling merupakan sistem paling tua dan hingga saat ini pun masih dipakai dikarenakan ke efektifitasannya & lebih murah dikarenakan menggunakan media udara yang ada di sekitar kita. Selanjutnya pendinginan air cooler biasanya akan lebih mudah dipasang dan diaplikasikan bahkan oleh pemula sekalipun. Umumnya air cooler dapat mengangani pendinginan CPU/GPU dari low end hingga high end dengan baik (yang optimal biasanya menggunakan kombinasi base dan pipa tembaga yang terhubung dengan heatsink alumunium). Kekurangan dari sistem ini ialah ukuran heatsink yang agak besar dan lebar (meski ada versi low profilenya) jika dibanding liquid cooler base seperti water block yang berkontak langsung dengan sumber panas (lebih hemat ruang). Sehingga kadangkali tidak terlalu bagus untuk segi estetika CPU PC (subjektif).

CPU Cooler dary Corsair Hydro
  • Water or Liquid Cooling / Sistem Pendinginan dengan Cairan

Water Cooler ataupun disebut juga Liquid Cooler merupakan sistem teknologi pendinginan terbaru yang melibatkan cairan untuk memindahkan panas langsung melalui Water Block / Metal Base yang berkontak langsung dengan CPU/GPU. Cara tersebut disinyalir lebih efisien dalam memindahkan panas dari inti chip, walau begitu high end air cooler dapat menyamai efisiensi Liquid cooler dalam hal menurunkan suhu untuk peningkatan performa juga untuk saat ini. Dalam pengggunaannya liquid cooler membutuhkan radiator untuk menghilangkan panas dari cairan yang nantinya bila sudah dingin akan dialirkan lagi ke chip untuk menyerap panas lagi (Banyak varian radiator dari 120mm, 240mm, hingga yang lebih besar lagi). Dengan sistem ini liquid cooler dapat menyerap panas dan menghilangkan panas lebih optimal, dengan begitu chip akan mempunyai headroom untuk meningkatkan performa lagi. Kekurangan dari Liquid Cooler yakni harganya yang lebih mahal dari Air Cooler, meski begitu pemasangan Liquid Cooler bisa membuat sistem kamu lebih baik dalam hal estetika (karena tidak memakai heatsink dalam PC) dan lagi PC kalian akan lebih silent (tidak berisik, karena lebih sedikit fan yang dipasang).

Jadi sistem pendingan mana yang cocok untuk saya?
Jadi intinya akan bergantung pada budget kamu & preferensi sistem yang ingin kamu capai. Jika kamu punya budget yang tidak terlalu tinggi dan tidak terlalu mementingkan noise & Overclocking pada sistem kamu maka Air Cooler adalah jawabannya. Namun jika kamu ingin performa terbaik baik itu untuk overclocking dan sistem silent dan estetik mungkin kamu akan suka dengan liquid cooler.

Kabel RJ45 Cat5, Cat5e, Cat6, Cat6a, Cat7, Cat8? Apa Bedanya?

Halo semua, kalian pernah gak sih ingin tahu perbedaan dari macem macem kabel internet atau disebut juga kabel LAN (ethernet cable) yang beredar saat ini? Saat kita cari di marketplace akan ada banyak banget pilihan dari yang paling mahal sampe yang paling murah sekalipun, tetapi apakah semua sama aja? Jawabannya TIDAK! , setiap jenis kabel mempunyai bandwidth data masing masing dengan spesifikasi yang berbeda beda. Nah, disini aku akan jelasin satu persatu dari mulai kabel internet Cat5 Hingga Cat 8. OK kita mulai aja kalau gitu:

1. Kabel CAT 5 (CAT5)

Kabel Cat5 pertama kali diperkenalkan untuk transmisi data kecepatan tinggi yang dibuat dengan kabel multi pair (4 pasang kabel twisted, dengan jumlah 8 kabel). Kabel ini dapat menangani bandwidth 10/100Mbps dan dapat pasang sepanjang 100 meter. Generasi kabel ini juga sering disebut juga dengan Fast Ethernet. Secara umum kabel Cat5 di desain dapat menangani hingga 100MHz.

Frekuensi kabel: 100Mhz
Bandwitdth Max: 100Mbps
Panjang Max: 100 Meter

2. Kabel CAT 5e (CAT5e)

Kabel Cat5e diperkenalkan sebagai versi “enchance” dari versi sebelumnya dengan improvisasi standar yang lebih ketat yakni IEEE Standart. Versi Cat5e mempunyai noise lebih sedikit dari versi sebelumnya yang berpotensial mengurangi crosstalk (Crosstalk ialah gangguan interfensi dari kabel lain yang berdekatan). Tidak seperti Cat5, versi Cat5e dapat menangani bandwidth lebih besar hingga 1000Mbps dan seringkali disebut dengan gigabit ethernet. Dengan harga yang hampir sama dengan Cat5, Cat5e telah menggantikan Cat5 secara penuh (Cat5 sudah tidak diproduksi saat ini). Untuk kecepatan 1000Mbps/1GBps, kabel Cat5e berjalan pada frekuensi 100-250Mhz.

Frekuensi kabel: 100Mhz – 250Mhz
Bandwitdth Max: 1000Mbps
Panjang Max: 100 Meter

Kabel CAT 6 (CAT6)

Kabel Cat6 diperkenalkan sebagai generasi baru, mempunyai fitur spesifikasi pengkabelan yang lebih baik untuk menghindari crosstalk dan noise yang lebih sedikit dari versi sebelumnya. Desain pengkabelan yang diperbarui bisa dilihat secara fisik yakni jika versi Cat5e mempunyai 1,5 – 2 putaran spiral kabel per CM, beda halnya pada Cat6 yang mempunyai minimal 2 putaran spiral kabel atau lebih per CM & selain itu pada Cat6 juga terdapat separator per sepasang kabel. Versi Cat6 dirancang untuk dapat menangani bandwidth 1Gbps pada jarak 100 meter dengan minimum frekuensi 250Mhz. Jika kabel Cat6 mempunyai panjang kurang dari 55 meter, bandwitdth yang didukung bisa mencapai hingga 10Gbps (tergantung tingkat crosstalk & noise pada kabel). Untuk harga umumnya Cat6 sedikit lebih mahal dari Cat5e dikarenakan spesifikasi kabel yang lebih ketat.

Frekuensi kabel: 250Mhz – 550Mhz
Bandwitdth Max: 1Gbps pada 100 Meter / 10 Gbps pada 55 Meter kebawah
Panjang Max: 100 Meter

Kabel CAT 6 (CAT6a)

Kabel Cat6a di diperkenalkan sebagai versi Augmented jika dibandingkan versi sebelumnya, pada versi Cat6a mempunyai lapisan pelindung yang lebih tebal sehingga mengurangi interfensi crosstalk dan noise yang terjadi. Dengan spesifikasi yang di kembangkan, kabel Cat6a dapat menangani bandwidth hingga 10Gbps pada 100 Meter kabel yang berjalan dengan frekuensi 500Mhz. Cat6a umumnya mempunyai harga sedikit lebih tinggi dari versi Cat6 & dikarenakan versi Cat6a mempunyai pelindung yang lebih tebal dan terkesan kurang fleksibel, Kabel Cat6a cocok digunakan pada lingkungan industri/komersial.

Frekuensi kabel: 500Mhz – 550Mhz
Bandwitdth Max: 10Gbps
Panjang Max: 100 Meter

Kabel CAT 7 (CAT7)

Kabel Cat7 diperkenalkan sebagai generasi terbaru dari versi Cat6a yang juga mendukung bandwidth 10Gbps, namun selain itu Cat7 secara fisik juga mendapatkan pelindung shielding yang lebih baik dari versi sebelumnya dengan satndart yang lebih baru “Class F”. Dengan penambahan shielding tambahan tersebut membuat Cat7 mempunyai peredam Interfensi crosstalk & noise yang lebih sedikit jika dibandingkan versi sebelumnya. Dengan fitur tersebut kabel Cat7 dapat menampung bandwidth hingga 10Gbps dengan stabil dengan frekuensi 600Mhz. Meski dengan standar spesifikasi yang baru pada Cat7, Secara performa Cat6a mempunyai performa yang identik dengan Cat7 dengan harga yang lebih murah dibanding Cat7. Secara umum pada penggunaannya Cat6a sering digunakan untuk sistem Surveilance / Multimedia (sistem pengawasan yang berhubungan dengan kamera CCTV dan Audio Visual) baik itu Cat6a STP/FTP, Pada Cat7 umumnya lebih cocok digunakan pada Data Center dan Jaringan korporasi yang membutuhkan kestabilan transmisi data.

Frekuensi kabel: 600Mhz
Bandwitdth Max: 10Gbps
Panjang Max: 100 Meter

Kabel CAT 8 (CAT8)

Kabel Cat8 diperkenalkan sebagai generasi terbaru dari versi sebelumnya namun begitu juga yang paling berbeda dengan versi sebelumnya. Kabel Cat8 dapat menangani bandwidth 25Gbps hingga 40Gbps dengan frekuensi 2000Mhz. Meski mempunyai kecepatan bandwidth yang mengagumkan, panjang kabel Cat8 hanya dibatasi sampai 30 Meter saja. Walaupun sangat berbeda dengan versi sebelumnya, sama seperti kabel versi sebelumnya, Kabel Cat8 juga kompatibel dengan versi sebelumnya. Untuk saat ini kabel Cat8 merupakan kabel transmisi data tercepat yang menggunakan konektor RJ45.

Frekuensi kabel: 2000Mhz
Bandwitdth Max: 25-40Gbps
Panjang Max: 30 Meter

Nah itu dia perbandingan kabel ethernet yang beredar di pasaran saat ini. Saran dari aku misal kalian bingung mau pilih yang mana, aku saranin belilah sesuai kebutuhan dan pastikan perangkat kalian mendukung kecepatan transmisi data sesuai dengan spesifikasi kabel diatas.

Konfigurasi Web Server Nginx + Cloudflare Pada Raspberry Pi 4 (Part 3)

Halo balik lagi semua, sebelumnya kita udah konfigurasi integrasi cloudflare & SSL. Di part 3 ini kita akan banyak konfigurasi di ubuntunya. Sebelum mulai pastiin kalian udah cek langkah dibawah ini ya.

Ok aku anggap kalian sudah prepare semuanya dan sekarang kalian bisa hidupin Ubuntu Server kalian dan login Super User, caranya ketikkan sudo su pada terminal kalian dan login. Setelah itu kita akan mulai dengan instalasi webserver NGINX, untuk instalasinya kalian bisa pakai command di bawah ini.

apt update
apt install nginx

Setelah proses instalasi selesai kalian bisa menggunakan perintah dibawah ini untuk Stop, Start & Enable untuk memastikan nginx selalu berjalan setiap server kalian dihidupkan. Untuk Commandnya kalian bisa lihat dibawah.

systemctl stop nginx.service
systemctl start nginx.service
systemctl enable nginx.service

Sekarang webserver nginx kalian udah terinstall. Jika kalian telah terhubung ke internet dan mendapat IP Public (dan pastikan port 80 & 443 terbuka) kalian bisa langsung buka domain yang sudah kalian integrasikan di cloudflare di part sebelumnya menggunakan browser kalian, Jika berhasil maka browser akan menampilkan halaman welcome to nginx seperti di bawah ini.

jika halaman ini akan muncul berarti udah sukses, webserver kalian terhubung ke domain

Jika menggunakan nama domain belum bisa terhubung tetapi menggunakan IP Public bisa terhubung berarti IP Public kalian belum terhubung dengan domain kalian di cloudflare, kalian bisa masukkan IP Public yang kalian dapat dari ISP (Pastikan ISP kalian menyediakan IP Public bukan IP Private) dan selanjutnya masukkan IP Public tersebut ke pengaturan DNS domain kalian di akun cloudflare kalian (Kalian juga bisa pakai DDNS Cloudflare jika IP Public yang kalian dapat dari ISP tipe Dynamic). Jika masih belum terhubung juga kalian bisa troubleshoot dengan perhatikan point point dibawah ini.

  • Cek IP yang kalian dapat dari ISP bukan IP Private
  • Cek apakah port forwarding di port 80 & 443 udah terbuka, lalu apa IP Ubuntu Server kalian sudah sama dengan pengaturan IP di Port Forwarding
  • Cek firewall Ubuntu Server kalian apakah sudah open port 80 & 443
  • Cek nameserver domain kalian apa sudah terhubung ke cloudflare

Ok dari sini aku anggap domain kalian sudah terhubung. Selanjutnya kita akan mengkonfigurasi nginx lalu menginstall database (disini saya pakai MariaDB) & PHP. Kita mulai dengan menginstall Maria DB sebagai database server, untuk menginstall MariaDB kalian bisa jalankan command di bawah ini.

apt-get install mariadb-server mariadb-client

Setelah proses instalasi selesai kalian bisa menggunakan perintah dibawah ini untuk Stop, Start & Enable untuk memastikan MariaDB selalu berjalan setiap server kalian dihidupkan. Untuk Commandnya kalian bisa lihat dibawah.

systemctl stop mysql.service
systemctl start mysql.service
systemctl enable mysql.service

Langkah selanjutnya kita akan melakukan instalasi MariaDB, untuk ke tahap secure installation kalian bisa masukkan command dibawah ini dan nanti kalian masukkan password root kalian.

mysql_secure_installation

Setelah muncul prompt pertanyaan, kalian bisa masukkan jawabannya sesuai dengan panduan dibawah ini.

Enter current password for root (enter for none): (Langsung tekan enter aja)
Set root password? [Y/n]: Y
New password: (Masukkan password)
Re-enter new password: (Ulangi masukkan 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

Ok database telah terinstall, selanjutnya kita install PHP. Untuk instalasinya kalian bisa masukkan command di bawah ini (command di bwah ini akan menginstall versi verbaru versi stable pada repository ubuntu).

apt install php-fpm php-mysql

Selanjutnya kita akan mengedit file konfigurasi PHP. Dalam konfigurasi ini mempunyai setting yang optimal untuk CMS wordpress. Karena dalam project ini paling engga skenarionya webserver paling enggak dapat menjalankan CMS wordpress (karena wordpress CMS yang paling banyak dipakai). Lalu karena kita menginstall versi terbaru kalian harus cek dulu versi berapa yang ada di server kalian selanjutnya kalian bisa edit file konfigurasinya, untuk commandnya kalian bisa lihat di bawah ini.

ls /etc/php/
(setelah itu akan muncul directory versinya, untuk punya saya versi 7.4 . kalian bisa ganti dengan versi yang kalian punya)
nano /etc/php/7.4/fpm/php.ini
(Setelah itu ganti beberapa line sesuai konfigurasi di bawah ini)
file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 256M
cgi.fix_pathinfo = 0
upload_max_filesize = 100M
max_execution_time = 360

Ok selesai, untuk setiap kali kalian mengubah pengaturan php.ini jangan lupa untuk restart webserver nginx kalian. Kalian bisa restart nginx dengan command di bawah ini.

systemctl restart nginx.service

Langkah selanjutnya kita tinggal mengisi konten & membuat serverblock pada webserver kita. Kalian bisa mengisi dengan konten website yang sudah kalian punya sebelumnya atau kalian bisa buat website dari 0, kalian juga bisa menginstall CMS favorit kalian seperti wordpress. Untuk pengguna wordpress, jika kalian ingin memindahkan website kalian bisa menggunakan plugin WP duplicator (menurut saya migrasi paling gampang). Mungkin akan saya buatkan tutorialnya di artikel selanjutnya, tetapi menurut pengalaman saya itu paling gampang dan memindahkan full site dengan semua database yang terhubung (website ini dipindahkan pakai plugin WP Duplicator). OK, kalau gitu lanjut kalian bisa masukkan konten website kalian pada directory di bawah ini

mkdir /var/www/namadomain.com
(namadomain kalian ganti domain kalian, lalu paste konten website di directory baru tersebut)
(Selanjutnya jalankan command dibawah ini untuk memberikan permission web server)
chown -R www-data:www-data /var/www/html/namadomain.com/
chmod -R 755 /var/www/html/namadomain.com/

Selanjutnya untuk langkah terakhir kita akan membuat serverblock pada nginx untuk membuat konten website pada directory dapat dibuka sesuai dengan nama domain. Pada serverblock pastikan certificate pem key yang udah kita simpan pada part 2 sebelumnya sudah sesuai dengan nama domain ya. Ok untuk membuat file konfigurasi serverblock di nginx, kalian bisa jalankan command di bawah ini

nano /etc/nginx/sites-available/namadomain.com

setelah itu paste konfigurasi dibawah ini dan ganti dengan nama domain kalian & juga ganti php fpm dengan versi yang kalian pakai.

server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;

server_name  namadomain.com www.namadomain.com; 
root   /var/www/namadomain.com; 
index  index.php index.html index.htm; 

ssl_certificate /etc/ssl/certs/namadomain.com.pem; 
ssl_certificate_key /etc/ssl/private/namadomain.com.pem; 
ssl_client_certificate /etc/ssl/certs/origin-pull-ca.pem; 
ssl_verify_client on; 

client_max_body_size 100M; 

autoindex off; 

location / { 
    try_files $uri $uri/ /index.php?$args; 
} 
location ~ \.php$ { 
     include snippets/fastcgi-php.conf; 
     fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     include fastcgi_params; 
} 
}

Setelah menyimpan file konfigurasi diatas, untuk meng enable pengaturan diatas kalian bisa jalankan command di bawah ini

ln -s /etc/nginx/sites-available/namadomain.com /etc/nginx/sites-enabled/
systemctl restart nginx.service

Dan akhirnya selesai, domain dan konten website kalian telah online di internet. Kalian bisa mengecek langsung pada browser dengan memasukkan nama domain yang kalian setting pada tutorial ini 🙂

Cara Open Port 80, 443, 22 Firewall Ubuntu 20.04 Dengan UFW

Halo semua, mungkin kalian udah tahu kalau setiap kalian menginstall Ubuntu 20.04 sudah include dengan firewall aplikasi yang bernama UFW (uncomplicated firewall) yang secara default ia udah disable. Nah, di artikel kali ini kita bisa manfaatin UFW untuk memproteksi PC/Server kita ataupun membuka port tertentu yang penting seperti port 80 (webserver), 443 (webserver SSL) dan 22 (untuk remote SSH). Oke kita mulai aja, sebelumnya kalian bisa cek dulu status UFW kalian apakah udah aktif atau belum dengan command di bawah ini:

ufw status
atau
ufw status verbose
selanjutnya untuk meng enable ufw bisa dengan cara
ufw enable

1. Web Server

Untuk membuka port 80 (HTTP)

ufw allow http
atau
ufw allow 80

Untuk membuka port 443 (HTTPS)

ufw allow https
atau
ufw allow 443

(Optional) Kalian juga bisa mengatur webserver hanya bisa diakses oleh IP tertentu atau juga hanya membuka port tertentu seperti TCP/UDP. Contohnya kalian bisa lihat di bawah ini

hanya membuka port 80 dengan protocol TCP saja
ufw allow 80/tcp
hanya membuka port 80 pada IP tertentu (misal 192.168.77.22)
ufw allow from 192.168.77.22 to any port 80

2. SSH

Untuk membuka port 22 (SSH)

ufw allow ssh
atau
ufw allow 22

(Optional) Kalian juga bisa mengatur SSH hanya bisa diakses oleh IP tertentu juga seperti diatas (biasanya saya seting sesuai local IP yang terhubung dengan jaringan, biar tidak dapat diakses di internet)

hanya membuka port 22 pada IP tertentu (misal 192.168.77.22)
ufw allow from 192.168.77.22 to any port 22

3. Custom Port lainnya

  • FTP: 21
  • Telnet: 23
  • Winbox: 8291 (mikrotik)

(TIPS) Dan selanjutnya yang terakhir misal kalian melakukan kesalahan dan ingin menghapus pengaturan firewall yang udah kalian buat, kalian bisa pakai command di bawah ini.

command untuk melihat semua rule
ufw status numbered
selanjutnya nanti akan ada nomor sebelah kiri, dan kalian bisa menghapus rule sesuai nomor yang tertera. misal kalian mau menghapus rule nomer 2 kalian bisa pakai command
ufw delete 2

Konfigurasi Web Server Nginx + Cloudflare Pada Raspberry Pi 4 (Part 2)

Halo selamat datang di part 2, pastikan kalian udah melihat part 1 ya sebelum ke tahap ini. Paling enggak kalian udah punya domain yang sudah terhubung di dashboard cloudflare kalian. Ok langsung aja, untuk part 2 kali ini kita akan mengkonfigurasi cloudflare dari SSL, Optimasi hingga keamanan. Selanjutnya kalian bisa buka pada domain kalian yang terhubung di dashboard cloudflare dan pada menu klik tab “SSL/TLS” seperti di bawah ini:

Pada pengaturan SSL/TLS pilih Full (strict) untuk keamanan terbaik

Pada pengaturan SSL/TLS pilih Full (strict). Disini kita akan mengirimkan dan menerima data dari secara terenkripsi dari cloudflare untuk keamanan terbaik, menghindari sniffing dan spoofing pada jaringan lokal kita. Dan juga cloudflare akan mengenkripsi data ke browser yang terhubung dengan cloudflare sehingga data lebih aman. Untuk cara ini kita membutuhkan origin certificate dari cloudflare yang nantinya akan kita pasang pada webserver kita nanti, kalian bisa download di tab SSL/TLS > Origin Server seperti gambar dibawah ini:

disini saya udah buat sebelumnya untuk web ini, kalian bisa create certificate kalau belum ada

Seperti gambar diatas saya sudah mengaktifkan untuk 2 domain saya. Sebelum create certificate jangan lupa turn on Authenticated Origin Pulls dan setelah itu kalian bisa klik create certificate dan akan muncul tampilan seperti di bawah ini:

Pilih RSA (2048), domain yang kalian mau & certificate validity terserah kalian

Selanjutnya untuk private key type pilih RSA lalu pada list Hostname disini akan otomatis menerapkan SSL pada domain kalian, untuk defaultnya dia akan menerapkan pada domain utama dan subdomain tingkat pertama (sub.domain.com akan menggunakan SSL tetapi tidak sub.sub.domain.com). Selanjutnya pada Certificate validity terserah kalian, kalau saya akan menggunakan 15 tahun biar gak ganti2 certificate SSL sampe 15 tahun. Kalau semua sudah selesai kalian bis klik di Create maka cloudflare akan meng generate 2 certificate yang nantinya harus kita simpan. Untuk contohnya seperti gambar di bawah ini:

Cloudflare akan generate Origin Certificate & Private Key

Setelah kalian mendapati tampilan diatas jangan buru buru di close karena kita harus simpan kedua certificate tersebut. Pastikan Key Format dalam bentuk PEM untuk certificatenya. Mungkin kalian bisa simpan dulu semua certificate tersebut sebagai backup nantinya, selanjutnya kalian bisa mulai hidupkan Raspberry Pi 4 kalian yang sudah terinstall OS (untuk saya, saya pakai Ubuntu Server 20.04) dan Login Super User lalu kita bisa mulai menerapkan SSL ke webserver kita.

  1. Untuk Origin Certificate kalian bisa simpan pada directory /etc/ssl/certs/ , dengan nama file = namadomain.com.pem
    Lebih gampangnya: nano /etc/ssl/certs/namadomain.com.pem
    lalu paste Origin Certificatenya
  2. Untuk Private Key kalian bisa simpan pada directory /etc/ssl/private/ , dengan nama file = namadomain.com.pem
    Lebih gampangnya: nano /etc/ssl/private/namadomain.com.pem
    lalu paste Private Key nya
  3. Lalu untuk langkah terakhir karena kita mengaktifkan Authenticated Origin Pulls, kita harus mendownload Origin Pulls Certificate. Kalian bisacari di URL INI dengan nama filenya origin-pull-ca.pem dan masukkan di directory /etc/ssl/certs/
    Lebih gampangnya:
    cd /etc/ssl/certs/
    wget https://support.cloudflare.com/hc/en-us/article_attachments/201243967/origin-pull-ca.pem

Selanjutnya kita akan mengubah semua request yang masuk menggunakan HTTPS, dan untuk itu kita harus meng enable Always Use HTTPS & Automatic HTTPS Rewrites pada SSL/TLS > Edge Certificate. Kalian bisa lihat seperti contoh gambar dibawah ini:

Enable Always Use HTTPS
Enable Automatic HTTPS Rewrites

Dan akhirnya selesai untuk masalah integrasi Cloudflare & SSL Certificatenya men. Selanjutnya kita hanya tinggal mengkonfigurasi Ubuntu Server nya biar terhubung ke CDN Cloudflare. Jadi disini saya akhiri Part 2 disini ya, dan untuk part 3 nanti kita akan full menggunakan Raspberry Pi 4 kita jadi pastikan kalian udah siapin. Kalian bisa remote pake SSH atau langsung konfigurasi nanti, dan oh iya pastiin router kalian udah kalian port forward ke rapberry pi kalian ya dan udah buka port 80 & 443. Ok kalau gitu sampai jumpa di part 3 ya temen temen 🙂

Konfigurasi Web Server Nginx + Cloudflare Pada Raspberry Pi 4 (Part 1)

Halo semua, di artikel kali ini saya akan ngeshare pengalaman saya konfigurasi webserver dengan menggunakan raspberry pi 4 (kelanjutan dari artikel yang lalu). Ok sedikit bocoran aja untuk webserver kita kali ini akan menggunakan Cloudflare + Linux Ubuntu Server 20.04 (atau diatasnya mungkin masih bisa) dengan raspberry pi 4 yang dihubungkan dengan direct boot USB SSD/NVME (kalau kalian ketinggalan bisa lihat artikel ini). Nah selanjutnya peralatan yang bisa kalian siapin di project ini antara lain:

  • Raspberry Pi 4 dengan OS Ubuntu Server 20.04 (atau versi lain jg gpp yg penting paham) kalo bemum install saya ada tutorialnya bisa dilihat disini
  • Router ISP yang sudah di port Forwarding 80 & 443 (kalo yang pakai indihome ini tutorialnya)
  • SSD/NVME beserta USB adapter yang terhubung ke raspberry pi 4 di USB 3.0
  • Domain Name (bisa .com .net .info dll bebas)

Ok kita mulai aja, disini webserver yang akan kita siapkan menggunakan cloudflare sebagai CDN. Karena cloudflare menyediakan CDN secara gratis yang bisa mempercepat performa webserver kita. Pertama kali jika kalian belum mempunyai akun cloudflare kalian bisa daftar disini dan kalau sudah melakukan login, kalian harus menambahkan domain yang sudah kalian punya di cloudflare dan menghubungkannya seperti contoh dibawah ini.

klik di + add site, untuk menambahkan domain

Setelah klik di add site maka akan muncul tampilan seperti di bawah ini untuk memasukkan domain kamu

masukkan nama domain kamu di form tersebut dan tekan add site setelahnya

Jika telah selesai memasukkan domain maka kamu akan dihadapkan dengan tabel pricing seperti dibawah ini, untuk project ini kalian pilih free plan seperti gambar dibawah ini lalu klik continue setelah sudah selesai

pilih free plan (paling bawah) dan lalu klik continue

selanjutnya cloudflare akan mengimpor pengaturan DNS kamu di domain yang saat ini sedang pakai, sehingga ketika kamu ganti nameserver ke cloudflare domain kamu masih online dan menunjuk pada DNS yang sama (intinya nanti pas perpindahan domain gk akan down websitenya). Untuk tahap ini kalian bisa biarin aja atau edit kalau kalian emang mau ganti host, setelah itu kalian klik continue sampai kalian berada pada page seperti gambar di bawah ini.

di tahap ini, kalian bisa ganti name server domain kalian dan point ke NS nya Cloudflare

Setelah itu di tahap ini kalian harus mengganti nameserver domain kalian ke nameserver punya cloudflare untuk menghubungkan domain kalian ke CDN cloudflare. Btw dalam perpindahannya gak akan bikin website kalian down kok, karena cloudflare sudah mengimpor pengaturan DNS domain kalian sebelumnya. Untuk mengganti nameserver kalian bisa ganti di web kalian bisa domain tersebut, contohnya nih domain ini aku beli di namesilo lalu aku harus menggantinya lewat namesilo. kalian bisa lihat contohnya dibawah ini.

ini pengaturan nameserver di namesilo, kalian bisa ganti sesuai dimana kalian daftarkan domain

Setelah sudah selesai mengganti nameserver sesuai pada page di cloudflare selanjutnya kalian bisa klik “Done, check nameservers”. Perpindahan nameserver biasanya membutuhkan waktu 1×24 jam tergantung kebijakan website tempat kalian mendaftar, tapi biasanya tk lebih dari beberapa menit hingga jam. Ok, Jika sudah selesai dan sukses maka domain kalian akan muncul di dashboard cloudflare kalian dengan tanda centang hijau seperti gambar dibawah ini.

jika sudah muncul di dashboard cloudflare seperti ini, maka domain kalian berhasil terhubung

Ok disini kita telah selesai menghubungkan domain ke cloudflare dan saya mutusin untuk melanjutkannya di part 2 karena lumayan panjang kalau di jadikan 1 post. Untuk part 2 nanti akan mencakup konfigurasi cloudflare dan mengaktifkan fitur SSL cloudflare untuk domain kalian. Kalian bisa lanjut ke part 2 dengan klik di bawah ini.

Konfigurasi DDNS Gratis Cloudflare DDClient Ubuntu 20.04

Halo semua, apa kalian pernah kesulitan karena mempunyai ISP dengan IP public dynamic? ya, saya salah satunya dulu tapi sudah tidak lagi sejak saya mengaktifkan DDNS Gratis cloudflare..hahaha . Nah untuk cara ini tuh kalian diharuskan udah punya domain yang terhubung dengan cloudflare (pake nameservernya cloudflare) dan dengan menggunakan API dari cloudflare kita nanti bisa mengubah IP kita di cloudflare sehingga sama dengan server linux yang kita gunakan (kita pakai DDClient, dan ini packagenya linux). Untuk project kali ini yang saya pakai antara lain:

  • Server Linux Ubuntu 20.04 (Linux lain juga bisa, pokok bisa install DDClient)
  • ISP Indihome (ISP Lain jg bisa, pokok yang IP Dynamic)
  • Domain yang udah terhubung di akun cloudflare (saya ada tutorialnya, klik disini)
  • Router yang udah di Port Forward (kebetulan saya pakai tipe F609, untuk tutorialnya klik disini)

Ok kita mulai aja kalau gitu, pertama tama pastikan kalian sudah buka terminal linux pada komputer kalian. Selanjutnya pastikan juga kalian sudah sebagai Super User dalam terminal, jika gak tau kalian bisa ketikkan sudo su dalam terminal dan masukkan password kalian masing masing (kalau pake). Nah sesudah itu kita akan mulai instalasi dan disini aku anggep kalian pakai Ubuntu 20.04 juga (kalau distro lain bisa menyesuaikan mungkin perintahnya). Ok untuk instalasi DDClient kalian bisa masukkan command di bawah ini:

apt install ddclient libdata-validate-ip-perl

Nah tunggu sampai instalasi selesai, dan kalau udah selesai kita perlu patch dengan versi terbaru. Mungkin ada yang tanya kenapa harus di patch? karena DDClient yang di repository itu udah gk di update lagi & juga tidak mendukung API DDNS dari cloudflare jadi kita patch dengan versi terbaru. Ok, untuk command patchnya aku disini pakai wget (kalian bisa pakai tool lain jg bisa, yg penting didonlot).

wget https://github.com/ddclient/ddclient/archive/v3.9.1.tar.gz
tar -xf v3.9.1.tar.gz
cp v3.9.1/ddclient /usr/sbin/ddclient
rm -rf v3.9.1.tar.gz ddclient-3.9.1/
mkdir /etc/ddclient
mv /etc/ddclient.conf /etc/ddclient/

Ok sekarang kalian sudah selesai patching, selanjutnya kalian bisa edit file konfigurasi DDClient dengan directory dibawah ini (disini saya pake nano, kalian bisa pake text editor lain juga yang kalian mau)

nano -w /etc/ddclient/ddclient.conf

Nah kalo udah kebuka, disni kalian untuk bisa menggunakan DDNS Cloudflare kalian diharuskan mempunyai token API dari cloudflare ya. Untuk minta API Key nya kalian bisa klik link ini: https://dash.cloudflare.com/profile/api-tokens . Nah dari situ kalian bisa create token. Contoh gambarnya kek dibawah ini gan.

kalo udah buka url cloudflare diatas, akan ada tampilan gini. klik aja Create Token

Nah kalau udah klik Create Token kita akan dihadapkan lagi untuk mau create API buat apa. Nah karena disini tujuan kita biar bisa ganti IP ke domain menggunakan API sebagai penghubung maka kita membutuhkan API yang bisa edit zone dns di cloudflare secara realtime. Disitu udah disediain templatenya langsung dari cloudflare, kita pilih aja yang Edit zone DNS dan klik di Use Template. Contoh gambarnya kek dibawah ini.

kita butuh API buat edit DNS jadi kita pilih yang Edit zone DNS yak

Nah kalo udah selesai kita dihadapkan lagi pada halaman yang lain. Disini kita tinggal include domain mana yang mau pakai API ini. Kalau aku pakenya untuk semua domainku di cloudflare, jadi aku pilihnya all zones (kalian bisa sesuaikan dengan apa yang kalian mau). untuk contah gambarnya ada dibawah ini.

tinggal edit di include zone aja, disini API saya bisa edit semua zone (Include All Zones)

Setelah kalian selesai create maka akan muncul API key lalu kalian simpan ke notepad atau dimana gitu (soalnya cuman muncul 1 kali ini aja, jadi sebaiknya kalian simpen API Keynya baik baik). Setelah kalian simpen, API key ini nanti dibutuhkan untuk konfigurasi DDClient jadi jangan sampai hilang dulu yak. Ok kita udah selesai dengan API Key, selanjutnya kita balik ke terminal lagi dan kita buka file konfigurasi DDClient. Disini saya pakai nano untuk membuka file (kalian bisa pakai tool lain jg). Buka directory file konfigurasi DDclient dengan cara dibawah ini.

nano -w /etc/ddclient/ddclient.conf

Setelah kalian buka maka akan ada konfigurasi default dari DDClient. Kalian bisa nyontek konfigurasi saya yang uda saya tested sendiri bekerja stabil (udah saya pakai hampir 4 bulan) dan bekerja masih sekarang. Untuk konfigurasinya nanti kalian tinggal ubah nama domain dengan milik kalian & juga API Key milik kalian. Untuk contoh konfigurasinya bisa kalian lihat dibawah ini.

# Configuration file for ddclient generated by barugan
#
# /etc/ddclient.conf
# How offten to check ip address
daemon=360
# Using Cloudflare protocol
protocol=cloudflare
# Tell ddclient to get real ip address
use=web, web=checkip.dyndns.org
# Credentials for Cloudflare api
ssl=yes
server=api.cloudflare.com/client/v4
[email protected]
password=(isikan API Key Disini)
zone=namadomain.com
# Domain for update
namadomain.com, *.namadomain.com

Nah itu dia pengaturan file DDClient. Disitu kalian bisa lihat ada daemon = 360, jadi maksutnya DDClient akan refresh IP setiap 360 detik atau 5 menit. Kalian bisa atur daemon timenya sesuai yang kalian mau juga (tapi ane saranin 5 menit aja uda lumayan kok). Nah disini kita udah selesai untuk semua konfigurasinya & waktunya mengetes apakah DDclient udah jalan sesuai yang kita mau. untuk ngetes kalian bisa pakai command di bawah ini.

ddclient -daemon=0 -verbose -noquiet

Kalau udah di run maka akan muncul apakah update berhasil atau tidak. Kalau berhasil biasanya ada tiulisan Success seperti gambar dibawah ini.

sengaja disensor gan, tapi intinya kalau sukses tampilannya kayak gitu ya

Nah kalau uda sukses kalian bisa cek apakah DDClient udah jalan di background atau enggak. Untuk mengecek statusnya kalian bisa pakai command ini.

service ddclient status

Nah nanti kalau uda berjalan akan muncul tampilan Active (Running). Tetapi kalau belum aktif kalian bisa restart DDClient nya dengan command service ddclient restart . Untuk contoh kalau DDClient udah aktif kalian bisa lihat gambar dibawah ini.

kalau udah running berarti udah sukses gan

Ok jadi kek gitu caranya pakai DDNS gratisan dari cloudflare dan semoga bermanfaat ya bagi kalian 🙂