Archive for the ‘ SPSE ’ Category

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!

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

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..

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/

Install Cacti (Network Monitoring) on RHEL/CentOS 7.x/6.x/5.x and Fedora 24-12

How to Enable EPEL Repository for RHEL/CentOS 7.x/6.x/5.x


https://github.com/Cacti/cacti/issues/361
https://forums.cacti.net/viewtopic.php?f=2&t=58313

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!