Archive

Author Archive

HTTP Port Forwarding

April 22, 2015 Leave a comment

Kawan… Berikut konfigurasi sederhana untuk port forwarding di engine nya httpd (Apache HTTPD, IBM HTTP Server)

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

<VirtualHost *:80>
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName www.example.com
  ServerAlias example.com
  ProxyPass / http://localhost:8080/example/
  ProxyPassReverse / http://localhost:8080/example/
</VirtualHost>

Semoga bermanfaat.

Sumber:
https://www.digitalocean.com/community/tutorials/how-to-use-apache-http-server-as-reverse-proxy-using-mod_proxy-extension#configuring-apache-to-proxy-connections

Categories: Ngoprek

Pindah Sekolah

April 12, 2015 Leave a comment

Kawans,

Sebuah keputusan extreem ku ambil tahun ini, keputusan yang beberapa kali beberapa tahun sebelumnya tidak berani ku ambil. Tahun ini ku putuskan untuk pindah kerja. Pindah kerja ini ku anggap ini pindah sekolah, karena menurutku selama masih kerja dengan orang lain, maka kita masih belajar. Lulusnya nanti saat kau sudah punya usaha sendiri 🙂

Kali ini “tempat sekolah” ku ada di daerah senayan, kota metropolitan Jakarta. Ilmu baru, keahlian baru, suasana baru, teman baru, kesibukan baru. Mudah-mudahan Allah SWT memberikan kemampuan, kesehatan agar diriku bisa beradaptasi, berkarya dengan lebih baik ditempat yang baru ini.

Keilmuan yang akan ku pelajari kali ini sedikit berbeda “alam”nya. Di sekolah yang baru ini nanti ku kenal AS400, berbeda dengan “alam” sebelumnya. Pertualangan akan dimulai, mudah2an banyak nanti yang bisa ku bagi dengan khalayak ramai…

Sekian dulu untuk hari ini…
Salam

The journey of thousand miles begins with one step -Lao Tzu-

Categories: Celoteh

HTTP Listener dengan netcat

March 18, 2015 Leave a comment

Terkadang kita membutuhkan HTTP listener (seperti WebServer). Listener ini akan menerima HTTP get atau post yang dikirimkan oleh host lain yang mengarah ke HTTP listener kita. Untuk melakukan hal tersebut kita tidak perlu install “real” HTTP Server. Dengan berbekal netcat dan sedikit shell script, kita bisa membuat simple listener ini.

Kebetulan saya sedang ada keperluan untuk me-log semua stream HTTP yang dikirimkan dari host lain.

http_smslistener.sh:

#!/bin/bash

PORT=1234

while true; do
netcat -lp $PORT >> /pbx_u01/logs/sms.log < /opt/freeware/bin/index.html
done

Script diatas akan merespon setiap request HTTP yang masuk, dengan stream yang ada di index.html.
Semua request HTTP akan di log ke dalam file sms.log

index.html:

HTTP/1.0 200 OK
Content-Type: text/txt
Content-Length: 1

0

Sample http request via browser:
http://10.25.131.54:1234/mtpush?appsid=smsbanking&pwd=1234567&msisdn=628123456789&trx_date=20150318170257&sms=HelloWorld

sms.log:

GET /mtpush?appsid=smsbanking&pwd=1234567&msisdn=628123456789&trx_date=20150318170257&sms=HelloWorld HTTP/1.1
Host: 10.25.131.54:1234
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive

Sekian..semoga bermanfaat.

Salam,

Categories: Ngoprek, NyanyianKode

Recreate temp tablespace + datafile Oracle

March 2, 2015 Leave a comment

Tak terasa datafile temp tablespace development saya membengkak, memenuhi harddisk server development.
Untuk itu, saya “create” ulang temp tablespace nya, initiate dengan datafile yang ukurannya kecil.

Berikut step-stepnya:

  • Buat temp tablespace baru, untuk keperluan temporary.
    CREATE TEMPORARY TABLESPACE temp2;

  • Set temporary tablespace ke temp2 yang baru dibuat.
    ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp2;
  • Hapus temporary tablespace yang lama.
    DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;
  • Buat temp tablespace baru
    CREATE TEMPORARY TABLESPACE temp TEMPFILE '/pbx_u01/oradata/data1/DBMOBCOM/temp01.dbf' SIZE 256M REUSE AUTOEXTEND ON NEXT 128M MAXSIZE unlimited EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

  • Set default tablespace ke temp
    ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
  • Hapus temporary tablespace (temp2)
    DROP TABLESPACE temp2 INCLUDING CONTENTS AND DATAFILES;

 

Semoga bermanfaat.

Salam

Categories: Ngoprek

Repartisi/Reformat usbdisk (setelah usbdisk dipakai jadi installer Linux)

February 22, 2015 Leave a comment

Setelah usbdisk dipakai untuk dijadikan installer linux, tentunya kita ingin memakai kembali untuk menyimpan data. Namun kita tidak bisa langsung menggunakan usbdisk yang sudah digunakan untuk Linux installer sebelumnya. Kapasitasnya menjadi tidak tepat (sesuai ukuran iso – bukan ukuran disk yg sebenarnya), partisi menjadi readonly, adanya partisi baru (GPT partition).

Usbdisk butuh dikembalikan lagi ke asalnya, dan berikut adalah step2 untuk mengembalikan ke kondisi semula:

  • Buat label disk baru, untuk reset semua partisi yang ada. Misalkan dalam case ini disk yang saya pakai /dev/sdb.

parted /dev/sdb
mklabel msdos

  • Buat partisi baru dengan tools apa saja. Saya menggunakan fdisk. Partisi yang akan dibuat hanya ada 1 primary partisi.

fdisk /dev/sdb
Command (m for help): p

Disk /dev/sdb: 7801 MB, 7801405440 bytes
240 heads, 62 sectors/track, 1024 cylinders, total 15237120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000dc140

Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Partition type:
p   primary (0 primary, 0 extended, 4 free)
e   extended
Select (default p): p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-15237119, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-15237119, default 15237119):
Using default value 15237119
Partition 1 of type Linux and of size 7.3 GiB is set

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): C
Changed system type of partition 1 to c (W95 FAT32 (LBA))

Command (m for help): w
The partition table has been altered!

  • Format partisi yang sudah dibuat sebelumnya (/dev/sdb1 dalam case saya).

mkfs.msdos /dev/sdb1

Semoga bermanfaat, sekian dan terimakasih.

Note: do at your own risk 🙂

Categories: Ngoprek

JBoss-seam double datasource

January 11, 2012 Leave a comment

Suatu hari anak muda mendapat tugas membuat sopwer yang menggunakan dua database. Yang satu menggunakan MySQL dan satu lagi Oracle. Sang anak muda sudah terbiasa menggunakan seam-framework dan akan menggunakan seam juga untuk membuat program yang ditugaskan.

Datasource yang pertama digunakan untuk main data transaction (smsgw), sedangkan datasource yang kedua digunakan sekedar baca (mbmcDatasource). Berikut adalah langkah2 yang dilakukan oleh anak muda dalam menggunakan dua datasource di seam-projectnya:

  1. Definisikan datasource di *-ds.xml
    <local-tx-datasource>
    <jndi-name>smsgwDatasource</jndi-name>
    <connection-url>jdbc:mysql://localhost:3306/smsgw</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>smsgw</user-name>
    <password>rahasia</password>
    </local-tx-datasource>

    <no-tx-datasource>
    <jndi-name>mbmcDatasource</jndi-name>
    <connection-url>jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:ORACLESID</connection-url>
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <user-name>root</user-name>
    <password>rahasia</password>
    </no-tx-datasource>

  2. Definisikan entity manager di component.xml
    <persistence:managed-persistence-context name=”entityManager”
    auto-create=”true”
    entity-manager-factory=”#{smsgwEntityManagerFactory}”/>
    <persistence:entity-manager-factory name=”smsgwEntityManagerFactory”
    persistence-unit-name=”smsgw”/>
    <persistence:managed-persistence-context name=”mbmcEntityManager”
    auto-create=”true”
    entity-manager-factory=”#{mbmcEntityManagerFactory}”/>
    <persistence:entity-manager-factory name=”mbmcEntityManagerFactory”
    persistence-unit-name=”mbmc”/>
  3. Definisikan jndi datasource nya di persistence-*.xml
    <persistence-unit name=”smsgw” transaction-type=”JTA”>
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>java:/smsgwDatasource</jta-data-source>
    <properties>
    <property name=”hibernate.dialect” value=”org.hibernate.dialect.MySQLDialect”/>
    <!– property name=”hibernate.hbm2ddl.auto” value=”update”/–>
    <property name=”hibernate.show_sql” value=”true”/>
    <property name=”hibernate.format_sql” value=”true”/>
    <property name=”hibernate.transaction.manager_lookup_class” value=”org.hibernate.transaction.JBossTransactionManagerLookup”/>
    <property name=”hibernate.connection.release_mode” value=”after_transaction”/>
    </properties>
    </persistence-unit>

    <persistence-unit name=”mbmc” transaction-type=”RESOURCE_LOCAL”>
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <non-jta-data-source>java:/mbmcDatasource</non-jta-data-source>
    <properties>
    <property name=”hibernate.dialect” value=”org.hibernate.dialect.Oracle10gDialect”/>
    <property name=”hibernate.show_sql” value=”true”/>
    <property name=”hibernate.format_sql” value=”true”/>
    <property name=”jboss.entity.manager.factory.jndi.name” value=”java:/mbmcEntityManagerFactory”/>
    <property name=”hibernate.connection.release_mode” value=”after_transaction”/>
    </properties>
    </persistence-unit>
    4. Untuk menggunakan masing-masing entityManager, sang anak muda cukup menggunakan anotasi lookup @In yang dimiliki oleh seamframework.
    —SomeWhere.java–
    @In
    private EntityManager entityManager;
    @In
    private EntityManager mbmcEntityManager;

Seingat anak muda itulah step2 yang dilakukannya. Semoga bermanfaat. Salam.

Categories: Ngoprek, NyanyianKode, seam

Override HTTP to HTTPS and Close HTTP TRACE

October 14, 2011 Leave a comment

Override HTTP to HTTPS:

LoadModule rewrite_module modules/mod_rewrite.so
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Close HTTP TRACE:

RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
RewriteCond %{REQUEST_METHOD} ^TRACK
RewriteRule .* - [F]
Categories: Ngoprek