Month: October 2017

  • 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!