Optimasi SSL Nginx (OCSP Stapling)

By default SSL/HTTPS yang diberikan oleh nginx adalah versi lama, yakni dengan memakai HTTP/1.1, yang tidak secepat HTTP/2. Untuk itu kita perlu merubahnya menjadi versi terbaru yang lebih cepat. Caranya dengan mengubah config nginx. Cari baris yang seperti ini: Ubah menjadi seperti ini: Lalu optimasi (enable OCSP stapling dll) agar lebih cepat dengan menambahkan beberapa baris berikut: Yang paling minimal dari semua di atas untuk menyalakan OCSP Stapling adalah dua bari berikut: Jangan lupa restart nginx setelah memasukkan data di atas. Jika gagal restart (nginx tidak mau jalan) hilangkan baris berawalan berikut dari contoh di atas: Jangan lupa restart nginx … Read more

Memastikan Hanya Satu Instance Bash Script Yang Berjalan

Terkadang kita ingin hanya satu saja (maksimal) script bash yang kita buat yang berjalan. Misalnya dalam keperluan rsync, tentunya kita tidak ingin ada banyak instance berjalan, karena jelas menyedot bandwidth dan CPU yang tinggi. Bagaimana caranya bisa begitu? Caranya tandai saja setiap proses yang berjalan dengan membuat file PID (process ID). Kalau process tersebut masih ada, maka exit script yg baru. Jika sudah mati, barulah boleh jalankan instance baru. Misalnya, kita hanya ingin ada satu instance script rsyncstatic.sh yang berjalan, maka lakukan seperti ini Menyeleksi via Proses Cara lain yang bisa dilakukan adalah melakukan seleksi via proses, jadi misalnya ada … Read more

Menginstall SSL di VestaCP

Catatan: sekarang kita beralih memakai HestiaCP, versi fork dari VestaCP Umumnya kita tentu lebih suka memakai sertifikat SSL gratis, akan tetapi kadang kita tidak bisa seperti itu. Terkadang kita mau tidak mau harus memakai sertifikat SSL berbayar, di antara alasannya adalah waktu hidupnya yang lebih panjang atau memang SSL gratisan (seperti Let’s Encrypt misalnya) tidak bisa dipasang. Lalu bagaimana cara memasang sertifikat yg mudah? Gunakan saja ssls.com, di sana sertifikatnya murah. Setelah Anda beli, lalu Anda cari tombol untuk issue SSL dan masukkan domain yang ingin Anda pasangi SSL. Misalnya begini: Setelah itu nanti akan dibuat private key untuk domain … Read more

Menghapus File Dengan Pola Tertentu Di Folder Tertentu

Pernah berkeinginan untuk menghapus beberapa file tertentu pada folder tertentu (berikut subfoldernya) tapi bingung karena banyak sekali file yg harus dihapus? Jangan khawatir, gunakan saja command line dari Windows. Contohnya untuk menghapus file dengan pola nama berakhiran (1).mp4 pada sebuah folder video anak Islami: DEL /Q /F /S “X:\Islamika\Video Anak Islami\Animation Series*(1).mp4” Referensi: https://stackoverflow.com/questions/1965787/how-to-delete-files-subfolders-in-a-specific-directory-at-command-prompt-in-wind

Mencari Slow Query di MySQL

MySQL Replace Text

Seringkali kita bingung bagian dari website kita kok lambat? Kita juga seringkali tahu bahwa yg lambat adalah salah satu query MySQL, tapi yg mana? Nah caranya, kita coba cari dengan Log Slow Query dari MySQL Jadi ketik “mysql” untuk masuk kode MySQL Command Prompt, lalu ketikkan set global slow_query_log = ‘ON’; set global slow_query_log_file =’/var/log/mysql/slow-query.log’; Setelah itu cek di folder /var/log/mysql/, nanti muncul apa aja slow query yg muncul Setelah itu bisa dicoba matikan slow query lognya, biar ukurannya gak bertambah besar setiap saat Untuk WordPress, setelah ketemu query yg beratnya, kita bisa cari file yg bermasalah dengan “grep”. Kita cari … Read more

Enable Mod Pagespeed dalam CPNginx

Ingin website lebih ngebut dengan mudah? Gunakan saja Google Mod Pagespeed di VPS yang kita pakai. Caranya mudah, cukup lakukan beberapa langkah berikut: [1] Enable mod pagespeed pada cpnginx Ikuti petunjuk di sini, https://cpnginx.com/documentation/googlepagespeed.php Tapi terakhir kali nyobain error saat compile nginx, … Ya, mudahnya minta teknisi Syslint saja untuk membantu [2] Tambahkan beberapa filter berikut di .htaccess ModPagespeedEnableFilters prioritize_critical_css ModPagespeedEnableFilters defer_javascript ModPagespeedEnableFilters sprite_images ModPagespeedEnableFilters rewrite_images ModPagespeedEnableFilters recompress_png ModPagespeedEnableFilters convert_png_to_jpeg,convert_jpeg_to_webp ModPagespeedEnableFilters collapse_whitespace,remove_comments Diambil dari sini Use the Google PageSpeed Module to Dramatically Increase the Speed of Your Website, hasilnya sangat awesome menurut website Moz. Bisa juga ditaruh di pagespeed.conf jika ingin settingnya … Read more

Membuat Collapsible Content

Terkadang kita perlu untuk membuat sebuah collapsible content pada website, misalnya untuk keperluan meringkas konten pada halaman yg panjang. Ada banyak cara yang bisa digunakan untuk hal tersebut, salah satu di antaranya dengan memakai pure css. Kita butuh HTML dan CSS untuk melakukannya. Begini CSS-nya: .wrap-collabsible { margin-bottom: 1.2rem 0; } input[type=’checkbox’] { display: none; } .lbl-toggle { display: block; font-weight: bold; font-family: monospace; font-size: 1.2rem; text-transform: uppercase; text-align: center; padding: 1rem; color: #A77B0E; background: #FAE042; cursor: pointer; border-radius: 7px; transition: all 0.25s ease-out; } .lbl-toggle:hover { color: #7C5A0B; } .lbl-toggle::before { content: ‘ ‘; display: inline-block; border-top: 5px solid … Read more

Menangkap Nama Akhir File via cURL dan PHP

Bagaimana cara untuk mendapatkan nama file dari sebuah link yang melakukan redirect berulang kali, tanpa perlu mendownload file tersebut? Kita bisa gunakan curl. Tepatnya begini caranya: curl -L –head http://repo1/xyz/LATEST 2>/dev/null | grep Location: | tail -n1 | cut -d’ ‘ -f2 Command di atas akan mengambil final header “Location: ” dari redirect. Setelah itu, tangkap hasil outputnya ke php, gunakan parameter kedua dari fungsi exec string exec ( string $command [, array &$output [, int &$return_var ]] ) Referensi: http://no2.php.net/manual/en/function.exec.php https://unix.stackexchange.com/questions/126252/resolve-filename-from-a-remote-url-without-downloading-a-file

Membuat Aplikasi Berjalan Di Belakang (Background Process) Dalam Wakltu Tertentu (Timeout)

Dalam mengelola server linux, terkadang kita perlu untuk menjalankan sebuah aplikasi di belakang layar (background process) agar pekerjaan utama tidak terganggu. Linux memudahkan kita untuk melakukan hal tersebut, caranya hanya dengan menambahkan beberapa directive di belakang command yang sedang berjalan, tepatnya directive “> /dev/null 2>/dev/null &” setelah command yang ingin kita jalankan di belakang layar. Contohnya: rsync -azv /local/directory/ /remote/directory > /dev/null 2>/dev/null & Penjelasan Command Command di atas mendapatkan tiga tambahan directive, yakni: > /dev/null, ini gunanya untuk membuat output process normal (>) dari layar menjadi hilang (/dev/null) 2>/dev/null, ini gunanya untuk membuat output process error (2>) dari layar menjadi … Read more

Increase (Menambah) Koneksi Apache (HTTPD) Maksimal Pada VestaCP

Jika kita mempergunakan server kita sebagai download center, ada baiknya untuk menambah jumlah koneksi maksimal yang bisa dihandle oleh Apache (HTTPD) agar proses download file tidak terhalang oleh limit yang diberikan oleh server. Pada sistem VestaCP (2017) yang dipakai default adalah Server MPM: prefork. Ini sebenarnya kurang bagus karena versi lama, tapi mungkin team VestaCP ada pertimbangan tersendiri sehingga memakai Prefork sebagai setting default pada Apache VestaCP Untuk memastikan apa jenis MPM yg Anda pakai, masuk ke dalam dashboard VestaCP, lalu cari statistik web server. Biasanya ada dengan format https://hostname:8083/list/server/?web Untuk meningkatkan limit koneksinya bisa dilakukan hal sebagai berikut: – pergi … Read more

Htaccess Force Download dan Redirect

Terkadang kita perlu untuk memaksa orang melakukan download pada file-file yang tersedia di website kita, agar file tidak distream tapi didownload oleh web visitor. Terutama jika kita ingin membuat server kita sebagai download center. Nah, jika Anda sedang membutuhkan tips untuk melakukan hal tersebut, berikut caranya: Buat file .htaccess pada folder yg Anda ingin untuk di-force download, lalu tambahkan baris berikut (tambahkan ekstensi file lainnya yang dirasa perlu): <FilesMatch “\.(7z|apk|avi|chm|exe|gif|jpg|jpeg|mov|mp3|mp4|mpg|mpeg|odp|ods|odt|pdf|png|tar|tar.gz|tgz|txt|wmv|zip)$”> ForceType application/octet-stream Header set Content-Disposition attachment </FilesMatch> Referensi: https://www.timewasters-place.com/how-to-force-file-downloading-with-htaccess/

Rate Limiting admin-ajax.php

File untuk berinteraksi dengan metode POST di wordpress adalah file admin-ajax.php, yang terletak di dalam folder /wp-admin/admin-ajax.php. File ini sangat penting akan tetapi bisa menjadi bumerang jika file ini diserang oleh DDoS atau scraper, karenanya perlu untuk dilakukan rate limit. Bagaimana caranya? Pertama, kita jadikan segala akses ke /wp-admin/admin-ajax.php dieksekusi server sebagai /admin-ajax-rate-limited.php, menggunakan rewrite rule Tambahkan baris ini di .htaccess Anda RewriteRule ^wp-admin/admin-ajax.php admin-ajax-rate-limiting.php Berikutnya, buat database untuk menampung data clients IP dan hits yang dilakukan clients DROP TABLE IF EXISTS `clients`; CREATE TABLE `clients` ( `id` int(11) NOT NULL, `ip` char(64) NOT NULL, `hitcount` int(11) NOT NULL, `firsthit` … Read more

Setting Up RAID Monitoring di CentOS

Beberapa provider dedicated server memberikan kita opsi untuk menggunakan Software RAID dalam menggunakan dedicated server yang mereka tawarkan. Yang jadi masalah, sering juga dalam menggunakan dedicated server itu hanya RAID 1 saja yang disetup tapi tidak disediakan fitur monitoring kondisi disk yang sedang berjalan. RAID hanya berguna kalau kita tahu salah satu disk ada yang rusak, kalau tidak tahu ya percuma juga. Nah bagaimana cara setting supaya kondisi kesehatan harddisk termonitor sehingga kita bisa melakukan RAID dengan baik dan benar? Berikut kami quote dari website ioflood: Easy instructions for setting up mdadm / software raid email alerts for failed drives … Read more

Backup Restore MySQL

MySQL Replace Text

Kadang kita perlu untuk melakukan backup dan restore database, dan juga kadang kita perlu untuk melakukan copy seluruh database ke remote server, atau sebaliknya mengambil database dari remote server. Bagaimana caranya? Backup Restore MySQL Lokal backup: # mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql restore:# mysql -u root -p[root_password] [database_name] < dumpfilename.sql Backup Restore MySQL Remote Yang pertama, kita buat koneksi SSH ke remote server dengan public dan private key. Seperti dijelaskan pada postingan untuk melakukan rsync yang telah lalu. Copy Dari Remote Server ke Lokal ssh user@192.168.x.x mysqldump -u username -p’1234′ db-name > /path/file.sql Copy Dari Lokal ke Remote Server … Read more

“BlockQuote” and “Cite” Untuk Mengutip SEO Friendly

I lost 90% of my traffic over night because of duplicate content and I was able to get all my traffic back by using Blockquote with the cite attribute, but also increase by traffic by +82.5%. I wrote a blog post with all data, traffic changes and graphs here (http://condopilot.com/blog/marketing/how-i-increased-my-traffic-825-after-being-penaliz/) and you can clearly see that the blockquote-attribute makes a huge difference. The great thing with it is that you can mark a small part of the page as “Duplicate Content” instead of having to mark the whole page, as you do with a rel=”canonical” tag. Jadi ya, seperti itu, … Read more