Step By Step Instalasi SPSE 4.3 Latihan di CentOS 7 PostgreSQL 10 Setelah puyeng selama 3 (tiga) hari sampai bolak-balik install ulang OS dari Centos 7 ke Centos 6.8 balik lagi ke Centos 7, akhirnya saya bisa menginstall server lama rasa baru. Untuk bermaksud temen2 Pengelola SPSE tidak mengalami hal yang sama dengan saya, berikut ini saya share st ep by step cara Instalasi SPSE Versi 43 Latihan. Mohon perhatikan baik-baik bait-bait command di bawah ini : cd / yum update yum install wget lynx -y wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh epel-release-latest-7.noarch.rpm yum install ntfs-3g -y yum clean all yum update yum install psmisc httpd-devel gcc-c++ pcre-devel libxml2-devel httpd make mod_security mod_evasive unzip rsync lynx elinks vim tcptraceroute nmap htop lshw iperf httperf pktstat mkdir /home/file mkdir /home/file/file_latihan mkdir /home/file/file_prod yum install curl -y nano /etc/yum.repos.d/CentOS-Base.repo exclude=postgresql* Buka link ini : https://yum.postgresql.org/repopackages.php cd ~ curl -O https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos1010-2.noarch.rpm rpm -ivh pgdg* yum list postgres* yum install postgresql10-server service postgresql-10 initdb chkconfig postgresql-10 on service postgresql-10 start su - postgres psql CREATE USER epns password 'epns'; \q createdb -U postgres -O epns epns-reporting ; exit nano /var/lib/pgsql/10/data/pg_hba.conf /bin/systemctl start postgresql-10.service /bin/systemctl enable postgresql-10.service mkdir database mkdir appserv systemctl restart httpd.service wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm && rpm -Uvh remi-release7*.rpm nano /etc/yum.repos.d/remi.repo fdisk -l mount -t ntfs-3g /dev/sda1 /media/USB/ yum update yum -y upgrade php* ps aux | grep httpd yum install php -y systemctl restart httpd.service php -v echo "" > /var/www/html/info.php lynx localhost/info.php cd /etc ./myfirewall.sh yum install php-pgsql -y systemctl restart httpd.service cd /media/USB cp -R /media/USB/database/ /home/database/ rsync -e ssh -av -P -z /media/USB/src/ /usr/local/src/ rsync -e ssh -av -P -z /media/USB/file_prod/ /home/file/file_prod/ rsync -e ssh -av -P -z /media/USB/spse-prod-4.2/ /home/appserv/spse
rsync -e ssh -av -P -z /media/USB/epns-prod-3.6sp5/ /home/appserv/epns-prod-3.6sp5 rsync -e ssh -av -P -z /media/USB/opt/ /usr/local/src/ cd / umount /media/USB tail -f /var/log/httpd/error_log cp /media/USB/database/epns_prod_13-08-2018.backup.gz /home/database/ sudo -u postgres pg_restore -Fc -v -d epns_prod epns_prod_13-08-2018.backup sudo -u postgres pg_restore -Fc -v -d epns_lat /home/dblat43.backup /usr/sbin/setsebool httpd_can_network_connect true /etc/init.d/iptables stop sed -i "s/enforcing/disabled/g" /etc/selinux/config cd /usr/local/src cat settingapache.txt | cat >> /etc/httpd/conf/httpd.conf cd /usr/local/src/modsecurity265/curl-7.28.1/ ./configure yum install iptables-services -y systemctl stop iptables make make install cd ../../ systemctl stop iptables sed -i "s/enforcing/disabled/g" /etc/selinux/config unzip jce_policy-8.zip cp -vr UnlimitedJCEPolicyJDK8/* jdk1.8.0_181/jre/lib/security cd home/appserv/spse43lat ./spse4 start netstat -tupln | grep java lynx localhost/eproc43lat cd ../ cd spse ./spse4 start cd ../epns-prod-3.6sp5 ./spse3 start
Cara Backup Data SPSE ke Hardisk External Bagi temen-temen Pengelola SPSE di seluruh Indonesia, berikut langkah-langkah backup data SPSE yang kami lakukan rutin setiap hari dengan perintah sebagai berikut : cd / fdisk -l mount -t ntfs-3g /dev/sdc1 /media/USB rsync -e ssh -av -P -z /home/backupdb/ /media/USB/database/ rsync -e ssh -av -P -z /home/file/file_prod/ /media/USB/backup/file_prod/ rsync -e ssh -av -P -z /home/appserv/epns-prod-3.6sp5/ /media/USB/epns-prod-3.6sp5/ rsync -e ssh -av -P -z /home/appserv/spse-prod-4.2/ /media/USB/spse-prod-4.2/ umount /media/USB exit
Sangat mudah kan….???? Tetap semangat untuk Pengelola LPSE di Seluruh Indonesia.
Atasi “Internal Server Error” di SPSE
Pernah mengalami hal ini pada saat upload file di akun PPE muncul notifikasi pesan “Internal Server Error” setelah instalasi Server Baru SPSE ? Silahkan cek di log error-nya, pastinya akan ditunjukkan mod_security ada masalah. Sekarang buka file mod_security.conf sesuaikan dengan dibawah ini, yaitu kasih tanda # : # SecRule REQBODY_ERROR "!@eq 0" \ "id:'200001', phase:2,t:none,log,deny,status:400,msg:'Failed to parse request body.',logdata:'%{reqbody_error_msg}',severity:2" # SecRule MULTIPART_STRICT_ERROR "!@eq 0" \ "id:'200002',phase:2,t:none,log,deny,status:44,msg:'Multipart request body \ failed strict validation: \
Kode pertama untuk atasi pesan “Internal Server Error”, sedangkan kode kedua untuk atasi pengiriman dokumen penawaran melalui Aplikasi Pengaman Dokumen (Apendo) gagal kirim. Trus, lakukan restart httpd dan aplikasi SPSE. Silahkan coba upload ulang file yang diinginkan…. Semoga berman’faat.
Atasi Lupa Password Admin PPE di LPSE Pernah merasakan lupa password Admin PPE di LPSE?? rasanya tuh bingung harus ngapain, karena itu merupakan kesalahan yang membuat pusing kepala. Sekarang kami bagikan solusi mengatasi lupa password Admin PPE. Jadi ngga usah ikut pusing. Masuk ke server, login ke database perintahkan seperti ini : UPDATE pegawai SET passw=md5('123456') WHERE peg_namauser='PPE';
Insya Allah pusingnya hilang. Tetap semangat mengelola LPSE untuk membantu mencegah korupsi pengadaan barang dan jasa secara elektronik.
INSTALASI CENTOS 6.8 SAMPAI HTTPS LETS ENCRYPT UNLIMITED
1 2 3 4
Tutorial kali ini, kami akan sedikit berbagi bagaimana cara instalasi CenTOS 6.8 dan aplikasi pendukungnya disertai instalasi Let’s Encrypt dan konfigurasi memperpanjang masa kedaluarsa https. Setelah proses instalasi CentOS 6.8 selesai, silahkan konfigurasi server dengan tahapan sebagai berikut :
cd / ifconfig ifconfig eth0 up nano /etc/sysconfig/network-scripts/ifcfg-eth0
Ubah seperti ini (IP sesuaikan dengan kondisi server Anda) :
DEVICE=eth0 HWADDR=3A:BD:E7:08:FC:F9 TYPE=Ethernet UUID=3b4d976c-813f-475b-839a-b023ecfc34cf ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=xxx.xxx.xxx.xx1 NETMASK=255.255.255.xx0 GATEWAY=xxx.xxx.xxx.xxx
5 nano /etc/resolv.conf
nameserver 202.134.1.10
6 service network restart 7 yum install openssh-server -y 8 service sshd start 9 chkconfig sshd on 10 yum update -y 11 /usr/sbin/setsebool httpd_can_network_connect true 12 service httpd restart 13 /etc/init.d/iptables stop 14 chkconfig iptables off 15 sed -i "s/enforcing/disabled/g" /etc/selinux/config 16 wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm && rpm -Uvh epel-release-latest-6.noarch.rpm 17 wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm && rpm -Uvh remi-release6*.rpm 18 yum install phpmyadmin -y 19 nano /etc/httpd/conf.d/phpMyAdmin.conf 20 service httpd restart 21 yum update -y 22 service httpd restart 23 nano /etc/yum.repos.d/remi.repo 24 yum -y upgrade php* 25 php -v 26 service httpd restart 27 yum install mysql-server -y 28 service mysqld start 29 chkconfig mysqld on 30 /usr/bin/mysql_secure_installation 31 yum install git -y 32 git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt 33 cd /opt/letsencrypt 34 ./letsencrypt-auto --help 35 mkdir /etc/letsencrypt 36 nano /etc/letsencrypt/domain.ini # This is an example of the kind of things you can do in a configuration file. # All flags used by the client can be configured here. Run Let's Encrypt with # "--help" to learn more about the available options.
# Use a 4096 bit RSA key instead of 2048 rsa-key-size = 4096 # Uncomment and update to register with the specified e-mail address email =
[email protected] # Uncomment and update to generate certificates for the specified # domains. domains = example.com, www.example.com # Uncomment to use a text interface instead of ncurses # text = True
# Uncomment to use the standalone authenticator on port 443 # authenticator = standalone # standalone-supported-challenges = tls-sni-01 # Uncomment to use the webroot authenticator. Replace webroot-path with the # path to the public_html / webroot folder being served by your web server. # authenticator = webroot # webroot-path = /usr/share/nginx/html 37 service httpd stop 38 cd /opt/letsencrypt 39 ./letsencrypt-auto certonly – standalone – agree-tos – renew-by-default – config /etc/letsencrypt/domain.com.ini TAMBAH DI FILE httpd.conf atau ssl.conf =======================================
ServerName example.com ServerAlias example.com www.example.com Redirect permanent / https://www.example.com/ ServerName example.com ServerAlias example.com www.example.com ServerAdmin
[email protected] DocumentRoot /var/www/html ErrorLog /var/log/httpd/error.log CustomLog /var/log/httpd/access.log combined
Options FollowSymLinks Indexes AllowOverride All Order Allow,Deny Allow from all DirectoryIndex index.php SSLEngine on SSLProtocol ALL -SSLv2 -SSLv3 SSLHonorCipherOrder On SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RS A+AES:RSA+3DES:!aNULL:!MD5:!DSS SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
40 service httpd start 41 nano /etc/letsencrypt/le-renew
CENTOS 6 ======== #!/bin/bash web_service='httpd' config_file="/etc/letsencrypt/domain.ini" le_path='/opt/letsencrypt' exp_limit=30; if [ ! -f $config_file ]; then echo "[ERROR] config file does not exist: $config_file" exit 1; fi domain=`grep "^\s*domains" $config_file | sed "s/^\s*domains\s*=\s*//" | sed 's/(\s*)\|,.*$//'` cert_file="/etc/letsencrypt/live/$domain/fullchain.pem" if [ ! -f $cert_file ]; then echo "[ERROR] certificate file not found for domain $domain." fi exp=$(date -d "`openssl x509 -in $cert_file -text -noout|grep "Not After"|cut -c 25-`" +%s) datenow=$(date -d "now" +%s) days_exp=$(echo \( $exp - $datenow \) / 86400 |bc) echo "Checking expiration date for $domain..."
if [ "$days_exp" -gt "$exp_limit" ] ; then echo "The certificate is up to date, no need for renewal ($days_exp days left)." exit 0; else echo "The certificate for $domain is about to expire soon. Starting webroot renewal script..." echo "Stopping $web_service" /etc/init.d/$web_service stop $le_path/letsencrypt-auto certonly --standalone --agree-tos --renew-by-default --text --noninteractive --config $config_file echo "Starting $web_service" /etc/init.d/$web_service start echo "Renewal process finished for domain $domain" exit 0; fi
42 chmod +x /etc/letsencrypt/le-renew 43 cd /etc/letsencrypt/ 44 ./le-renew
Checking expiration date for example.com… The certificate is up to date, no need for renewal (89 days left). 45 chkconfig httpd on 46 crontab -e
0 0 * * * /etc/letsencrypt/le-renew > /var/log/le-renew.log 2>&1
:wq 47 exit
Alhamdulillah, selesai sudah tahapan konfigurasi server kali ini
Copy SSH-ID Antar Server Dengan Beda Port [Catatan]
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 5000 [email protected] rsync -avz -e "ssh -p 30000" /home/appserv/epns-prod-3.6sp4/ [email protected]:/home/appserv/epns-lat-3.6sp4/ rsync -avz -e "ssh -p 30000" /home/appserv/spse-prod-4.1.2/ [email protected]:/home/appserv/spse-lat-4.1.2/ sudo -u postgres pg_restore -Fc -iv -d epns_latihan epns_latihan.sql cat /home/appserv/epns-lat-3.6sp4/webapp/WEB-INF/classes/application.properties
Cara Mudah Dump / Backup dan Restore Database SPSE
Copas dari link temen Om Agus Nur Rahman untuk keperluan upgrade spse36 ke 36sp2 dan spse4, kadangkala diperlukan dump / backup database di server lama dan merestore nya kembali ke server baru, berikut step nya :
1. di server lama yang menjalankan spse36 : su – postgres psql -l (untuk keluar, gunakan :q, misal db yang akan dibackup = epns-latihan) pg_dump -U postgres epns-latihan -f epns-latihan.sql (perhatikan folder/direktory tempat .sql nya dibuat) copikan file epns-latihan.sql ke server baru yang menjalankan spse36sp2 2. di server baru yang menjalankan spse36sp2/spse4 : su – postgres psql -l bila db belum ada, maka create terlebih dahulu : createdb -U postgres -O epns epns_latihan lalu import/restore db nya : psql -U postgres -d epns-latihan -f epns-latihan.sql (perhatikan folder tempat meletakan epns-latihan.sql) D.W.Y.O.R
CATATANKU TENTANG RUTINITAS ADMINISTRATOR SERVER
Berikut ini catatanku saat ngoding, agar tidak lupa, hehehe …. Melihat versi OS Debian : [sourcecode language=”php”]root@debian:~# cat /etc/issue Debian GNU/Linux 7 \n \l[/sourcecode] Atau : [sourcecode language=”php”]root@debian:~# cat /etc/debian_version 7.7[/sourcecode] History : [sourcecode language=”php”] netstat -tulpn | grep java netstat -tulpn | grep 80 netstat -tulpn | grep httpd netstat -tulpn | grep apache2* lynx netstat -tulpn | grep 80 service httpd restart nano sshd_config
/etc/init.d/sshd restart /etc/init.d/ssh restart netstat -tulpn | grep ssh cat /etc/issue cd /var/log/apache2 tail -f error_log [/sourcecode]
Cara Ekstrim Upload File csv SIMDA Komandan SIKD pada Aplikasi SiRUP V.2 LKPP
Sehubungan dengan masih banyaknya temen-temen yang bingung cara upload file csv SIKD SIMDA, dan kasian juga mereka input manula, berikut ini Trik dan Tips Step By Step Upload File CSV Komandan SIKD SIMDA adalah sebagai berikut : 1. Pastikan koneksi inet kenceng ya …. Silahkan Login sebagai Admin PPE di Aplikasi SiRUP V.2 2. Klik Menu Kelola Data – >> Pilih Kelola Satker – >> Tambah Masukkan OPD Baru sesuai Daerah masing-2, tujuannya untuk mempermudah melakukan Pemetaan OPD Baru dg OPD Lama. 3. Klik Menu RUP – >> Klik 2017 – >> Klik RKAD 2017 – >> Pilih Mode Upload (Rekomended SIKD) – >> SIKD – >> Proses – >> Browse – >> Simpan – >> Tunggu sampai upload selesai. 4. Cek apakah semua OPD sudah nongol …..!!!. Jika semua OPD sudah nongol, Alhamdulillah pekerjaan selesai. Tapi jika belum nongol, jangan GALAU dooonggg ….!!!. Masih ada solusinya . Tapi tombol upload file csv sudah menghilang ….lho!!!! Jangan khawatir, ada triknya untuk memunculkan tombol upload ulang file csv. 5. Caranya gampang, ada 2 trik. Trik I (Pertama) Klik RUP – >> Penyedia – >> 2016 – >> RKAD, maka tombol yang tadi menghilang akan muncul kembali. Silahkan upload OPD yang tidak ada saja ya….. Ingat yang belum nongol saja yang diupload. Caranya : edit dulu file csv hasil Komandan SIKD pilih OPD yang belum nongol, yang sudah nongol silahkan HAPUS. Kemudian SAVE ke dalam bentuk csv lagi. Ingat ya ….. Jika file csv bentuknya berantakan, maka cari komputer atau laptop yang jika buka file csv, sudah dalam bentuk kolom-kolom. Memang ada trik agar file csv yang berantakan bisa diakali dengan trik yang banyak tersebar di internet, namun setelah kami coba, ngga bisa berhasil untuk diupload file csv-n ya. Untuk itu cari komputer atau laptop yang begitu buka file csv sudah dalam bentuk kolom per kolom. Insyaa Allah akan berhasil. Trik II (Kedua) Klik RUP dan paste link berikut ini : https://sirup.lkpp.go.id/sirup/rkadctr/formuploadrkad?jenisUpload=2&tahunAnggaran=2017 – >> Upload file csv yang isinya OPD yang belum nongol saja ya….. Kode “=2&” menunjukkan jenis file csv hasil Komandan SIKD pada Aplikasi SIMDA. 7. Jika sudah nongol semua OPD, silahkan segera lakukan pemetaan OPD. Jaga- jaga nih…., bila server SiRUP ngambek lagi. Caranya : Login sebagai PA/KPA – >> RUP – >> RKAD – >> Pilih OPD Anda – >> SAVE. Selesai. 8. Nikmati hari-hari Anda yang menyenangkan. 9. Semoga bermanfaat.