Archive

Archive for the ‘Ngoprek’ Category

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

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

Bikin sekrip untuk inspek sistem

June 23, 2011 Leave a comment

Kali ini ane mau bikin sekrip untuk mengetahui kondisi load memori, CPU dan IO disk di sistem linux. Kebetulan ane dapet tugas meneliti kondisi serper di client. Kali2 aje dikemudian hari berguna, begini sekripnye:

1. Sekrip untuk ngetahuin load CPU dan memori di linux Box. Sekrip ini cuma ngeliat top proses yang makan paling banyak (kagak semua).

#!/bin/bash

LOG_FILE="/home/hameed/Documents/WORK/CAT/script/topLog.txt"

echo "===================="`date +"%d-%m-%y"`"===================" >> $LOG_FILE
/usr/bin/top -n 1 -b | head -n20 >> $LOG_FILE
echo "=============================================" >> $LOG_FILE
echo "" >> $LOG_FILE

2. Sekrip buat ngetahuin load IO disk. Khusus buat sekrip yang eni, die make tools tambahan..namenye iostat.

#!/bin/bash

LOG_FILE="/home/hameed/Documents/WORK/CAT/script/iostatLog.txt"
INTERVAL=15

iostat -xtd $INTERVAL >> $LOG_FILE

Sekrip-sekrip ini masih culun dan sederhana banget. Ntar2 klo ade keperluan lebih, ane update tulisannye ye. Kurang lebih ane minta maaf, Wabillahi Taufik Wal Hidayat, Wassaalamu’alaikum.Wr.Wb.

Categories: Ngoprek