24 December 2012

Howto Share file though HTTPServer with Python

Howto Share file though HTTPServer with Python 
          อยาก Sharefile ให้เพื่อนๆ แต่ขี้เกียจ เปิดShared ต่างๆๆ ยากเย็น พอดีในเครื่องมี Python 2.7 พอดี งั้นจัดไป : 

1. ให้ไปที่ Directory ที่คุณต้องการที่จะ Shared 
2. Like follow command : " python -m SimpleHTTPServer 12345 "


เกรียนก็สร้างโลกได้!!!!

Good luck.

21 December 2012

How to customize command prompt windows 7

How to customize command prompt windows 7
     
        เคยเจอปัญหาอย่างภาพนี้ไหม


          เกิดความรำคาญมากมาย แทบจะไม่มีพื้นที่ให้ทำงานเลย เพราะว่ามันมัวแต่แสดง path ของ Directory ที่คุณเข้าไป งั้น เรามาดูภาพต่อไป




         ถ้าเป็นแบบนี้ จะสะดวกกว่า นะ เวลาทำงานไม่ต้องมี การแสดง ชื่อ path มาให้ เบื่อลูกกะตา!!!

ให้คุณใช้ Tools ที่ชื่อว่า prompt ได้เลย ครับ ลองพิมพ์ตามนี้ครับ

               C:\Windows> prompt $N">>

$N คือ Partition
คุณจะได้ดังภาพข้างบนเด้อ แต่ถ้าต้องการ ให้มีการแสดงผลอย่างนี้ทุกครั้งที่มีการ เรียก command prompt ก็ให้ Define ไว้ที่ Enviroment Variable ของ system เด้อครับ

     Create a new environment variable called PROMPT. Set the variable value to the desired prompt.
      Press win+R ,then type "sysdm.cpl". Open Tabs "Advanced" Like Following :



หวังว่าจะนำไปต่อยอดได้ นะครับ คุณลอง C:\Windows> prompt /?
หมายเหตุ ถ้าต้องการให้เป็นเหมือนเดินก็แค่พิมพ์ prompt แล้ว Enter ครับ (restoring by default)


Good luck strumjub. jub



18 December 2012

How to manage http and https web server ZimbraMail

How to manage http and https web server ZimbraMail 


login as zimbra

zmtlsctl 

เป็น Command สำหรับการตั้งค่าของ protocol ในส่วนของการสื่อสารกับ Web Server zimbraMail โดยจะมีผลเมื่อคุณทำการ Restart Server ZimbraMail จากคำสั่ง
#zmcontrol stop/start หรือ restart นั้นเอง


Syntax
---------------------------
zmtlsctl [mode]


Mode Choices
-----------------------------
http - คือ user จะสามารถใช้ protocal http อย่างเดียวในการเข้าใช้งาน web mail เช่น http://eibot.local/

https - คือ user จะสามารถใช้ protocal https อย่างเดียวในการเข้าใช้งาน web mail เช่น https://eibot.local/ ถ้าเข้าใช้เป็น http จะไม่สามารถทำได้

both - คือ user จะสามารถใช้ protocal ได้ทั้ง http และ https  โดย server จะจำค่า Session  เอาไว้  user สามารถเปลี่ยนใช้ได้ทั้ง http และ https โดยไม่ต้อง Login ใหม่

mixed - คือ ในกรณีที่ user เรียก http เข้า server จะทำการ switch ให้ใช้ https เฉพาะหน้า login เท่านั้น แล้วเมื่อ User ทำการ login เสร็จ ก็จะ switch กับมาที่ traffic http ให้เหมือนเดิม แต่ถ้าเรียกเข้ามาเป็น https ก็จะคงไว้เหมือนเดิม

redirect - คือ จะมีลักษณะคล้ายกับ mode mixed แต่ user ไม่สามารถที่จะร้องขอใช้ http ได้โดยเมื่อร้องขอจะโดย Redirect ไปที่ https เสมอ นะจ๊ะจุฟๆๆ


example .... 



Good luck strumjub...

17 December 2012

Howto Increase attachment file size on zimbra mail Server


Howto Increase attachment file size on zimbra mail Server

Login as zimbra

Usually, by default FileUpload and MTA Max size is 10 MB.
## Check status service in zimbra server : 
zimcontrol status


You can both of them via the command line like following : 

##Check variable FileUploadMaxSize :
zmprov gacf | grep zimbraFileUploadMaxSize

## Set variable FileUploadMaxSize :
zmprov mcf zimbraFileUploadMaxSize 20971520


and 

##Check variable MtaMaxMessageSize :
zmprov gacf | grep zimbraMtaMaxMessageSize

## Set variable MtaMaxMessageSize :
zmprov mcf zimbraMtaMaxMessageSize 20971520

note >> 20 MB = 20971520 byte (20*1024*1024)

Example .. 


Good luck strumjub.

13 December 2012

The Shell Script Stop Start and control JBoss standalone 7.1 final

The Shell Script Stop Start and control JBoss standalone 7.1 final
           the script run by user or root on Linux platform. you need to define variable environment for script Like follow :
            JAVA_HOME = path of java installed (1.6 or higher)
            JBOSS_HOME = path of jboss
            JBOSS_CONFIG = path file of jboss configuration.
            .....bababa........


#!/bin/sh
#
# JBoss standalone control script
#
# chkconfig: - 2012-10-25
# description: JBoss AS Standalone
# processname: standalone
# pidfile: JBOSS_HOME/jboss-as-standalone.pid

# Define Java configuration.
export JAVA_HOME=/usr/local/java

# Load JBoss AS init.d configuration.
if [ -z "$JBOSS_CONF" ]; then
JBOSS_CONF="/opt/JBOSS71/bin/jboss-as-standalone.conf"
fi

[ -r "$JBOSS_CONF" ] && . "${JBOSS_CONF}"

# Set defaults.

if [ -z "$JBOSS_HOME" ]; then
JBOSS_HOME=/opt/JBOSS71
fi
export JBOSS_HOME

if [ -z "$JBOSS_PIDFILE" ]; then
JBOSS_PIDFILE=$JBOSS_HOME/bin/jboss-as-standalone.pid
fi
export JBOSS_PIDFILE

if [ -z "$JBOSS_CONSOLE_LOG" ]; then
JBOSS_CONSOLE_LOG=$JBOSS_HOME/console.log
fi

if [ -z "$STARTUP_WAIT" ]; then
STARTUP_WAIT=30
fi

if [ -z "$SHUTDOWN_WAIT" ]; then
SHUTDOWN_WAIT=30
fi

if [ -z "$JBOSS_CONFIG" ]; then
JBOSS_CONFIG=standalone.xml
fi

if [ -z "$JBOSS_USER" ]; then
JBOSS_USER=pum
fi

JBOSS_SCRIPT=$JBOSS_HOME/bin/standalone.sh

prog='JBOSS71 Server'

start() {
echo -n "Starting $prog:"
if [ -f $JBOSS_PIDFILE ]; then
read ppid < $JBOSS_PIDFILE
if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
echo -n "$prog is already running."
#failure
echo
return 1
else
rm -f $JBOSS_PIDFILE
fi
fi
#mkdir -p $(dirname $JBOSS_CONSOLE_LOG)
cat /dev/null > $JBOSS_CONSOLE_LOG
#mkdir -p $(dirname $JBOSS_PIDFILE)
chown $JBOSS_USER $(dirname $JBOSS_PIDFILE) || true

# Cleaning temp server
rm -rf $JBOSS_HOME/standalone/tmp/*
#comand start Jboss Server
eval LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT -c $JBOSS_CONFIG 2>&1 > $JBOSS_CONSOLE_LOG &

count=0
launched=false

until [ $count -gt $STARTUP_WAIT ]
do
grep 'Deployed "PUMEAR.ear"' $JBOSS_CONSOLE_LOG > /dev/null
if [ $? -eq 0 ] ; then
launched=true
break
fi
echo -n "."
sleep 1
let count=$count+1;
done
echo ": PumSrv Starting Succeed!!."
return 0
}

stop() {
echo -n $"Stopping $prog:"
count=0;

if [ -f $JBOSS_PIDFILE ]; then
read kpid < $JBOSS_PIDFILE
let kwait=$SHUTDOWN_WAIT

# Try issuing SIGTERM

kill -15 $kpid
until [ `ps --pid $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq '0' ] || [ $count -gt $kwait ]
do
echo -n "."
sleep 1
let count=$count+1;
done

if [ $count -gt $kwait ]; then
kill -9 $kpid
fi
fi
rm -f $JBOSS_PIDFILE > /dev/null
#success
echo " PumSrv Server Stoping Succeed!!."
echo
}

status() {
if [ -f $JBOSS_PIDFILE ]; then
read ppid < $JBOSS_PIDFILE
if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
echo "$prog is running (pid $ppid)"
return 0
else
echo "$prog dead but pid file exists"
return 1
fi
fi
echo "$prog is Not running."
return 3
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
$0 stop
$0 start
;;
status)
status
;;
*)
## If no parameters are given, print which are avaiable.
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
Good luck ..... by stumjub!

How to BackUp and Restore Database MySQL Server Linux

How to BackUp and Restore Database MySQL Server Linux

          กลับมาเขียนต่อคราวนี้ยังคง Concept เหมือนเดิมเน้นทำงานไม่เน้น ทฤษฎีนะครับ เพราะว่าหาอ่านได้ตาม google แล้วกันนะครับ

         ถ้าต้องการ Backup Database ใน MySQL Server ของเราไป ใช้งานที่อื่นๆ
         1. ให้ทำการ Login ด้วย user ที่สามารถ Access เข้า Database ได้นะครับ
         2.  หา path หรือพื้นที่ ที่เพียงพอในการ Backup จากนั้น จัด Shell command โลด
                    #mkdir Backup
                    #cd Backup


                    # mysqldump --user user_access --password=passuser_access dbname-backup>dbname-20121212.sql
             รอสักพักครับ จากนั้นเราก็จะได้ File Backup ไปใช้งานครับ

          ขั้นตอนการ Restore Database ใน MySQL Server
          1. ให้ทำการ Login ด้วย user ที่สามารถ Access เข้า Database ได้เหมือนเคย
          2.  ให้ทำการ เข้าไปที่ path ที่เราได้ทำการ Backup ไว้ จากนั้น จัด command ได้ครับ
                   #  mysql  --user user_access --password=passuser_access dbname-backup < dbname-20121212.sql
       
Note :
             user_access คือ ชื่อ user ในการ Access เข้าไปที่ mysql Server
             passuser_access คือ password ของ user
             dbname-backup คือ ชื่อ Database ที่ต้องการ Backup หรือ Restore

Good luck.... by stumjub

Using PuTTY connect to Unix-Aix

Using PuTTY connect to Unix-Aix

            เมื่อเชื่่อมต่อเข้าไปที่ Unix Aix หรือ Unix อื่นๆ ด้วย PuTTY แล้วเจอปัญหา อย่างเช่น อยากลบเมื่อพิมพ์ผิด กด Backspace แล้วดันไม่ลบกลายเป็นภาษาต่างอวกาศ ซะงั้น อ้าว! ทามไงล่ะที่นี้ เป็นปัญหาที่ผมเจอสักพักใหญ่ เห็นรุ่นพี่พิมพ์แล้วลบได้ เราทำไม ลบไม่ได้ ว่ะ โงนเลย.....


           ก็เลยแอบเข้าไปดู  /etc/profiles และ ~/.ksh ให้ตายเถอะ เราเจอแล้วนะ อิอิ
มีการ Set ไว้ดังนี้ครับ
           
            set -o emacs
หรือ
            set -o vi 

เอาสักตัวหนึ่ง ครับ ผลของมันคือ เราสามารถใช้งานที่ shell ของเราได้โดยเสมือนว่า เข้าไปอยู่ใน Environment ของ Editor เหล่านั้นเลยนะ .....

Good lock.... by stumjub.

Collision Domain Basic


Collision Domain Knowledge
Collision Domain ---> การชนกัน (ตอบกำปันทุบนุ้นแล้วกัน ดินมันเจ็บ.....)

          ธรรมชาติของสัญญาไฟฟ้า จะเหมือนกันกับคลื่นน้ำ อย่างเช่นเรามีสายยางส่งน้ำที่ต่อไปยังต้นไม้ทุกๆ ต้นเราต้องการส่งน้ำไปเต็มสายยางให้ต้นไม้ต้นแรกถามว่าต้นไม้ต้นที่สอง สาม สี่จะได้รับน้ำไหม คำตอบคือได้รับครับ นั้นคือธรรมชาติของน้ำ




         Collision Domain คือการชนกันของสัญญาไฟฟ้า เวลาชนกันจะทำให้ Lan ใช้ไม่ได้ ณ ไมโครวินาทีนั้นๆ (อันนี้เป็นทางการนิดหนึ่งแต่ก็ไม่เข้าใจเท่าไรนัก!!)


เรามาขยายความกันต่อ....


ถ้าผมถามว่า Domain คืออะไร ตามเด็กไทยจะนังเฉยๆ เราเพื่อนตอบ เพื่อนมันก็คิดเหมือนคุณกันทั้งห้องครับ!!!!!!!!!!!!!!!!


             Domain คืออะไร มันก็คืออะไรก็ตามที่เหมือนๆกัน อย่างเช่น  Domain ของคนใส่เสื้อดีขาว , ใส่เสื้อสีฟ้า เป็นต้น แล้ว Collision Domain ล่ะ มันก็คือ ระบบที่เจอ Collision เดียวกัน หรือ Broadcast Domain คือ ระบบที่อยู่ภายใต้การ Broadcast เดียวกันนั้นหมายความว่าคนหนึ่งส่ง Broadcast แล้วอีกคนจะเจอ Broadcast ด้วย



               Collision Domain รูปแบบของระบบ LAN ที่เมื่อไรก็ตามที่คนๆ หนึ่ง ส่งข้อมูลมันจะกระจายไปถึงอีกคนอื่นๆ อย่างเช่น เครื่อง A ,B,C, D อยู่ในระบบ LAN(นึกถึง Lan ยุคเก่าๆ ที่ ใช้สายไฟฟ้าต่อกันตรงๆ หรือการต่อ Hub) เดียวกัน เมื่อ A ส่งข้อมูลหา B แล้ว D จะเห็นข้อมูลด้วย แล้วเหตุผลอะไร มันถึงเป็นเช่นนั้น???   ที่ D เห็นเพราะมันเป็นธรรมชาติ แล้วธรรมชาติยังไงล่ะ! ให้คุณลองคิดว่า สมมติว่าเรา เอาปลั๊ค 3 ตา มาสัก 6 อัน เอาตัวแรกไป เสียบจากเต้าจากฝาผนังที่บ้านแล้วเอาตู้เย็น พัดลมเสียบ จากนั้นเอาปลั๊ค ส่วนที่เหลือนั้นมา เสียบต่อไป กันไปเช่นเดียวกันหมด จากนั้นถ้าคนลอง เอา นิ้วแย่เต้าปลั๊คตัวที่ 6 ที่ต่อๆ เรียงกันมาแล้ว มันจะไฟดูดคุณถูกไหม? นั้นคือธรรมชาติของการสัญญาไฟฟ้า กรณีนี้ก็เช่นกันครับ การที่เราจะสามารถเข้าใจ Network ได้คุณจะต้องเรียนรู้เรื่อง ธรรมชาติของ Network เป็นต้น ซึ่ง ธรรมชาติของไฟฟ้า ทำให้เกิด Collision เพราะว่าการที่เรา ส่งข้อมูล A--->B มันเป็นรูปแบบของการส่งสัญญาไฟฟ้า ซึ่งสัญญาไฟฟ้าโดยธรรมชาติของมันจะกระจายไปทั้งหมดไปหา C,D ด้วย



                  การเกิด Collision Domain เหตุอย่างเช่นว่า A ส่งข้อมูล Hello World หา B โดยข้อมูลจะถูกแปลงเป็นสัญญาไฟ้ฟ้า 0 V,5 V หรือ 0,1 ขึ้นๆ ลงๆ ประมาณนั้น ในบ้างจังหวะมีการชนกันของ สัญญาไฟฟ้าที่เป็น 1 กับ 1 หรืออื่นๆ เนี้ย ทำให้เกิดการ แจมกันขึ้น อย่างเช่น  1  กับ 1  เกิดการชนกัน จะถูกยกระดับเป็น 2 Volt หรือ 1 กับ 0 กลายเป็น 0.5 V เป็นต้น แล้วกันจะตีความข้อมูลยังไงล่ะ!!!! นั้นคือสาเหตุจริงๆ ของการที่เราทำไมถึงกลัวการเกิด Collision Domain กันนักกันหนานะครับ ทำไมถึงกลัวล่ะเพราะว่าการเกิดการ Collision ทำให้เกิดการตีความข้อมูลไม่ออก ก็จะมีกระบวนหยุดส่งซะก่อน!!หรือที่เรียกกันว่า Carrier Sense Multiple Access With Collision Detection  เกิดขึ้นแล้วยังไงล่ะ การบวนการนี้ถูกสร้างขึ้นเพื่อที่จะทำการ Detection ว่ามีการเกิด collision ไหม ถ้าเกิดจะทำการหยุดส่งซะก่อน นั้นคือ ทุกครั้งที่มีการส่งข้อมูลออกไปมันจะต้องอ่านข้อมูลกลับมาด้วยว่าตรงกันที่มันส่งหรือเปล่า ถ้าไม่ตรงแสดงว่าการเกิดมั่วขึ้น ถ้าเกิดการมั่วขึ้นมันจะรู้ได้ทันทีเลยว่าข้อมูลมีการชนกันเกิดขึ้น แล้วทำไงก็หยุดส่งทันที วิธีการหยุดส่งคือถือ นาฬิกาของตัวเองแล้วทำการ Random (พี่สุ่ม วง clash) ตัวเลขขึ้นค่าหนึ่งๆ แล้วการทำจับเวลา อย่างเช่น สุ่มได้ 9 วินาที แล้วทำการ Count Down (นับถอยหลัง) จนถึง 0 วินาทีแล้วทำการส่งข้อมูลอีกครั้ง  นั้นคือทุกคนที่เป็นผู้ส่งที่อยู่ในวง LAN เดียวกันถ้าเกิด Detection เจอการชนกันเกิดขึ้นทุกคนจะต้องหยิบนาฬิกาขึ้นมา Random แล้วทำการนับถอยหลังแล้วส่งข้อมูลออกจากหลังจากนับได้ 0 นั้นแสดงว่าจะมีคนเดียวเท่าถึง 0 เร็วกว่าเพื่อนๆ ก็จะส่งก่อน นี้ก็เป็นส่วนหนึ่งในการพัฒนาของ LAN



                   แต่อย่างไรก็ตาม การทำ Carrier Sense Multiple Access With Collision Detection ในกรณีที่เครื่องในวง Lan เยอะๆ ทุกคนแย่งกันใช้ เมื่อมีการชนกันเกิดขึ้นทำให้ทุกคนต้องหยิบนาฬิกาขึ้นมาเพื่อจับเวลา แล้วแย่งกันนับถอยหลังเพื่อให้เป็นผู้ชนะแล้วจะได้ส่งก่อนทำให้ ช่วงเวลาในการนับถอยหลังวง Lan ไม่ได้เกิดการใช้งานหรือว่างนั้นเอง จะทำให้เราเห็นว่า  เมื่อมีคนใช้งานในวง Lan มากขึ้นไปเรื่อยๆ กราฟ Utilisation (ค่าตัวเลขที่ใช้แสดงการทำงาน) จะขึ้นถึงจุดหนึ่งแล้วเมื่อมีการชนกัน เส้นกราฟก็จะตกลงมา ซึ่งเกิดจากการรอกันมากขึ้น ถนน LAN ก็จะว่างเยอะขึ้น จากเหตุการนี้ ทำให้รู้ว่า LAN วงๆ หนึ่งควรจะมีเครื่องในวง เราถึงจะเหมาะสม ซึ่งมาจาก กราฟ  Utilisation ซึ่งเราต้องคำนึงถึงการจำกัดจำนวนเครื่องโดยการวิเคราะห์ว่า LAN วงนี้นะ ใช้ IP ถ้ามีการชนกัน ขนาดเท่านี้ ควรจะมีเครื่องในวง LAN เท่ากับเท่าไร  ซึ่งถามว่าเราใช้เกินที่จำกัดได้ไหม คำตอบคือได้ครับ ไม่ผลต่ออุปกรณ์ต่อจะทำให้การส่งข้อมูลมีความช้าครับ มันเป็นทีมาของคำว่า ตัวเลข Recommendation นั้นเองครับ


สรุป คือ ธรรมชาติของการนำไฟฟ้า เท่ากับ ธรรมชาติของ Collision Domain

27 September 2012

How to cleaning password protect cell excel 2007


      ทำไงดีเมื่อเราต้องการ แก้ไขข้อมูลบน Cell ใน Excel 2007 แต่ดันลืม Password ที่ได้ Protect Cell ไว้ ดังรูป....


    มาเริ่มทำการ Cleaning password ที่ได้ Protect cell excel 2007 กันเลยครับ
สิ่งที่ต้องเตรียมก่อนการปฏิบัติการครั้งนี้ คุณจะต้องมี โปรแกรม Winrar หรือ Winzip และ XML Editor
download ได้ที่นี้ครับ http://www.firstobject.com/dn_editor.htm (XML Edirtor FreeWare)

Step 1 : ให้ทำการ Backup ไฟล์ก่อนนะครับ

Step 2 : ให้ทำการเปลี่ยนนามสกุลไฟล์ Excel 2007 ที่ต้องการทำ Cleaning password จาก *.xlsx เป็น *.zip

12 September 2012

How to ldap configuration zimbra mail Server

ใน Zimbra Mail Server ก็รองรับ Ldap นะครับ เมื่อต้องการ ดูค่า Configuration ของ ldap Zimbra โดยเข้าไปใช้โดย User Zimbra  ก่อน

# su - zimbra



จากนั้นใช้คำสั่งเพื่อดู ค่า Configuration ldap Zimbra โดย

# zmlocalconfig -s | grep ldap


8 September 2012

How to Disabled Ctrl+Alt+Del rebooting in RHEL6

How to Disabled Ctrl+Alt+Del rebooting in RHEL6

ในเครื่อง Server ที่เราทำถ้ามี User ดันเผลอหรือด้วยความตั้งใจก็ตาม กด Ctrl+Alt+Delete โว้ยแม่เจ้าดัน Restart / Reboot เครื่อง Server ซะงั้น ดังนั้นในฐานะที่เราเป็น administrator Linux ต้องป้องกันไว้เพื่อไม่ให้มีปัญหาปวดหัวที่ต้องมาเปิด Service บ้างอย่างที่คุณอาจไม่ได้ทำเป็น Script Auto Start เมื่อทำการ Restart / Reboot เครื่อง Server งั้นมาจัดการกันเลยครับ

ให้ทำการ แก้ไขไฟล์ /etc/init/control-alt-delete.conf โดยใช้คำสั่ง



#vim /etc/init/control-alt-delete.conf

โดยให้ ทำการ Comment ข้อความดังนี้


# start on control-alt-delete
#exec /sbin/shutdown -a -r now "Control-Alt-Delete pressed"


ดังรูป


จากนั้นให้ทำการ Save แล้วออกจากไฟล์นั้น ( :wq )  จากนั้นให้ทำการ Restart / Reboot เครื่อง Server หรือใช้คำสั่ง เพื่อ Re-config :

# init q 

ลองทดสอบ โดยการ กดปุ่ม Ctrl+Alt+Delete  หรือ Ctrl+Alt+Insert (ในกรณีที่เครื่อง Server อยู่ใน VMware Workstation )

แค่นี้ ก็หมดปัญหามากวนใจ กลับบ้านไปดู AV อย่างสบายใจได้แล้วครับ......

3 September 2012

Redirecting Input and Output on Linux


Redirecting Input and Output on Linux

" > "     จะสร้างไฟล์ใหม่ขึ้นมาแล้ว เอา Standard Output ไปเขียนลง ถ้ามีแล้วจะทับไฟล์เดิมด้วย Standard Output
           Ex.   #echo linux > test.txt 

" >> "   เป็นการเอา Standard Output ไปเขียนต่อข้อความของไฟล์นั้นๆ โดยถ้าไม่มีจะสร้างไฟล์นั้นขึ้นมาใหม่



          Ex.   #echo linux >> test.txt

" 2> "   จะสร้างไฟล์ใหม่ขึ้นมาแล้ว เอา Standard error ไปเขียนลง ถ้ามีแล้วจะทับไฟล์เดิมด้วย Standard error
         Ex.   #echo linux 2> test.txt

" 2>> " เป็นการเอา  Standard error ไปเขียนต่อข้อความของไฟล์นั้นๆ โดยถ้าไม่มีจะสร้างไฟล์นั้นขึ้นมาใหม่
         Ex.   #echo linux 2>> test.txt

" &> "  จะสร้างไฟล์ใหม่ขึ้นมาแล้ว เอา Standard Output  และ Standard error ไปเขียนลง ถ้ามีแล้วจะทับไฟล์เดิมด้วย  Standard Output  และ Standard error
           Ex.   #echo linux &> test.txt

" < "  เป็นการนำเอาเนื้อหาของไฟล์ที่ระบุไปเป็น Standard Input ของคำสั่งนั้นๆ
            Ex.   #export package=`rpm -qa httpd*`
                    #rpm -e < $package

" << " เป็นลักษณะการใส้ข้อความหรือ Code แบบไม่ได้อ้างอิงด้วยไฟล์ ส่งเป็น Standard Input
             Ex.   เอาไว้เขียน shell script :

                  clean_log()

                   {

                                      mysql -u $user --password=$password << eof
                                      use $db;
                                      START TRANSACTION;
                                      BEGIN;
                                                $query_db
                                      COMMIT;
                                    eof
                    }
" < > " เป็นทั้ง Standard Input และ Standard Output 
           Ex.   # echo  <> echo Linux_Server

25 August 2012

Monitor Folder Detail with command watch

ผมเอาไว้ดูเวลามีการ เปลี่ยนแปลงใน Folder นั้น ครับ.....

watch -d -n 1 'df -h .; echo " "; echo "Local folder updates:"; ls -FIAt;echo " ";echo -n "Size of : ";du -h --max-depth=1'


13 June 2012

key-shortcut Task manager on windows

บ่อยครั้งที่เราต้อง kill process ใน windows เพื่อความรวดเร็ว เราต้องใช้ คียร์ลัด โดยกดปุ่ม

Ctrl+Shift+ESC

เย้.......!!!!

Run Services on Background Linux

ใช้คำสั่ง ในการ Run background :
nohup Script ที่่ต้องการ RUN > เขียน Output ออกไปที่ไฟล์ใด &2>&1

exsample ::
nohup ./standalone.sh -b 0.0.0.0 >/app/csi/tmp/log.run.jboss.txt &2>&1

Linux change group file and directory

ในการเปลี่ยน Group ของ ไฟล์และโฟเดอร์ ใช้ได้ 2 คำสั่ง ::

chgrp GROUP_NAME  FILE_NANE
or
chown .GROUP_NAME  FILE_NANE

เด้่อ Tip น้อยๆ

27 May 2012

How to Uninstall VMware Workstation 8 on Ubuntu 12.04


บรรทัดเดียวจบข่าว ......

sudo su ; vmware-installer -u vmware-workstation

28 April 2012

How to install IRedMail on Ubuntu 11.10



การติดตั้ง iRedMail ใน Ubuntu Server 11.10
                เมื่อติดตั้ง Ubuntu Server 11.10 พร้อมทำการติดตั้ง SSH Server และทำการติดตั้ง Mysql (การติดตั้งที่กล่าวมานี้ในที่นี้จะไม่อธิบายเพราะว่ากระบวนการติดตั้งจะเหมือนกันเอกสารที่ได้ทำไว้ใน  Web Server แล้ว) เสร็จแล้วให้ทำการตรวจสอบ Service SSH และ IP address ของ Ubuntu Server ดังรูป



จากนั้นให้ทำการเปิด PuTTY แล้วทำการเชื่อมต่อไปที่ Server Ubuntu ที่ต้องการติดตั้ง iRedMail ดังรูป









ให้ทำการกำหนดชื่อ hostname โดยคำสั่ง

#hostname “mail”

และทำการกำหนดไฟล์ /etc/hosts เพื่อให้ hostname และ IP address ตรงกัน โดยคำสั่ง

#vi /etc/hosts

ดังรูป

แล้วทำการแก้ไขไฟล์ hosts โดยการเพิ่มข้อความดังรูป




ทำการทดสอบ FQDN hostname โดยใช้คำสั่ง
#hostname --fqdn




จากนั้นทำการ download iRedMail มาไว้ที่เครื่อง Server โดยคำสั่ง
#wget http://iredmail.googlecode.com/files/iRedMail-0.7.4-rc3.tar.bz2




เมื่อทำการ Download เสร็จสิ้นให้ทำการแตกไฟล์ออกมาโดยใช้คำสั่ง
#tar jxvf iRedMail-0.7.4-rc3.tar.bz2




ถ้าทำการแตกไฟล์ดังกล่าวเสร็จแล้ว จากนั้นให้เข้าไปที่โฟเดอร์ที่ได้แตกมาแล้วใช้คำสั่งเพื่อรัน Script
#bash iRedMail.sh




จากนั้นจะมีหน้าต่าง wizard ขึ้นมาตอนรับให้เลือก Yes ได้เลยดังรูป


เลือกทำการไดเรกทอรีที่จะใช้ในการจัดเก็บกล่องจดหมายของผู้ใช้


iRedMail นั้นสนับสนุนทั้ง OpenLDAP และ MySQL เป็นแบ็กเอนด์ในการจัดเก็บ Virtual Domain แต่ในที่นี้ผมจะใช้ Mysql 



จากนั้น ให้ทำการ เลือก Components สำหรับ Mysql Backend ดังรูป


ให้ทำการเลือก Default language สำหรับ WebMail ในที่นี้จะให้เลือก en_US English ดังรูป

เมื่อกำหนดการตั้งค่าเสร็จ ให้ทำการพิมพ์ y แล้วกด Enter


จากนั้นระบบจะทำการ Configure ค่าต่างๆ ดังรูป แล้วให้เลือก



จากนั้นเมื่อเสร็จระบบจะบอก Information ต่างๆ ของระบบดังรูป


ทดสอบโดยการเปิด Web Browser ให้กรอก https://IP address/iredadmin แล้วกด Enter  จากนั้นทำการกรอUsername: postmaster@eibot.local ,Password :qwer#1234 ตาม Information จะมีหน้าตาดังรูป 



เมื่อทำการเข้าสู่ระบบแล้ว ดังรูป


ในการเข้าสู่ Webmail ของการ IRedMail ใน Application ต่างๆ ดังรูป


เมื่อคลิกที่ Domains and Accounts แล้วก็จะเจอ Domain ที่ได้ตั้งค่าไว้ซึ่งในหน้านี้ก็จะมีรายละเอียดต่างๆ เกี่ยวกับ Domain และ Accounts ของแต่ละ Domain ดังรูป


เมื่อทำการคลิกที่ User แล้วระบบจะทำการแสดงชื่อ User ของ Domain นั้นๆ และมี Information ต่างๆ จากนั้นให้ทำการทดลอง Add User ให้กับ Domain เพื่อที่จะได้ทำการทดลองส่งข้อความระหว่างผู้ใช้งาน โดยคลิกดังรูป



จากนั้นระบบจะมีหน้าต่าง Add user ขึ้นมาให้กรอกหรือเลือกดังรูป เมื่อเสร็จแล้วให้คลิกที่ Save changes




เมื่อเสร็จแล้วระบบก็จะแสดงชื่อของผู้ใช้ที่ได้เพิ่มเข้าไป ดังรูป




จากนั้นทำการให้ทำการเข้าระบบด้วย User ใน Domain นั้นโดยไปที่ Web Browser ให้กรอก https://IP address/mail แล้วกดปุ่ม Enter แล้วก็ทำการ กรอก username, password และคลิกที่ Login ดังรูป


เมื่อเข้าระบบมาแล้วก็ให้ทำการทดลองส่งข้อความหาผู้ใช้คนอื่นโดยกดปุ่มดังรูป


จากนั้นทำการกรอกข้อมูลต่างๆ เพื่อส่งข้อความไปหาผู้ใช้คนอื่นๆ ดังรูป แล้วทำการกดปุ่ม Send now


จากนั้นข้อความที่เคยส่งก็จะไปอยู่ใน  Folder Sent ดังรูป


จากนั้นทำการ Login ด้วย Username, Password เพื่อตรวจสอบว่าส่งข้อความได้จริงดังรูป





จากนั้นก็สามารถเปิดดูโดยการคลิกที่ข้อความได้ดังรูป


เท่านี้ก็เรียบร้อยแล้วครับ บทความนี้หวังว่าน่าจะเป็นประโยชน์ไม่มาก็น้อย

-------------------------------------------------------------------------
บทความต่อไป ผมอาจจะค่อยได้เขียน ในทาง Ubuntu มากนักอาจ เพราะว่าผมจะผันตัวเองไปเล่นทาง RedHat กันบ้างแล้วครับ คนเราสามารถพัฒนาตัวเองได้ไม่มีวันสิ้นสุด ถ้ายังไม่ลมหายใจอยู่


-------------------------------------------------------------------------

5 April 2012

default and not default information login win 7

ในหน้า login ของ windows 7 โดยปกติแล้ว จะเป็นดังรูปครับ

หน้า login ที่เป็น default win 7
โดย Script ข้างล่างนี้จะเป็นค่า Default 


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"DontDisplayLockedUserId"=-

กรณีที่ต้องการความเป็นส่วนตัว ไม่อยากให้ใครที่เดินผ่านหน้าคอมพิวเตอร์เรา เห็น Username ในเครื่องเราว่าเป็นอะไร ในหัวข้อนี้จะเรียกว่าเพิ่มความ Security ในกับเครื่องเรา  เพื่อให้เวลาในการ Login ควรจะบังคับให้ใส่ ทั้ง Username และ Password ด้วย!!!  ดังรูป

เมื่อทำการทำการ Set ให้มีความ Security 
จาก Script ข้างล่าง

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"DontDisplayLockedUserId"=dword:00000003

คุณสามารถนำ Script เหล่านี้ไป วางใน Notepad แล้วทำการ Save เป็น นามสกุลไฟล์ .reg แล้ว Run ได้นะครับ

หวังว่าจะเป็นประโยชน์บ้างไม่มากก็น้อยครับ....................

29 March 2012

Concept NetScreen Firewall


 การตัดสินใจของ NetScreen FireWall 
                เป็นพื้นฐานที่สำคัญเป็นอย่างมากสำหรับผู้ดูแลไฟร์วอลที่จะต้องเข้าใจในการจัดการ Firewall Netscreen นั้นมีกระบวนการดังภาพ

                           



ผมจะอธิบายรายละเอียดจากภาพข้างบน ดังนี้
             เมื่อมี Packet เข้ามาจะทำการตรวจสอบว่า Packet นั้นๆ เป็น Packet ที่เคยเข้ามาหรือเปล่าโดยไปตรวจสอบที่ Session Table ถ้ามี (Yes) ให้ทำการอนุญาตให้ Packet นี้ผ่านได้ แต่ถ้าไม่ (No)จะต้องมีการตรวจสอบปลายทาง (Destination) ของ Packet ว่าอนุญาตให้เข้าถึงได้หรือไม่ ถ้าไม่ (No) ก็จะทำการ Drop Packet นั้นไป แต่ใช่ (Yes) ก็มีกระบวนตรวจสอบต่อว่า Packet ที่เข้ามาจะต้องส่งข้ามโซนหรือบล็อคโซนภายในหรือไม่ ถ้าไม่ข้าม (No) ก็ให้ทำการ Forward Packet และทำการบันทึกข้อมูลไปที่ Session Table แต่ถ้าใช่ (Yes) คือมีการข้ามโซน ต้องตรวจสอบ Policy ว่ามี กฎ (Rule) ใดๆ ที่มีอยู่เพื่ออนุญาตให้ Packet ผ่านได้หรือไม่ ถ้าไม่ (No) ให้ทำการ Drop Packet นั้นไป แต่ถ้าใช่ (Yes) ก็ให้ทำการ Forward Packet และทำการบันทึกข้อมูลไปที่ Session Table เมื่อมี Packet ที่เคยเข้ามาแล้วก็จะสามารถผ่านได้โดยไม่ต้องตรวจสอบอีกครั้ง

Concept Basic Firewall

Knowledge Firewall is Basic

มารู้จักกับ "Firewall" กัน!!

ถ้าพูดถึงความปลอดภัย เรามักจะนึกถึงไฟล์วอลเป็นอันดับแรกๆ ด้วยชื่อเสียงที่ดังทั่วยุทธจักร ก็เลยทำให้มักจะคิดว่าไฟล์วอลเป็นเครื่องมือสำหรับปราบแฮกเกอร์และการบุกรุกทั้งหลายที่มาจากอินเตอร์เน็ตได้อย่างสิ้นเชิง ด้วยความเข้าใจและความคาดหวังเกิดความเป็นจริงทำให้ไฟล์วอลถูกนำไปใช้งานโดยไม่เหมาะสม การบำรุงรักษาและการปรับปรุงกฎต่างๆของไฟล์วอลถูกละเลย ส่งผลให้ความสามารถในการป้องกันของไฟล์วอล ทำให้ไฟล์วอลไม่ได้ช่วยในการรักษาความปลอดภัยเลย มีหรือไม่ก็มีค่าเท่ากัน นั้นเอง

"แฮกเกอร์เข้ามาได้อย่างไร ก็เราติดตั้งไฟล์วอลไว้แล้วนี่"  อันนี้อาจมีคนเคยได้ยินมาบ้าง กับประโยคอย่างนี้


     ความเข้าใจง่ายๆที่สุด ของ ไฟล์วอล (Firewall) คือเครื่องมือที่ใช้ป้องกันเน็คเวิร์คจากการสื่อสารทั่วไปที่ไม่ได้รับอนุญาต ปัญหาพื้นฐานที่สุดในเรื่องความปลอดภัยบนเน็ตเวิร์คก็คือ การเข้าระบบหรือข้อมูลภายในผ่านทางเน็ตเวิร์กหรือที่เรียกว่า ลอจิคัลแอคเซส (Logical Access)  
             การที่เรานำโฮสต์ใดๆ ก็ตามมาต่อเข้ากับเน็ตเวิร์กนั้นหมายถึงว่า โฮสต์ของเราสามารถถูกแอดเซสได้จากทุกๆ ที่ตราบเท่าที่เน็ตเวิร์กนั้นจะครอบคลุมไปถึง  อย่างไรก็ตามที่จะมีการแอคเซสจะต้องเกิดขึ้นได้เมื่อโฮสต์จะต้องสามารถสร้าง "การเชื่อมต่อ" หรือ ลอจิคัลคอนเนคชั่น (Logical Connection) กับโฮสต์เป้าหมาย ในการสร้างการเชื่อมต่อจะขึ้นกับโปโตคอลที่ใช้เป็นสำคัญ บางโปโตคอลสามารถเชื่อมต่อได้เฉพาะเซกเมนต์เดียวกัน แต่บางโปรโตคอลสามารถสร้างการเชื่อมข้ามเซกเมนต์ได้ แต่โปรโตคอลที่สำคัญที่สุดที่ต้องดูแลอย่างระมัดระวังก็คือ TCP/IP  ซึ่งสามารถสร้างการเชื่อมต่อได้โดยไม่มีขีดจำกัดในเรื่องของระยะทาง 
คุณสมบัติทั่วไปของไฟล์วอล
                ไฟล์วอลเป็นเครื่องมือรักษาความปลอดภัยที่ทำงานในเชิงป้องกัน (Protect) ซึ่งจะทำหน้าที่ควบคุมการเข้าถึงเน็ตเวิร์ก (Access control ) โดยอาศัยกฎเป็นพื้นฐาน (Rule Base) สำหรับคุณสมบัติแต่ละอย่างของไฟล์วอลนั้นมีรายละเอียดดังนี้
1.             Protect ไฟล์วอลเป็นเครื่องในลักษณะการป้องกัน โดยแพ็ตเก็ตที่สามารถผ่านเข้าหรือออกได้เน็ตเวิร์กได้นั้น จะต้องเป็นแพ็ตเก็ตที่ไฟล์วอลเห็นว่ามีความปลอดภัย  ถ้าเห็นว่าไม่ปลอดภัยก็จะทำการดร็อป(Drop) การที่ไฟล์วอลจะเห็นแพ็ตเก็ตที่ปลอดภัยหรือไม่ปลอดภัยนั้นจะขึ้นกับพื้นฐานของกฎที่ผู้ดูแลเป็นคนกำหนดไว้ล่วงหน้าแล้ว กฎต่างๆเหล่านี้เองจะทำให้ไฟล์วอลสามารถที่จะป้องกันแพ็ตเก็ตที่ไม่ปลอดภัยให้ไม่สามารถเข้าถึงเน็ตเวิร์กได้นั้นเอง
2.             Access Control : “แอคเซส” หมายถึง การที่โฮสต์หนึ่งสามารถเชื่อมต่อสื่อสารข้อมูลที่ต้องไปยังโฮสต์ปลายทางได้สำเร็จ ในการเชื่อมต่อนั้นแต่ละระดับจะมีความแตกต่างกันออกไปซึ่งส่งผลให้การควบคุมมีระดับแตกต่างเช่นกัน ทำให้ไฟล์วอลมีการทำงานในหลายลักษณะ
3.             Rule Base : ไฟล์วอลจะควบคุมการแอคเซสโดยอาศัยการเปรียบเทียบคุณสมบัติของแพ็ตเก็ตที่จะผ่านไฟล์วอลกับกฎของการแอคเซสที่ได้กำหนดไว้ หากไม่พบกฎที่ห้ามไว้ก็จะอนุญาตให้แพ็ตเก็ตนั้นผ่านไปได้ แล้วถ้ามีก็จะสกัดกั้นใว้ด้วยวิธีใดวิธีหนึ่ง
                ดังนั้นการที่แพ็ตเก็ตใดๆ สามารถผ่านเข้าออกไฟล์วอลได้หรือไม่นั้นจึงอยู่ที่กฎเป็นสำคัญสำหรับไฟล์วอล โดยตัวเองแล้วนั้นจะไม่มีทางรู้ได้เลยว่าแพ็ตเก็ตใดเป็นแพ็ตเก็ตที่ปลอดภัยหรือไม่ปลอดภัย (ยกเว้นแพ็ตเก็ตที่เป็นอันตรายโดยตัวมันเองอยู่แล้ว อย่างเช่น แพ็ตเก็ตแปลกประหลาด (Anomalous Packet) ที่ใช้สำหรับการโจมตีโดยเฉพาะไฟล์วอลจะรู้จักเฉพาะแพ็ตเก็ตที่ได้รับอนุญาตและไม่ได้รับอนุญาตเท่านั้น ตามกฎที่ได้ระบุไว้ ซึ่งนั้นหมายความว่า แพ็ตเก็ตที่ใช้เพื่อจุดประสงค์ร้ายหากมีลักษณะไม่เข้าข่ายหรือผิดกฎที่ตั้งไว้ก็อาจจะได้รับอนุญาตให้ผ่านเข้ามาได้โดยไฟล์วอลไม่สามารถทราบได้ ดังนั้นไม่จะเป็นเสมอว่าการบุกรุกทั้งหลายสามารถป้องกันได้ด้วยไฟล์วอล