วันอังคารที่ 17 กรกฎาคม พ.ศ. 2550

วิธีเปลี่ยน Registered owner name บน Windows XP

เนื่องด้วย Windows XP บน Notebook ผมเดี้ยงไปครับ เลยไปโหลดแ่ผ่น Windows มาจาก Bittorrent ก็ได้แผ่นพันทิพย์มาลงทิ้งไว้ไม่ต้องทำอะไรเลยแป๊ปเดียวเสร็จมันทำเองให้หมดทุกขั้นตอน(ตอนลงเผลอหลับไปนิดนึง ตื่นมาเสร็จหมดแล้ว) แต่มีปัญหาอยู่นิดนึงครับคือ Register Owner Name ดันเป็นชื่อคนทำแผ่นก็อยากจะเปลี่ยนให้เป็นชื่อของเราก็ Search ไปมา จนเจอวิธีครับ เลยเอามาฝากกันเผื่อใครต้องการเปลี่ยน โดยขั้นตอนการเปลี่ยนก็จัดการกับ Registry เลยครับ

ขั้นตอนมีดังนี้

1. คลิก Start -> Run พิมพ์ regedit แล้วกด Enter
2. เข้าไปตามนี้เลยครับ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
3. ด้านขวามือให้ดับเบิลคลิก RegisteredOwner
4. ในช่อง value data ให้ใส่ชื่อที่ต้องการ เสร็จแล้วคลิก OK
5. หากต้องการแก้ไขชื่อองค์กร ก็สามารถทำได้โดยการดับเบิลคลิกที่ RegisteredOrganization แล้วใส่ชื่อที่ต้องการ เมื่อเสร็จแล้วคลิก OK

วันจันทร์ที่ 16 กรกฎาคม พ.ศ. 2550

วิธีแก้ปัญหาเมื่อลืม password root ของ mysql

1. stop mysql

/etc/init.d/mysqld stop

2. mysqld_safe --skip-grant-tables &

3. mysql -u root

4. mysql> use mysql;

5. mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';

6. mysql> flush privileges;

7. mysql> quit

8. /etc/init.d/mysqld stop

9. /etc/init.d/mysqld start

10. mysql -u root -p
กรอก password ใหม่ที่ตั้งใหม่


Written by mrGilL

วิธีเปลี่ยน Port MySQL

เมื่อคืนต้อง configure mysql ให้เพื่อนครับ ต้องเปลี่ยน port จาก 3306 เป็น 4242 เนื่องจากทางมหาวิทยาลัยเขา block port 3306 ให้เพื่อนผม Remote เข้าไปได้เลยเอาวิธีการเปลี่ยน port สำหรับ mysql มาฝาก

ขั้นตอน

1.) เปิดไฟล์ /etc/my.cnf
2.) เพิ่มบรรทัดต่อไปนี้เข้าไป

[mysqld]
port=<new_port_number>

[client]
port=
<new_port_number>


**สำหรับ
<new_port_number> เปลี่ยนได้ตามต้องการเลยครับ


3.) จากนั้น Restart Mysql

# service mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]


4.) สั่ง netstat ดูผลครับ

netstat -apnt | grep mysqld


วันเสาร์ที่ 7 กรกฎาคม พ.ศ. 2550

วิธีแสดง Uptime ในหน้าเว็บเพจ

หลักการก็ไม่ยากเลยครับเขียน Perl Script ขึ้นมาแล้วให้มัน Redirection output ออกไปเป็นไฟล์ html แล้วที่นี่จะเอาไปใส่เป็น frame, iframe ไว้ในไฟล์ไหนก็ได้

ตัวอย่างผมสร้างไฟล์ชื่อ /etc/admin/scripts/uptime_html.sh โดยมี code ของไฟล์ดังนี้

#!/usr/bin/perl
$uptime = `uptime`;
$uptime =~ /up (.*?) day/;
$up = int($1);
print "<html>";
print "<head><title>Uptime</title></head>";
print "<body>";
print "<font size=1 color=#a9a9a9></br>Uptime $up"; print " Days";
print "</body>";
print "</html>";


จากนั้นก็ chmod +x /etc/admin/scripts/uptime_html.sh เพื่อให้ execute ได้

ทดลองสั่งให้ script ทำงาน

#/etc/admin/scripts/uptime_html.sh > /var/www/html/uptime.html

ทดลองเรียก http://localhost/uptime.html ดูครับ

ทีนี้ก็อาศัยความสามารถของ crontab สำหรับตั้งเวลาให้ script ที่เราเขียนเมื่อกี้ทำงาน

#crontab -e

แล้วเพิ่มบรรทัดต่อไปนี้เข้าไป

*/30 * * * * /etc/admin/scripts/uptime_html.sh > /var/www/html/uptime.html

ทีนี้จะเอา uptime.html ไปแทรกเป็น frame หรือ iframe ก็แล้วแต่ความชอบน่ะครับอิอิ

ตัวอย่างผล html ที่จะได้

Uptime 7 Days

วันพฤหัสบดีที่ 5 กรกฎาคม พ.ศ. 2550

หยุด Spam Mail ก่อนที่มันจะเข้ามาใน MailBox ของคุณ

เซิร์ฟเวอร์ที่ผมดูแลอยู่ใช้ Postfix เป็น MTA ครับ เคยโดน spam เยอะมากเลยหาวิธีตรวจสอบมันก่อนที่จะเข้ามากินเนื้อที่ mailbox วิธีแก้ไขทำได้โดยเพิ่มบรรทัดต่อไปเข้าไปในในไฟล์ /etc/postfix/main.cf ของ postfix น่ะครับ

smtpd_helo_required = yes
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
invalid_hostname_reject_code = 554
multi_recipient_bounce_reject_code = 554
non_fqdn_reject_code = 554
relay_domains_reject_code = 554
unknown_address_reject_code = 554
unknown_client_reject_code = 554
unknown_hostname_reject_code = 554
unknown_local_recipient_reject_code = 554
unknown_relay_recipient_reject_code = 554
unknown_sender_reject_code = 554
unknown_virtual_alias_reject_code = 554
unknown_virtual_mailbox_reject_code = 554
unverified_recipient_reject_code = 554
unverified_sender_reject_code = 554

smtpd_recipient_restrictions =
reject_invalid_hostname,
reject_unknown_recipient_domain,
reject_unauth_pipelining,
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_rbl_client multi.uribl.com,
reject_rbl_client dsn.rfc-ignorant.org,
reject_rbl_client dul.dnsbl.sorbs.net,
reject_rbl_client list.dsbl.org,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client ix.dnsbl.manitu.net,
reject_rbl_client combined.rbl.msrbl.net,
reject_rbl_client rabl.nuclearelephant.com,
permit

smtpd_error_sleep_time = 1s
smtpd_soft_error_limit = 10
smtpd_hard_error_limit = 20

credit : http://www.howtoforge.com/block_spam_at_mta_level_postfix and http://www.cyberciti.biz/tips/postfix-spam-filtering-with-blacklists-howto.html

วันพุธที่ 4 กรกฎาคม พ.ศ. 2550

วิธีป้องกัน Malware สำหรับ Postfix

วันนี้ปรับปรุง Mail Server นิดหน่อยครับ เลยเอาวิธีป้องกัน Malware มาฝากกัน
หลักการก็มีอยู่ว่าให้ postfix ตรวจสอบ body ของ e-mail ที่ส่งมาโดยเปรียบเทียบกับไฟล์ Blacklist น่ะครับ

ขั้นตอนการทำ

1.) ดาว์โหลดไฟล์ Blacklist มาไว้บนเครื่อง

#wget -O - http://www.malware.com.br/cgi/submit?action=list_postfix > /etc/postfix/mbl-body-deny

2.) เปิดไฟล์ /etc/postfix/main.cf แล้วแก้ไขบรรทัดต่อไปนี้

body_checks = regexp:/etc/postfix/mbl-body-deny

หากไม่มีบรรทัด body_checks พิมพ์เข้าไปเองน่ะครับ

3.) สั่งให้ postfix โหลด /etc/postfix/mbl-body-deny เข้าทำงาน

#postmap /etc/postfix/mbl-body-deny

4.) restart postfix

#/etc/init.d/postfix restart

ขั้นตอนต่อไปเป็นการสั่งให้ update blacklist อัตโนมัติ
1.) สร้าง shell script สำหรับ update blacklist

#nano /etc/postfix/fetch.postfixmalware.sh

แล้วเพิ่มบรรทัดเหล่านี้เข้าไป

#!/bin/bash
# Script to update malware urls
/usr/bin/wget -O - http://www.malware.com.br/cgi/submit?action=list_postfix > /etc/postfix/mbl-body-deny
/usr/sbin/postmap /etc/postfix/mbl-body-deny
/etc/init.d/postfix reload

บันทึกและออกจาก nano editor
3.)เปลี่ยน permission ให้กับ /etc/postfix/fetch.postfixmalware.sh

#chmod +x /etc/postfix/fetch.postfixmalware.sh

4.) เพิ่ม crontab ดังนี้

#crontab -e

จากนั้นเพิ่ม

40 03 * * * /etc/postfix/fetch.postfixmalware.sh >/dev/null 2>&1


credit : http://www.cyberciti.biz/tips/howto-setup-postfix-mail-server-to-block-malware.html

วิธี Block Mail ที่แนบไฟล์ .bat .exe .com .vbs บน Postfix

วิธีนี้เป็นการสั่งให้ postfix ตรวจสอบ mime header ของเมล์ที่ส่งเข้ามาโดยให้ป้องกันไฟล์ที่มีนามสกุล .bat, .exe, .com, .vbs ซึ่งเป็นไฟล์พื้นฐานของพวกไวรัสคอมพิวเตอร์
ซึ่งมีวิธีการให้ postfix ตรวจสอบไฟล์เหล่านั้นดังนี้

1.) เปิดไฟล์ /etc/postfix/main.cf

#nano /etc/postfix/main.cf

2.)กำหนด mime_header_checks ดังนี้

mime_header_checks = regexp:/etc/postfix/mime_header_checks

หากไม่มี mime_header_checks ให้พิมพ์เพิ่มเข้าไปเองน่ะครับ

3.) สร้างไฟล์ /etc/postfix/mime_header_checks

#echo "/name=[^>]*\.(batcomexedllvbs)/ REJECT" > /etc/postfix/mime_header_checks

4.) สั่งให้ postfix โหลด mime_header_checks ทำงาน

#/usr/sbin/postmap /etc/postfix/mime_header_checks

5.) restart postfix

#/etc/init.d/postfix restart


credit : http://www.cyberciti.biz/tips/postfix-block-mime-attachment-files.html

วันจันทร์ที่ 2 กรกฎาคม พ.ศ. 2550

การติดตั้ง OAMP (OpenBSD, Apache, MySQL, PHP) บน OpenBSD 4.1

อยู่ปี 4 แล้วครับ ก็ต้องทำโปรเจ็คจบ คิดอยู่นานว่าจะทำอะไรดี ไม่ชอบโปรแกรมมิงเอาซะเลยแต่ก็หนีมันไม่พ้น เป็นแอดมินนี่ครับ เลยอยากทำอะไรที่ช่วยให้เราทำงานง่ายขึ้น เลยคิดว่าจะเขียนเว็บสำหรับควบคุมเซอร์วิสของเซิฟเวอร์ ที่จริงก็มีรุ่นพี่เคยทำไว้แล้วละครับ เขาทำไว้บน Linux แต่ผมคิดว่าจะทำบนระบบปฏิบัติการที่ไม่ค่อยมีใครใช้กัน พอดีได้คุยกับ อ.วิริยะ (ว.ณ.สุราษฎร์ธานี) พี่เขาเก่ง OpenBSD ไอ้ผมเองก็ไม่เคยใช้ได้ข่าวว่ามันมีความปลอดภัยสูงและค่อนข้างใช้งานยาก ด้วยเหตุนี้ผมก็เลยคิดว่าจะใช้มันทำโปรเจ็คซะเลย

ก่อนจะใช้งานมันได้ก็ต้องศึกษาการทำงานของมันก่อนละครับ ก็ได้เว็ป อ.วิริยะ นี่แหละครับเป็นเว็บสำหรับศึกษาในเบื้องต้น (http://viriya.sru.ac.th/) ก็ลองติดตั้งตามที่เว็ปพี่เขาแนะนำละครับ แต่วันนี้อยากเอามาเขียนอีกทีในแบบสไตท์ของผมเองมาเริ่มกันเลยดีกว่า


การติดตั้ง Apache

1.) OpenBSD ได้มี Apache ให้เราใช้งานตั้งแต่ติดตั้งอยู่แล้วครับโดยเวอร์ชั่นที่ติดมากับ Openbsd เป็นเวอร์ชั่น 1.3 ซึ่งเราสามารถสั่งให้ Apache ทำงานได้โดยใช้คำสั่ง

#apachectl start #สำหรับ start http ธรรมดา

#apachectl startssl #สำหรับ start http และ https


สำหรับการสั่ง apachectl startssl นั้นเราต้องทำการสร้างไฟล์ Certificates server.crt และ server.key ก่อน


2.) การสร้างไฟล์ Certificates server.crt และ server.key

#cd /etc/ssl

#openssl genrsa -out server.key 1024

#openssl req -new -days 365 \
>-key server.key \
>-out server.csr


#openssl x509 -in server.csr \
>-out server.crt -req \
>-signkey server.key \
>-days 365

#chmod 400 server.*

#mv server.key private/

เมื่อมีไฟล์ Certificates แล้วก็มา startssl กัน

#apachectl startssl

3.) การกำหนดให้ Apache ทำงานเองทุกครั้งเมื่อมีการเปิดเครื่อง

โดยแก้ไขไฟล์ /etc/rc.conf

ตรงส่วนของ httpd_flages=NO แก้เป็น

httpd_flages=""

หรือถ้าต้องการ start https ด้วยให้แก้ไขดังนี้

httpd_flages="-DSSL" #ใส่ "-DSSL" สำหรับให้เริ่มการทำงาน HTTPS ด้วย

4.) ทดสอบโดย reboot

เปิด Browser จากนั้นเรียก http://your_server_ip/ และ https://your_server_ip/

สำหรับ Directory การทำงานของ Apache ที่ติดมากับ OpenBSD นั้นจะอยู่ที่ /var/www โดยได้มีการ chroot (jail)ไว้เพื่อความปลอดภัย ซึ่งการใช้งานค่อนข้างยุ่งยากนิดหน่อยน่ะครับถ้าไม่ต้องการใช้ chroot ก็สามารถสำหนด httpd_flages="-u" ในไฟล์ /etc/rc.conf ได้

ตามความเข้าใจของผมน่ะครับ chroot /var/www = / ทำให้ระบบมอง /var/www เหมือน / ซึ่งข้อมูลที่อยู่ใน /var/www จะไม่สามารถเรียกไฟล์หรือโฟลเดอร์ที่อยู่นอก /var/www ได้เดี๋ยวจะอธิบายต่อในการติดตั้ง PHP น่ะครับ


การติดตั้ง MySQL
การติดตั้งโปรแกรมต่างๆ บน OpenBSD สามารถติดตั้งได้หลายแบบ เช่น ติดตั้งผ่าน Ports, pkg_add, หรือดาวน์โหลดมา Compile เอง แต่วิธีที่ผมจะได้คือ pkg_add เพราะว่าสะดวกและรวดเร็วว่าวิธีอื่นๆ โดยขั้นแรกต้องกำหนดตัวแปร PKG_PATH ก่อนด้วยคำสั่ง

export PKG_PATH=http://ftp.gillclub.com/pub/OpenBSD/4.1/packages

#2บรรทัดด้านบนอยู่บรรทัดเดียวกัน export PKG_PATH

ซึ่ง URL ดังกว่าผมได้สร้างขึ้นมาเองโดยดาวน์โหลด Packages มาจากเว็บของ OpenBSD มาไว้บนเซิฟเวอร์ของผมเองเพื่อความเร็ว ถ้ามีเวลาผมแนะนำว่าให้ดาวน์โหลดมากับไว้น่ะครับเวลาติดตั้งโปรแกรมจะเร็วมากๆ เนื้อที่ก็ประมาณ 5 GB กว่าๆ ครับ

จากนั้น echo $PKG_PATH จะได้ http://ftp.gillclub.com/pub/OpenBSD/4.1/packages
มี tip สำหรับการกำหนด PKG_PATH นิดนึงครับถ้าหากเรา reboot เครื่อง PKG_PATH ที่เราเคยกำหนดไว้จะหายไป วิธีแก้ปัญหานี้ทำได้โดยแก้ไขไฟล์ ~/.profile โดยเพิ่งบรรทัดต่อไปนี้เข้าไปน่คะรับ

export PKG_PATH=http://ftp.gillclub.com/pub/OpenBSD/4.1/packages

#2บรรทัดด้านบนอยู่บรรทัดเดียวกัน export PKG_PATH

ทีนี้ทุกครั้งที่เรา login เข้ามาในระบบ PKG_PATH ก็จะถูกกำหนดให้เราโดยอัตโนมัติครับ

***หมายเหตุ PKG_PATH สามารถเปลี่ยนแปลงได้ตามความเหมาะสมของท่านนะครับสะดวกใช้ mirror ที่ไหนก็เปลี่ยนแปลงตามชอบนะครับ

มาติดตั้ง MySQL ก่อนต่อหลังจากเรากำหนด PKG_PATH แล้วก็มาเริ่มกันเลย

1.) pkg_add mysql-server

2.) จากนั้นสั่ง

#mysql_install_db

...
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/bin/mysqladmin -u root password 'new-password'
/usr/local/bin/mysqladmin -u root -h bsd.gillclub.com password 'new-password'
See the manual for more instructions.

สั่งให้ MySQL ทำงาน

#mysqld_safe &


จากนั้นกำหนดรหัสผ่านสำหรับ root ของ mysql


#mysqladmin -u root password 'new-password' #แก้ไขเป็น 'new-password' เป็น Password ที่ต้องการ

#mysqladmin -u root -h bsd.gillclub.com password 'new-password' #แก้ไขเช่นกัน

3.) แก้ไขไฟล์ /etc/sysctl.conf เพิ่มบรรทัดต่อไปนี้เข้าไป

# Increase for MySQL
kern.maxfiles=4096

ค่าปกติของ kern.maxfiles คือ 1772 ซึ่งดูได้จาก

sysctl kern.maxfiles

ค่าปกติของ kern.maxfiles ถูกจำกัดไว้ที่ 1772 ซึ่งถ้าหากเราต้องการเรียก table ของ mysql หลายๆ table พร้อมกันอาจเกิดปัญหาได้จึงได้เพิ่มให้เป็น 4046 เพื่อที่จะได้เรียก table ได้มากขึ้น

สั่งให้เปลี่ยนค่า kern.maxfiles โดยไม่ต้อง reboot โดย

# sysctl kern.maxfiles=4096
kern.maxfiles: 1772 -> 4096

4.) แก้ไขไฟล์ /etc/login.conf โดยเพิ่มบรรทัดต่อไปนี้เข้าไป

# Setting used by MySQL daemon
_mysql:\
:datasize=infinity:\
:maxproc=infinity:\
:openfiles-cur=2048:\
:openfiles-max=4096:\
:stacksize-cur=8M:\
:localcipher=blowfish,8:\
:tc=default:

5.) ทำการเพิ่ม script สำหรับให้ MySQL ทำงานเมื่อเปิดเครื่องโดยแก้ไขไฟล์ /etc/rc.local ดังนี้

# Start MySQL server

if [ -x /usr/local/bin/mysqld_safe ] ; then

su -c _mysql root -c '/usr/local/bin/mysqld_safe &' > /dev/null & echo -n ' mysql'

for i in 1 2 3 4 5 6;
do if [ -S /var/run/mysql/mysql.sock ]; then

break

else sleep 1 echo -n 00.00

fi done

#

sleep 5

#

ln -f /var/run/mysql/mysql.sock /var/www/var/run/mysql/mysql.sock

#2บรรทัดด้านบนอยู่บรรทัดเดียวกัน ln -f /var/run/...

fi

# End MySQL Setting

6.) อย่างที่บอกไปแล้วในตอนติดตั้ง Apache ว่า Apache ที่ติดมากับ OpenBSD นั้นได้มีการ chroot ไว้ ดังนั้นถ้าหากต้องการให้ Apache ใช้งานร่วมกับ MySQL ได้จะต้องมีการสร้าง symbolic link ให้ mysql.sock ให้กับ Apache โดยการสร้างโฟลเดอร์สำหรับเก็บ mysql.sock

#mkdir -p /var/www/var/run/mysql/

ซึ่ง symbolic link ของ mysql.sock จะถูกสร้างโดยคำสั่งใน /etc/rc.conf บรรทัดที่

ln -f /var/run/mysql/mysql.sock /var/www/var/run/mysql/mysql.sock

#2บรรทัดด้านบนอยู่บรรทัดเดียวกัน ln -f /var/run/...

7.) สุดท้ายแก้ไขไฟล์ /etc/my.cnf ค้นหาบรรทัด

#skip-networking #เอา # หน้าบรรทัดออกเป็น

skip-networking


การติดตั้ง PHP

1.) pkg_add php5-core

/usr/local/sbin/phpxs -s

จากนั้นให้แก้ไขไฟล์ /var/www/conf/httpd.conf โดยค้นหาบรรทัดต่อไปนี้

#AddType application/x-httpd-php .php เอา # หน้าบรรทัดนี้ออกเป็น

AddType application/x-httpd-php .php

DirectoryIndex index.php index.html #เพิ่ม index.php เข้าไป

จากนั้น

cp /usr/local/share/examples/php5/php.ini-recommended /var/www/conf/php.ini

จากนั้นเพื่อความปลอดภัยให้ทำการแก้ไขไฟล์ /var/www/conf/php.ini โดยเพิ่มบรรทัดต่อไปนี้เข้าไป

disable_functions = escapeshellarg, escapeshellcmd, exec, passthru, proc_open, proc_close, proc_get_status, proc_nice, proc_terminate, shell_exec, system, apache_child_terminate, apache_get_modules, apache_get_version, apache_getenv, apache_lookup_uri,apache_note, apache_request_headers, apache_reset_timeout, apache_response_headers, apache_setenv, getallheaders, virtual, popen, pclose

*** หมายเหตุ ทำให้อยู่บรรทัดเดียวกันน่ะครับ

ต่อไปก็มาติดตั้ง Extension ของ PHP กันเลย

#pkg_add php5-mysql

#/usr/local/sbin/phpxs -a mysql

#pkg_add php5-gd-5.1.6-no_x11p2

#/usr/local/sbin/phpxs -a gd

#pkg_add php5-imap

#/usr/local/sbin/phpxs -a imap

#pkg_add php5-pear

#/usr/local/sbin/phpxs -a pear

#pkg_add php5-soap

#/usr/local/sbin/phpxs -a soap

#pkg_add php5-bz2

#/usr/local/sbin/phpxs -a bz2

#pkg_add php5-mhash

#/usr/local/sbin/phpxs -a mhash

#pkg_add php5-mbstring

#/usr/local/sbin/phpxs -a mbstring

#pkg_add php5-mcrypt

#/usr/local/sbin/phpxs -a mcrypt

#pkg_add php5-ldap

#/usr/local/sbin/phpxs -a ldap

#pkg_add php5-snmp

#/usr/local/sbin/phpxs -a snmp

สำหรับปัญหาที่พบบ่อยหลังการติดตั้ง PHP ก็คือ ไม่เจอโฟลเดอร์สำหรับเก็บ session เพราะว่าปกติของ php จะเก็บ session ไว้ที่ /tmp แต่เมื่อมีการ chroot ไว้ php จึงไม่สามารถสร้างไฟล์ใน /tmp ปกติได้จึงต้องสร้าง /var/www/tmp สำหรับเก็บ session โดยการ

#mkdir /var/www/tmp
#chmod 777 /var/www/tmp

และฟังค์ชันเน็ตเวิร์คบางตัวต้องการไฟล์ /etc/resolf.conf และ /etc/services ก็ควร copy ไฟล์เหล่านี้ไปไว้ใน /var/www/etc เช่นกัน โดย

#mkdir /var/www/etc
#cp /etc/resolv.conf /var/www/etc
#cp /etc/services /var/www/etc

เสร็จแล้วครับ OAMP ของเรา

ทำการ reboot สัก 1 รอบแล้วมาดูผลกัน...