Category: SPSE

  • Backup DB untuk pemeriksaan

    Disclaimer : ini hanya untuk catatan pribadi penulis, kesalahan perintah / error yang diakibatkan dan segala dampak terhadap db setelah menjalankan script menjadi tanggung jawab masing-masing.

    Biasakan memulai dengan backup database bisa merujuk ke : https://kloxo.web.id/?p=54, dan perintah ini sebaiknya dijalankan pada server backup.

    Contoh perintah dibawah ini adalah untuk filter paket tahun pemeriksaan ‘2023’ :

    1. langkah dan perintah backup – restore dari https://kloxo.web.id/?p=54
    2. backup db ori
    3. psql -l
    4. psql
    5. \c epns-prod
    6. \dt
    7. update public.usrtab set passw=”;
    8. delete from public.usrsession where sessiontime < ‘2023-01-01’;
    9. delete from public.usrsession where sessiontime > ‘2023-12-31’;
    10. alter table public.paket disable trigger all;
    11. delete from public.paket where pkt_tgl_buat > ‘2024-01-01 00:00:00.000’;
    12. delete from public.paket where pkt_tgl_buat < ‘2022-12-31 23:59:59.000’;
    13. alter table public.paket enable trigger all;
    14. update public.pegawai set passw=”;
    15. \q
    16. pg_dump -U postgres epns-prod -f /home/backupdb/spse-bpk-20240201.sql
    17. buka winscp dan unduh file .sql

    Selamat mencoba dan DWYOR!

  • UEFI Shell > error setelah migrasi fisik server ke vm

    proses migrasi server fisik centos6 ke vm proxmox menyisakan PR yang lumayan memusingkan, karena fisik sebelum nya boot dg mode UEFI, ketika di vm proxmox sudah dilakukan langkah penyesuaian sbb :

    1. bios ->> OVMF
    2. machine ->> q35
    3. menambahkan EFI disk ->> efitype=2m dengan perintah :
    4. qm set <vmid> -efidisk0 <storage>:1,format=<format>,efitype=4m,pre-enrolled-keys=1

    tapi tetap menyisakan gagal boot vm tsb dengan error lengket di menu : UEFI shell > dan masih diperlukan config boot manager manual ke UEFI, yang akan hilang apabila vm di stop

    langkah berikut diterapkan ke vm tsb :

    1. boot efi manual dengan pengaturan dari bios – boot manager
    2. setelah berhasil booting ke centos6, lanjut kan dengan update uefi dengan perintah sbb :
    3. efibootmgr -c -d disk -p partition_number -l /EFI/redhat/grub.efi -L “grub_uefi”

    dicoba shutdown dan nyalakan ulang vm, alhamdulillah berhasil boot otomatis ke uefi.

    sumber :

    https://pve.proxmox.com/pve-docs/chapter-qm.html#qm_bios_and_uefi

    https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/sect-grub-installing

  • SSH Error “no hostkey alg”

    baru ketemu dengan masalah ini, ketika mau remote ke server dg OS yg terbilang “tua” centos 6.9, perintah ssh mengkonfirmasi reply pesan error “no hostkey alg”,

    setelah browse di google, ditemukan solusi dengan menambahkan perintah sebagai berikut :

    “ssh -oHostKeyAlgorithms=+ssh-rsa,ssh-dss root@ip-server-tujuan”

    semoga membantu..DWYOR

    sumber :

    https://askubuntu.com/questions/836048/ssh-returns-no-matching-host-key-type-found-their-offer-ssh-dss

  • Mengaktifkan NTP Client dan sinkronisasi di Centos 7

    Masalah kecil tapi bikin gak nyenyak tidur ketika jam server tidak sinkron dan mengakibatkan SPSE down dan sulit up karena selisih dengan jam dunia, secara ringkas cara mensinkronisasi sebagai berikut :

    1. yum install ntp, kemudian sesuaikan /etc/ntp.conf pada bagian ‘server ….’ / referensi ntp server yang akan digunakan atau biarkan default kalo tidak mau report dan ‘restrict …’ / ini sebaiknya diatur agar hanya melayani lan atau ip server terbatas / jaringan lokal. enable dengan ‘systemctl enable ntpd’ dan start dengan ‘systemctl start ntpd’
    2. yum install chrony, systemctl enable chronyd dan systemctl start chronyd
    3. terakhir cek dengan timedatectl : ntp enabled dan ntp sync = yes

    Selamat mencoba, DWYOR! ya..

  • SPSE : Mengatasi Email Gagal Terkirim (smtp.gmail.com) – 2

    Setelah sekian purnama tanpa masalah dg smtp gmail yang saya tuliskan pada catatan disini, hari ini dapat laporan email tidak diterima ketika reset password pengguna.

    Langkah pertama cek log spse4.4.log, ternyata memang ada error sebagai berikut :

    261021 11:47:37 ERROR ~ [smtp.gmail.com] Error connecting to SMTP Server: javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted. Learn more at
    535 5.7.8 https://support.google.com/mail/?p=BadCredentials p16sm17902972pgd.78 – gsmtp
    261021 11:52:28 ERROR ~ [smtp.gmail.com] Error connecting to SMTP Server: javax.mail.AuthenticationFailedException: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbu
    534 5.7.14 https://support.google.com/mail/answer/78754 s2sm19885198pfe.215 – gsmtp

    intinya sih, smtp gmail komplain dengan sekuriti (user, password, captcha dsb) yang tidak sesuai dengan kehendaknya.

    Setelah buka2 kitab google, kira2 penyelesaiannya sebagai berikut :

    1. https://myaccount.google.com/lesssecureapps
    2. https://www.google.com/accounts/DisplayUnlockCaptcha

    silakan dibaca2 dulu sebelum mengaktifkan ‘less secure apps’ dan ‘unlock captcha’, karena resiko ditanggung penumpang ya…

    Setelah aplikasi spse di restart, bila sudah oke smtp nya akan muncul log :

    261021 11:55:10 INFO ~ SMTP Server status is OK: smtp.gmail.com

    dan silakan ujicoba daftar rekanan atau kirim email keluar dari spse nya.

    Selamat mencoba, semoga menjawab kegalauan smtp gmail di spse yang selama ini gagal kirim…DWYOR!

  • Let’s Encrypt Gagal Re-new

    Hari ini dapat warning ssl dari web server yang ternyata berakhir pada 31 Maret per tanggal 1 April otomatis web spse tidak dapat diakses karena ssl expired.

    Cek ke dalam console dan coba update manual :

    # ./letsencrypt-auto –apache -d lpse.namakab.go.id
    Traceback (most recent call last):
    File “/tmp/tmp.FTczzoL1tn/fetch.py”, line 28, in
    from urllib.request import build_opener, HTTPHandler, HTTPSHandler
    ImportError: No module named request
    WARNING: unable to check for updates.
    Traceback (most recent call last):
    File “”, line 16, in
    File “/usr/lib64/python2.7/distutils/version.py”, line 140, in cmp
    compare = cmp(self.version, other.version)
    AttributeError: StrictVersion instance has no attribute ‘version’

    Gagal Son!….

    Dicoba reinstal let’s encrypt..masih sama…untuk mengatasi secara cepat, terpaksa kembali ke http dulu..dan off kan ssl nya…hedeh!

    Setelah keluyuran ke mbah google, ada tuts yang menyarankan begini :

    1. enable software collection (SCL) – saya pake centos 6 ya…

    yum install centos-release-SCL

    2. install python 2.7 dan scl utils :

    yum update

    yum install scl-utils python27 python27-scldevel

    3. enable python 2.7 for bash

    scl enable python27 bash

    4. jalankan ulang let’s encrypt

    ./letsencrypt-auto –verbose

    alhamdulillah ssl is back!

    sumber :
    (https://github.com/certbot/certbot/issues/1106)

    catatan tambahan :

    edit file : /usr/local/letsencrypt/letsencrypt-auto-source/pieces/fetch.py cari dan ubah baris “urllib.request import build_opener, HTTPHandler, HTTPSHandle…” menjadi “urllib import build_opener, HTTPHandler, HTTPSHandler…”

    ujicoba menjalankan “./certbot-auto renew –dry-run –apache” semoga tidak ada error lanjutan.

  • DOS to Unix Text Converter

    Tuts ini ditulis untuk pengingat bahwa pernah menemukan masalah seperti ini dan cukup menyita waktu untuk mencari penyelesaiannya.

    Kronologisnya sebagai berikut : kompilasi serta membuat dan copy-paste skrip restore_db.sh dari beberapa sumber pada text editor (notepad/edit+) dan di scp kan ke server linux, setelah chmod +x restore_db.sh lalu diujicoba jalankan ternyata muncul error :

    padahal isi skrip sudah dicoba dan bisa dijalankan baris-per-baris…jadi gimana dong?

    Ternyata setelah di cek dengan editor nano, di bagian bawah editor nano ada keterangan :

    Dari hasil konsultasi dengan ‘mbah’ diberikan petunjuk untuk menginstall paket dos2unix atau secara manual mengkonversi format text dari dos ke unix nya menggunakan ‘vi editor’, begini caranya :
    1. vi restore_db.sh
    2. tekan ‘esc’
    3. :set fileformat=unix

    4. :x!

    Silakan dicoba jalankan ulang restore_db.sh, semoga sukses!…& DWYOR ya…

    (Referensi : https://superuser.com/questions/156516/is-there-a-bash-command-to-convert-r-n-to-n)

  • Catatan Instalasi Cacti di Centos 7

    Om Yufi dan Runi masih penasaran dengan cacti kan?..cacti tool adalah aplikasi open source web base monitoring dan grafik system monitoring. Langkah instal dan konfigurasi nya pun terbilang mudah, saya contoh kan pada catatan kali ini untuk OS Centos 7 dan Cacti versi 1.1, let’s start :

    Persiapan awal :
    1. menyiapkan Centos 7 64 bit fresh instal yang sudah bisa terhubung ke internet untuk proses yum.

    2. aktifkan repo epel
    wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    rpm -ivh epel-release-latest-7.noarch.rpm

    3. aktifkan repo lux
    wget http://repo.iotti.biz/CentOS/7/noarch/lux-release-7-1.noarch.rpm
    rpm -Uvh lux-*rpm

    4. jalankan yum update

    Instal paket yang dibutuhkan oleh cacti :
    5. instal apache
    yum install httpd httpd-devel

    6. instal database
    mariadb yang akan terpasang secara default pada centos 7 adalah versi 5.5, dikarenakan cacti v1.1 meminta mariadb dengan versi diatas 5.6 maka kita lakukan upgrade sql nya. pada tuts ini saya langsung mengupgrade ke mariadb 10.0 :

    6a. buat repo untuk mariadb10
    nano /etc/yum.repos.d/MariaDB10.repo
    isikan teks berikut :

    # MariaDB 10.0 CentOS repository list – created 2018-10-08 08:30 UTC
    # http://downloads.mariadb.org/mariadb/repositories/
    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.0/centos7-amd64
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1
    ————-

    6b. yum -y install MariaDB-server MariaDB-client

    7. instal php
    yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli

    8. instal php-snmp
    yum install php-snmp

    9. instal net-snmp
    yum install net-snmp-utils net-snmp-libs

    10. instal rrdtool
    yum install rrdtool

    11. nyalakan service dan aktifkan pada saat boot
    systemctl start httpd.service
    systemctl start mysql
    systemctl start snmpd.service

    systemctl enable httpd.service
    systemctl enable mysql
    systemctl enable snmpd.service

    12. instal cacti
    yum install cacti cacti-spine

    13. konfigurasi db untuk cacti

    mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
    mysqladmin -u root password MySQL-PASSW0RD
    mysql -u root -p
    mysql> create database cacti;
    mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY ‘c4ct1’;
    mysql> FLUSH privileges;
    mysql> quit;

    lanjutkan dengan konfigurasi time_zone pada db cacti mysql :
    mysql -u root -p mysql
    [mysql]> GRANT SELECT ON mysql.time_zone_name TO cacti@localhost;
    [mysql]> flush privileges;
    [mysql]> exit

    14. instal tabel cacti
    rpm -ql cacti | grep cacti.sql

    output :
    /usr/share/doc/cacti-1.1.38/cacti.sql
    import template tabel :
    mysql -u cacti -p cacti < /usr/share/doc/cacti-1.1.38/cacti.sql

    15. sesuaikan konfigurasi php
    nano /etc/php/7.0/apache2/php.ini

    tambahkan baris/aktifkan :
    [CLI Server]
    cli_server.color = On

    [Date]
    date.timezone = Asia/Jakarta

    16. setting konfigurasi mysql di cacti
    nano /etc/cacti/db.php

    /* make sure these values reflect your actual database/host/user/password */
    $database_type = “mysql”;
    $database_default = “cacti”;
    $database_hostname = “localhost”;
    $database_username = “cacti”;
    $database_password = “c4ct1”;
    $database_port = “3306”;
    $database_ssl = false;

    17. konfigurasi httpd untuk cacti :
    nano /etc/httpd/conf.d/cacti.conf
    sesuaikan baris berikut :

    Alias /cacti /usr/share/cacti

    # httpd 2.4
    # Require host localhost
    Require all granted


    systemctl restart httpd.service

    18. sesuaikan cron untuk cacti
    nano /etc/cron.d/cacti

    */5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

    19. penyesuaian konfigurasi mysql di /etc/my.cnf

    nano /etc/my.cnf


    [mysql]
    max_allowed_packet = 16M
    default_character_set = utf8

    [mysqldump]
    max_allowed_packet = 16M

    [mysqld]

    max_allowed_packet = 16M
    character_set_server = utf8mb4
    collation_server = utf8mb4_unicode_ci
    max_connections = 505
    tmp_table_size = 64M
    join_buffer_size = 64M
    max_heap_table_size = 64M
    innodb_buffer_pool_size = 256M
    innodb_file_per_table = 1
    innodb_doublewrite = 0
    innodb_additional_mem_pool_size = 128M
    innodb_lock_wait_timeout = 50
    innodb_flush_log_at_timeout = 3
    innodb_read_io_threads = 32
    innodb_write_io_threads = 16

    [client-server]
    !includedir /etc/my.cnf.d

    20. buka browser dan akses http://ip-address-cacti/cacti/ dan lanjutkan proses inisiasi instalasi sampai finish via browser dan yakinkan seluruh cek list prasyarat yang diminta oleh cacti tidak ada yang berwarna merah.

    21. pada sisi server yang akan di monitoring, lakukan langkah berikut :
    yum -y install net-snmp net-snmp-utils
    mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig
    nano /etc/snmp/snmpd.conf

    rocommunity public 192.168.100.196 #masukan-ip-server-cacti
    rocommunity public 127.0.0.1
    syslocation “Server Room LPSE”
    syscontact admin@lpse.antahberantahkab.go.id

    systemctl start snmpd
    systemctl enable snmpd

    22. login di http://ip-server-cacti/cacti/, lakukan penambahan device pada menu console, pilih template dan sesuaikan graph yang akan ditampilkan.

    Selamat Mencoba ya Om Yufi dan Runi…
    D.W.Y.O.R!

    Referensi :
    https://www.liquidweb.com/kb/how-to-install-and-configure-snmp-on-centos/
    https://www.tecmint.com/install-cacti-network-monitoring-on-rhel-centos-6-3-5-8-and-fedora-17-12/
    https://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/
    https://github.com/Cacti/cacti/issues/361
    https://forums.cacti.net/viewtopic.php?f=2&t=58313

  • Upgrade HTTPD 2.2 ke 2.4 Versi Repo IUS

    Di tuts sebelumnya : Persiapan Implementasi SPSE 4.3 (Upgrade HTTPD ke 2.4) saya menggunakan repository dari Software Collections (SCL), kekurangannya adalah SCL membuat sendiri folder tempat meletakkan konfigurasi httpd di /opt/rh/root/etc/httpd dan bila kita melakukan instalasi package yang memerlukan httpd, maka httpd dianggap tidak ada ditempatnya dan akan dinstallkan httpd-2.2 default nya centos 6.9..dan pasti bentrok ketika di ‘service httpd start’

    Httpd-2.4 di Repo IUS (Inline with Upstream Stable) menggunakan struktur folder yang sama persis dengan httpd-2.2 pada centos 6.9, sehingga cukup familier dengan penempatan file konfigurasinya di /etc/httpd dan juga mudah dalam instalasi package yang dependensinya mencari httpd.

    Mari kita mulai proses upgrade httpd-2.2 ke httpd-2.4 nya :
    1. service httpd stop
    2. chkconfig httpd off
    3. nano /etc/yum.conf dan tambahkan baris “clean_requirements_on_remove=1″
    4. sudo cp -a /etc/httpd /etc/httpd.bak << biasakan backup konfigurasi sebelum bertindak lebih jauh
    5. yum remove httpd << yakinkan dengan yang kamu lakukan???
    6. yum install https://centos6.iuscommunity.org/ius-release.rpm
    7. yum –disablerepo=”*” –enablerepo=”ius” list available httpd24u\*
    8. yum –enablerepo=ius install -y httpd24u
    9. which httpd
    10. httpd -V
    11. chkconfig httpd on
    12. service httpd start

    sampai langkah no.12 sebenarnya proses upgrade httpd-2.2 ke httpd-2.4 sudah selesai, langkah dibawah ini adalah penyesuaian konfigurasi spse agar java otomatis diarahkan ke /eproc dan /eproc4 serta mengaktikan modules mod_ssl dan mod_sec agar berjalan

    13. yum install httpd24u-mod_ssl
    14. yum install httpd24u-mod_security2
    15. Salin konfigurasi spse dari httpd 2.2 ke 2.4 :

    nano /etc/httpd/conf.d/spse.conf
    copy – paste baris yang dimulai dari :

    — awal baris
    Alias /file_latihan /home/file/file_latihan
    Alias /file_prod /home/file/file_prod
    ……
    #SecRule RESPONSE_STATUS “@streq 408” “phase:5,t:none,nolog,pass,setvar:ip.slow_dos_counter=+1,expirevar:ip.slow_dos_counter=60”
    #SecRule IP:SLOW_DOS_COUNTER “@gt 25” “phase:1,t:none,log,drop,msg:’Client Connection Dropped due to high # of slow DoS alerts’”
    — akhir baris

    16. SecReadStateLimit is deprecated, use SecConnReadStateLimit instead
    17. Ubah baris SSLMutex default to Mutex default di ssl.conf

    Selamat Mencoba…DWYOR!

    (https://stackoverflow.com/questions/9545450/upgrade-apache-2-2-2-4, https://community.rackspace.com/general/f/general-discussion-forum/8013/upgrading-apache-2-2-to-2-4-in-rhel-6-7-and-centos-6-7)

  • Postgresql 10.5 vs phpPgAdmin 5.0

    Karena ada sesuatu yang harus di’intip’ di server db yang menggunakan postgresql 10.5, dipasanglah phppgadmin via yum (di centos 6.9 hanya tersedia phppgadmin versi 5.0) dan karena memang phppgadmin ini sudah berhenti pengembangannya.

    Selesai ‘yum install phpPgAdmin’ lanjut dengan konfigurasi ‘nano /etc/httpd/conf.d/phpPgAdmin.conf’ sesuaikan baris ‘Allow from 127.0.0.1 192.168.20.0/24’ agar hanya diakses dari ip lokal, ketika dipanggil browser ‘http://ipserverdb/phpPgAdmin’ koq nongol begini :

    “Version of PostgreSQL not supported. Please upgrade to version or later.”

    dicoba ‘yum upgrade’, ‘yum upgrade phpPgAdmin’, ‘yum update phpPgAdmin’…tetap nihil…

    setelah browsing kesana-sini, ketemu nya disini :

    https://stackoverflow.com/questions/46794672/installing-phppgadmin-5-1-on-ubuntu-16-04-with-postgresql-10-not-supported

    edit file ‘nano /usr/share/phpPgAdmin/classes/database/Connection.php’ cari baris “case ‘7.4’: return ‘Postgres74’; break;” lalu tambahkan baris ini dibawahnya : “default: return ‘Postgres’; break;”…simpan file, restart httpd..dan buka kembali ‘http://ipserverdb/phpPgAdmin’…dan…taraaaaa!..phpPgAdmin bisa masuk ke db.

    selamat mencoba…DWYOR!