Blog

  • Migrasi Ubuntu Setting ke Server Baru

    Prasyarat :

    Versi ubuntu sama dikedua mesin, arsitektur mesin 32 atau 64 bit boleh berbeda.

    1. copi paket yang terinstall pada mesin1 :

    sudo dpkg –get-selections | sed “s/.*deinstall//” | sed “s/install$//g” > ~/pkglist

    2. scp atau transfer pkglist tsb ke mesin2

    3. instal daftar paket pkglist di mesin2 :

    aptitude update && cat pkglist | xargs sudo aptitude install -y

    Selamat mencoba..DWYOR

    (http://eggsonbread.com/2010/01/28/move-ubuntu-to-another-computer-in-3-simple-steps/index.html)

  • Aduh!….Harddisk atau Flashdisk nya Gak Sengaja Terformat!

    Sesuai judulnya, ‘kebodohan’ itu pernah terjadi, yang mau diformat hdd yang mana dan yang terformat hdd yang mana…he he…jangan panik ya..berikut tuts cara merecovery hdd atau fd yang terformat :

    1. siapkan hiren bootcd yang dapat diunduh dari http://www.hirensbootcd.org dan atau unduh disini, extrack dan jalan kan HBCDMenu.cmd nya, akan tampil seperti ini :

    pilih partition / boot / MBR –> partition wizard home edition.

    2. setelah partition wizard home edition muncul, pilih hdd yang akan direcovery dan klik kanan, lalu pilih menu partition recovery :

    3. pilih partisi yang akan direcovery :

    dan klik finish.

    Demikian tuts kali ini, selamat mencoba dan semoga berhasil..DWYOR!

  • Masalah Library Python Ketika Auto Update SSL Let’s Encrypt

    Pagi ini dapat notice email dari let’s encrypt ‘your certificate for domain listed below will expired in 19 days’, padahal servernya sudah dipasangin bot auto-update le-renew, berarti ada yang salah nih…

    Meluncur ke TKP, cek log auto-update, ada pesan kira2 begini :

    “…libpython2.7.so.1.0: cannot open shared object file: No such file or directory…”

    dan tidak ada satupun ada tanda2 proses auto-update berhasil dijalankan, minta helep ke om google, katanya karena folder library python tidak ditemukan dan dianjurkan untuk me-link kan library tsb dengan cara sebagai berikut :
    – locate libpython2.7.so.1.0
    ditemukan ada di folder /opt/rh/python27/root/usr/lib64/libpython2.7.so.1.0
    – tambahkan 1 baris : ‘/opt/rh/python27/root/usr/lib64’ pada file /etc/ld.so.conf diatas baris ‘include ld.so.conf.d/*.conf’
    – jalankan perintah ‘ldconfig’

    Silakan menjalankan kembali script auto update le-renew dan cek kembali le-renew.log, bila ada catatan :

    ‘Congratulations! Your certificate and chain have been saved at:

    Your cert will expire on 2018-04-14’

    berarti proses auto-update lisensi SSL berhasil..

  • CronJob Per 3 Bulan Untuk Memperbaharui Lisensi Let’s Encrypt

    Lisensi free SSL dari Let’s Encrypt berlaku untuk 90 hari, setelah itu akan expired dan harus diperbaharui, bagi yang sudah memasang script bot auto-update lisensi let’s Encrypt nya, dapat menggunakan cron sebagai berikut :

    0 0 1 */3 * /etc/letsencrypt/le-renew > /var/log/le-renew.log 1>&1

    catatan :
    – log diletakan di /var/log/le-renew.log
    – script akan dijalankan pada jam 00:00 setiap tanggal 1 di bulan jan, apr, jul, okt

    Tidak perlu lagi takut lupa memperbaharui lisensi 🙂

    Selamat Mencoba! & D.W.Y.O.R

  • Nginx : Reverse Proxy Untuk Multi Web Server

    Sebenarnya ini cerita lama, yaitu ketika banyak domain/subdomain/web server (http port 80) yang harus dipublikasikan sedangkan ip public yang dimiliki cuman satu2nya (misal kita melanggan astinet-lite, yang hanya dapat 1 ip public), sedih rasanya ;( …

    Untuk pengguna mikrotik pada route/gateway utamanya, sudah ada solusi dari om tdysoft indonetworkers (cekidot kesini).

    Tuts kali ini saya menggunakan fitur yang dimiliki oleh web server NGINX dengan os linux, persiapan awalnya adalah instalasi os linux distro favorit anda, dan lanjutkan dengan yum/apt update, lanjutkan lagi dengan instalasi package nginx dengan perintah ‘yum/apt install nginx’.

    Ubah konfigurasi nginx sebagai berikut :

    rm /etc/nginx/sites-enabled/default
    touch /etc/nginx/sites-enabled/default
    nano /etc/nginx/sites-enabled/default

    tambahkan isi file sesuai domain yang akan menggunakan sharing ip public nya :

    ——
    server {
    listen 80;
    server_name support.lpse.antahberantahkab.go.id www.support.lpse.antahberantahkab.go.id;

    location / {
    proxy_pass http://192.168.100.208:80;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    }
    }

    server {
    listen 80;
    server_name simbada.antahberantahkab.go.id www.simbada.antahberantahkab.go.id;

    location / {
    proxy_pass http://192.168.100.206:80;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    }
    }
    ——

    ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default

    ujicoba konfigurasi dengan :

    service nginx configtest

    dari contoh diatas, ketika ip public nginx diakses, maka subsubdomain support.lpse.antahberantahkab.go.id menuju server local dengan alamat http://192.168.100.208:80 dan subdomain simbada.antahberantahkab.go.id akan menuju alamat local http://192.168.100.206:80.

    Selamat mencoba…DWYOR!

    (https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-as-a-web-server-and-reverse-proxy-for-apache-on-one-ubuntu-14-04-droplet)

  • Instalasi osTicket di Centos 6

    Mengenai deskripsi osTicket ada disini, tempat unduh ada disini (bahasa) dan disini (english).

    Tuts kali ini tentang instalasi osTicket v1.10.1 (latest – pada saat tulisan ini dibuat) pada os linux centos 6, let’s start :
    1. persiapkan server centos 6 fresh install, sudah bisa di ssh dan bisa menjalankan ‘yum update’ dengan lancar.
    2. sebelum menginstalasi paket LAMP (linux apache2, mysql, php) disarankan untuk mengupgrade terlebih dahulu php54 (default nya centos 6) ke php56 dengan cara memperbaharui repo agar mengarahkan ke remi repo dengan cara sbb:

    wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

    wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

    rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm

    edit repo remi dengan ‘nano /etc/yum.repos.d/remi.repo’

    [remi]
    name=Les RPM de remi pour Enterprise Linux 6 – $basearch
    #baseurl=http://rpms.famillecollet.com/enterprise/6/remi/$basearch/
    mirrorlist=http://rpms.famillecollet.com/enterprise/6/remi/mirror
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

    [remi-php56]
    name=Les RPM de remi de PHP 5.6 pour Enterprise Linux 6 – $basearch
    #baseurl=http://rpms.famillecollet.com/enterprise/6/php56/$basearch/
    mirrorlist=http://rpms.famillecollet.com/enterprise/6/php56/mirror
    # WARNING: If you enable this repository, you must also enable “remi”
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

    simpan dan ujicoba dengan :

    yum update
    yum install php php-gd php-mysql php-mcrypt

    perhatikan bahwa php yang akan diinstall sudah menggunakan versi 5.6, jawab (No) saja untuk kali ini, karena kita akan memulai instalasi nya pada langkah 3.

    3. kita mulai proses instalasi osTicket dan paket pendukung nya :

    yum install httpd httpd-devel
    yum install mysql mysql-server
    yum install php php-cli php-common php-devel php-gd php-mbstring php-mysql php-xml php-imap php-zip php-zlib php-pdo
    yum install php-intl
    yum install php-apcu
    yum install php-pecl-zendopcache

    buat agar service otomatis dijalankan ketika boot :

    service httpd start
    service mysqld start
    chkconfig httpd on
    chkconfig mysqld on

    instalasi aplikasi osTicket :

    mkdir -p /opt/osticket
    wget http://osticket.com/sites/default/files/download/osTicket-v1.10.1.zip
    unzip -d /opt/osticket /tmp/osTicket-v1.10.1.zip
    ln -s /opt/osticket/upload /var/www/html/support

    chown apache: -R /var/www/html/support /opt/osticket

    cd /var/www/html/support
    cp include/ost-sampleconfig.php include/ost-config.php

    persiapan database osTicket :

    mysql_secure_installation (atur privilege dan password root mysql)

    mysql -u root -p

    mysql> create database support;
    mysql> grant all on support.* to support@localhost identified by ‘support’;
    mysql> \q

    pengaturan virtualhost (optional) :

    nano /etc/httpd/conf/httpd.conf
    tambahkan skrip ini pada akhir baris, dan sesuaikan alamat domain/subdomain nya :

    ServerAdmin admin@yourdomain.com
    DocumentRoot /var/www/html/support
    ServerName support.yourdomain.com
    ServerAlias www.support.yourdomain.com

    Options FollowSymLinks
    AllowOverride All

    ErrorLog /var/log/httpd/support.yourdomain.com-error_log
    CustomLog /var/log/httpd/support.yourdomain.com-access_log common

    service httpd restart

    akses dengan browser alamat ip/domain/subdomain untuk melanjutkan proses instalasi osTicket.

    Selamat Mencoba!

    sumber :

    Howto Install PHP 5.4, 5.5 or 5.6 on CentOS 6 and CentOS 7


    http://idroot.net/tutorials/how-to-install-osticket-on-centos-6/

  • Redirect Domain dan Masking URL Tujuan

    Ketika ada nama domain/subdomain resmi yang akan kita kenalkan ke publik, misalkan : “sippd.antahberantahkab.go.id” sedangkan hosting belum bisa diubah agar sama dengan nama domain/subdomain nya atau hak aksesnya berada diluar kewenangan kita, contohnya hosting di “http://perencanaan-antahberantahkab.net” ini akan sedikit menyulitkan admin domainnya, ada beberapa solusi untuk hal ini diantaranya :

    1. menggunakan menu ‘redirects’ dari cpanel, contoh :

    ada kekurangan dari teknik ini, yaitu nama domain url tujuan terlihat oleh pengguna (unmask).

    2. tambahkan file index.html pada root domain/subdomainnya sippd.antahberantahkab.go.id dengan skrip sebagai berikut :
    ——-
    [embeddoc url=”http://kloxo.web.id/wp-content/uploads/2017/10/frame.txt” download=”all”]
    ——-

    teknik diatas (frameset) tidak akan menampilkan url tujuannya perencanaan-antahberantahkab.net (masking) dan tetap menampilkan url domain asal sippd.antahberantahkab.go.id pada address bar browser.

    Ditulis untuk dijadikan catatan saja, biar tidak sulit mencari nya kembali 🙂

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

    Tanpa diutak-atik tiba-tiba muncul log seperti dibawah ini pada server SPSE v4.1.2, dan seluruh email keluar tidak terkirim atau gagal terkirim ke tujuan :

    111017 21:18:37 ERROR ~ [MAIL-JOB] Error sending mail, subject: [60742353 TO agusnr@gmail.com] test v412 – FAILED, javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465, response: -1
    111017 21:18:38 ERROR ~ [MAIL-JOB] Error sending mail, subject: [60741353 TO agusnr@gmail.com] test v36 – FAILED, javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465, response: -1

    Sudah dicoba mengganti smtp server ke server hosting dan smtp server alternatif lainnya, termasuk ke localhost, tapi error tetap muncul dan email tidak ada yang bisa terkirim keluar.

    Setelah browsing dan pusing-pusing (lumayan memakan waktu) akhirnya menemukan satu petunjuk disini yang menyarankan agar mendisable antivirus (server menggunakan CLAMAV dan sudah lama sekali tidak diperbaharui db nya), dan kembali ke manual doc om gmail, disana disarankan agar mengubah port dari 465 ke 587.

    Langkah perbaikan yang dilakukan sebagai berikut :

    1. Mendisable sementara CLAMAV dan dilakukan pembaharuan database antivirusnya dengan perintah ‘freshclam’
    2. Mengubah konfigurasi port smtp dari 465 (SSL) ke 587 (TLS).
    3. Ujicoba pengiriman email test atau lakukan pengiriman ulang atas email yang gagal terkirim.
    4. Aktifkan kembali antivirus, dan menguji ulang email notifikasi dengan mencoba ‘mendaftar sebagai rekanan’.

    Bila log SPSE terlihat sebagai berikut :

    111017 21:18:57 INFO ~ SMTP Server status is OK: smtp.gmail.com
    111017 21:18:57 INFO ~ SMTP Server status is OK: smtp.gmail.com

    Insya Allah server sudah dapat mengirimkan email notifikasi dengan lancar.

    Demikian dituliskan sebagai catatan, biar tidak lupa!

  • Proxmox : Menggunakan HDD Fisik Untuk Boot Di VM (Virtual Mesin)

    Migrasi Server Fisik Linux Ke Mesin Virtual (VM) seperti di tuts sebelum ini tidak selalu berhasil, ya kan Khaldy Perdana..? bisa jadi dikarenakan jenis hdd yang digunakan atau masalah lainnya, sehingga progress clone tidak bisa berhasil sampai ke 100%.

    Tapi tetap ada jalan keluar lainnya, karena di server tersedia 2 hdd…maka dilakukan lokir posisi hdd…hdd0 (sudah ada OS + app yang akan diboot didalam vm), lepas hdd0 dan pasang hdd1, install proxmox pada hdd1 ini.

    Setelah instalasi proxmox selesai, lanjutkan dengan memasang hdd0 dan login kedalam proxmox, dan lakukan langkah berikut :
    1. cek hdd0 yang baru dipasang, apakah terbaca pada proxmox dan ditandai sebagai sda berapa :
    2. masuk ke shell proxmox, jalankan command ‘apt-get install lshw’ bila paket lshw belum tersedia didalam proxmox
    3. ‘lshw -class disk -class storage’
    …..
    *-disk:1
    description: SCSI Disk
    physical id: 0.1.0
    bus info: scsi@4:0.1.0
    logical name: /dev/sdb
    size: 136GiB (146GB)
    capabilities: partitioned partitioned:dos
    configuration: logicalsectorsize=512 sectorsize=512 signature=00000c61
    …..
    /dev/sdb adalah hdd target yang akan dimount sebagai boot disk pada vm.
    4. saya mencari id hdd0 dengan ‘ls -l /dev/disk/by-id/scsi-*’
    …..
    lrwxrwxrwx 1 root root 9 Oct 5 18:45 /dev/disk/by-id/scsi-35000cca01514d9b8 -> ../../sdb
    …..
    5. create vm (misal dengan id 100) dengan pilihan hdd ide0 ukuran 4gb (harus ada hdd ketika create vm, nanti bisa dihapus setelah hdd0 berhasil di mount sebagai boot hdd)
    6. pada shell proxmox jalankan ‘qm set 100 -virtio0 /dev/disk/by-id/scsi-35000cca01514d9b8
    7. cek hasil add fisik hdd0 kedalam vm 100 dengan ‘grep scsi-35000cca01514d9b8 /etc/pve/qemu-server/100.conf’
    8. ubah boot order vm 100 agar membaca virtio0 sebagai urutan pertama dibaca ketika boot
    9. nyalakan vm 100, cek hasilnya pada console dan bila semua lancar, vm akan boot menggunakan OS pada hdd0 dan hdd ide0 (4gb yang dibuat saat create vm sudah bisa dihapus).

    Semoga berhasil…DWYOR!

  • Proxmox : Migrasi Server Fisik Linux Ke Mesin Virtual (VM)

    Memindahkan isi server fisik ke dalam mesin virtual cukup menyulitkan ketika dihadapkan dengan proses instalasi ulang OS, konfigurasi ulang aplikasi dan seterus seterusnya…

    Untungnya sudah ada iso clonezilla yang mampu mentransfer isi harddisk server fisik ke dalam hdd server virtual, berikut langkah yang harus dilakukan :

    Persiapan awal : download iso clonezilla (saya pribadi mengambil yang AMD ini) dan burn ke cd.

    A. Langkah ini dilakukan pada server fisik yang akan di clone (source) :
    1. login kedalam server dan cek kapasitas hdd terpakai dengan ‘du -c -h /’ dari hasil ‘du’ ini kita dapat menentukan besaran hdd yang diperlukan untuk membuat mesin virtual (VM) nya.
    2. reboot server dan arahkan agar server boot ke cd-rom drive yang ada live cd clonezilla, step nya sebagai berikut :
    – clonezilla live (default settings)
    – enter saja pada pilihan bahasa dan keyboard map
    – start clonezila
    – remote_source
    – expert
    – disk_to_remote_disk
    – ip static (saya tidak mengubah default ip/netmask/gateway dari clonezilla)
    – choose local disk as source (contoh saya menggunakan ‘sda’, kapasitas 8gb)
    – extra parameter, beri (*) pada ‘-icds’
    – ‘-sfsck’
    – ‘-k1’
    – ‘-pa choose’
    – diperlukan enter beberapa kali sebagai konfirmasi tindakan yang sudah dipilih, sehingga tampil layar seperti ini :

    dan server fisik siap mentransfer isi hdd nya menuju server virtual.

    B. Langkah ini dilakukan pada server virtual sebagai hasil clone (destination) :
    1. boot server dengan iso clonezilla dan lakukan step berikut :
    – clonezilla live (default settings)
    – enter saja pada pilihan bahasa dan keyboard map
    – enter_shell
    – didalam console/shell clonezilla berikan perintah berikut :
    # sudo su –
    # ocs-live-netcfg (saya mengubah ip address server VM menjadi 192.168.120.2)
    # ocs-onthefly -icds -s 192.168.120.1 -t sda
    – diperlukan enter beberapa kali sebagai konfirmasi atas cli yang diberikan, sehingga muncul progress bar seperti berikut :

    tampilan diatas menunjukan sedang dilakukan proses transfer isi hdd server fisik menuju hdd server virtual, dari contoh diatas, hdd server fisik (source) berkapasitas 8gb (terpakai 5gb) dan hdd pada server virtual tujuan (destination) berkapasitas 7gb.

    Setelah progress transfer complete 100%, silakan reboot server virtual ke hdd pertama (sda) dan shutdown server fisiknya.

    Demikian langkah-langkah migrasi server fisik ke server virtual untuk os linux dan dengan hdd yang berbeda kapasitas, selamat mencoba ya ‘Khaldy Perdana’..DWYOR!

    (sumber : https://www.youtube.com/watch?v=UxaVdo7RSk4)