Mengecek total kapasitas suatu direktori
#du -sh /var/www
Mengecek penggunaan disk total
#df -h –total
Mengecek total kapasitas suatu direktori
#du -sh /var/www
Mengecek penggunaan disk total
#df -h –total
Jika MySQL anda mengalami crash/corrupt dengan pesan error berupa terdapat masalah pada InnoDB, seperti dijelaskan di stackoverflow di tautan ini https://stackoverflow.com/questions/26439742/getting-error-plugin-innodb-registration-as-a-storage-engine-failed-when-sta maka yang bisa kita lakukan adalah
– Login ke server via SSH dengan akses root
– Masuk ke direktori /var/lib/mysql
– Temukan file ib_logfile0 and ib_logfile1, kemudian pindah atau rename file tersebut
– Lakukan stop dan start service MySQL, dengan perintah:
#sudo systemctl stop mysql
#sudo systemctl start mysql
File ib_logfile0 dan iblogfile1 adalah ruang tabel sistem untuk infrastruktur InnoDB, file-file ini berisi beberapa kelas untuk informasi penting bagi InnoDB.
Instalasi Ubuntu server mulai versi 22.04 menurut saya terdapat permasalahan, karena saat proses instalasi berlangsung pengguna tidak disediakan fasilitas untuk melakukan konfigurasi sesuai zona waktu (time zone) kita, misalnya Asia/Jakarta. Setelah instalasi selesai, maka hasil dari pengaturan tanggal/waktu server akan secara otomatis di-assign, dan yang jelas tidak akan sesuai dengan zona waktu yang kita kehendaki. Lalu bagaimana penyelesaiannya, berikut tahapan-tahapannya:
Persiapan
timedatectl set-local-rtc 0
sudo timedatectl set-ntp 1
sudo hwclock –systohc
sudo timedatectl set-ntp 0
Set Tanggal Waktu Secara Manual
sudo timedatectl set-time “06:24:00”
sudo timedatectl set-time “2020-04-23″
sudo hwclock –systohc
atau
sudo date –set=”2020-04-23 06:24:25.990”
sudo hwclock –systohc
Cek Pengaturan Tanggal/Waktu
timedatectl
Berikut adalah beberapa permasalahan SSH yang bisa saja terjadi dan penyelesaiannya:
Unable to negotiate with 10.255.252.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
Penyelesaian:
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c 3des-cbc enduser@10.255.252.1
CSRF (Cross-site Request Forgery) adalah salah satu jenis serangan keamanan web untuk mendapatkan atau mengirim request yang dieksekusi atas wewenang korban, tanpa dikehendakinya. Serangan CSRF dapat terjadi disebabkan karena tidak ada mekanisme perlindungan token keamanan (request token) pada sebuah website, sehingga penyerang dapat mengirim suatu request (misal, submit suatu form) secara ilegal yaitu tidak melalui form yang ada di website tersebut secara langsung. Jika korban tidak hati-hati, serangan CSRF dapat sukses dilakukan denganmemaksa pengguna untuk melakukan permintaan mengubah data seperti profil pribadi, alamat email, bahkan yang lebih berbahaya melakukan transaksi transfer dana.
Konfigurasi
Untuk mengaktifkan CSRF Protection pada Codeigniter 3, perlu dilakukan pengaturan di file /application/config/config.php
$config['csrf_protection'] = TRUE; //set TRUE untuk mengaktifkan proteksi csrf $config['csrf_token_name'] = 'csrf_test_name'; //nama token csrf yang akan digunakan $config['csrf_cookie_name'] = 'csrf_cookie_name'; //nama cookie csrf yang akan digunakan $config['csrf_expire'] = 7200; //jangka waktu csrf token expired, dalam detik $config['csrf_regenerate'] = TRUE; //jika true maka token csrf akan digenerate ulang untuk setiap request
<form method="POST" action="<?=site_url('register/index')?>" class="form-horizontal" role="form"> <input type="hidden" name="<?=$this->security->get_csrf_token_name();?>" value="<?=$this->security->get_csrf_hash();?>" style="display: none"> . . . . </form></div> <div>
var csfrData = {}; csfrData['<?php echo $this->security->get_csrf_token_name(); ?>'] = '<?php echo $this->security->get_csrf_hash(); ?>'; $.ajaxSetup({ data: csfrData });</div> <div>
$.ajax({ url: '<?php echo site_url("post/update") ?>', type: 'POST', dataType: 'json', data: { data: 'data', <?php echo $this->security->get_csrf_token_name(); ?>: '<?php echo $this->security->get_csrf_hash(); ?>' }, });</div> <div>
$config['csrf_exclude_uris'] = array("controllerx.*+");
Konfigurasi di atas berarti melakukan disable proteksi csrf pada alamat url yang dimulai dengan: controllerx, contonya “http://situs.com/controllerx/msg/1
Saya mempunyai vps yang salah satunya saya isi dengan Nextcloud, karena saking malesnya ngelola, Nextcloud saya tersebut tertahan diversi 12 dalam waktu yang cukup lama, kemudian iseng-iseng ingin menambahkan aplikasi untuk membaca file-file dokumen semacam word/excel/powerpoint, salah satu aplikasi yang mesti ditambahkan adalah Collabora Online. Disinilah letak masalahnya, Collabora Online versi terbaru sudah tidak support untuk Nextcloud versi 12. Sehingga mau tidak mau, langkah pertama yang mesti saya lakukan adalah melakukan upgrade versi Nextcloud ke versi yang lebih tinggi atau bahkan versi terbaru saat tulisan ini dimuat yaitu versi 20.
Pertanyaan selanjutnya adalah bagaimana cara melakukan upgrade versi Nextcloud?
Berbagai macam tutorial saya baca, namun tidak ada yang benar-benar yang menjelaskan secara gamblang bagaimana cara upgrade Nextcloud secara benar, karena tidak mau mengambil resiko langsung ambil workshop dari server production, saya memilih untuk melakukan workshop melalui virtual machine. Dari workshop tersebut dapat saya ambil kesimpulan bahwa proses upgrade versi Nextcloud dapat dilakukan secara lompat dari versi 12 ke versi yang terakhir yaitu versi 20.
Poin penting dari Nextcloud adalah:
Persiapan upgrade versi Nextcloud adalah selalu melakukan backup terlebih dahulu, apa saja yang perlu dibackup? Berikut:
Set maintenance ON agar tidak ada perubahan yang bisa dilakukan oleh user
/var/www/nextcloudku# sudo -u www-data php occ maintenance:mode –on
Download Nextcloud 20. Daftar release repository Nextcloud bisa diambil dari sini https://download.nextcloud.com/server/releases/
#cd /opt/
#wget https://download.nextcloud.com/server/releases/latest-20.zip
Ekstrak file nextcloud yang baru saja di download
#unzip latest-20.zip
Copy ke /var/www/html (jika menggunakan Apache sebagai web servernya)
#cp /opt/nextcloud /var/www/html
Rename nama direktori project
#cd /var/www/html
#mv nextcloud nextcloudku
Ubah file permission
#chown www-data:www-data -R nextcloudku
Jalankan upgrade
#cd nextcloudku
#sudo -u www-data php occ upgrade
Harusnya dengan proses seperti ini bakalan lancar dan tidak ada kendala apapun. Jika proses upgrade berhasil, jangan lupa nonaktifkan mode maintenance.
#sudo -u www-data php occ maintenance:mode –off
Coba melalui web browser, dipastikan hasil upgrade nextcloud tidak akan langsung bisa berjalan dengan baik, karena Nextcloud-20 membutuhkan PHP-7.2, paling aman gunakan PHP-7.3 dan paling baik langsung gunakan PHP-7.4. Prosesnya upgrade PHP-7.0 ke PHP-7.3 ditulisan selanjutnya.