พอดีเจอมาจาก thaihosttalk คับ
#wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz
tar -xvzf
#apf-current.tar.gz
cd apf-*
./install.sh
#perl -pi -e 's/IG_TCP_CPORTS="22"/ \
IG_TCP_CPORTS="21,22,25,53,80,443,110,143,587,993,995,2222"/' /etc/apf/conf.apf
#perl -pi -e 's/IG_UDP_CPORTS=""/IG_UDP_CPORTS="20,21,53,123"/' /etc/apf/conf.apf
#perl -pi -e 's/DEVEL_MODE="1"/DEVEL_MODE="0"/' /etc/apf/conf.apf
#/etc/init.d/apf restart
It's Pond's blog. IT Professional Engineer works for international companies. I am willing to learn new things almost focus to Linux that's my second lover except my wife : P
Thursday, November 25, 2010
Tuesday, June 8, 2010
ตัวอย่างการทำ rsync
การทำ rsync กันระหว่างเครื่องที่เป็น FreeBSD และ Debian
นะครับ สามารถไปประยุกต์ใช้ ระหว่าง OS Unix ตัวอื่นได้เหมือนกัน .. เริ่มกันเลยครับ
ฝั่ง Server
Step 1: Install rsync
freebsd-1# cd /usr/ports/net/rsync
freebsd-1# make install clean
Step 2: Config rsyncd.conf
freebsd-1# vi /usr/local/etc/rsyncd.conf
ใส่ข้อมูลไปดังนี้ครับ
[www]
comment = web server backup
path = /home/ton # ตรงนี้เป็น path ของ server ที่เราต้องการ backup
auth users = ton # user ที่ใช้ในการ Authen
uid = ton
gid = ton
secrets file = /usr/local/etc/rsyncd.secrets # ที่เก็บ file สำหรับเก็บ user-passwd
read only = no
Step 3: Create rsyncd.secrets
freebsd-1# vi /usr/local/etc/rsyncd.secrets
ใส่
ton:123456
freebsd-1# chmod 600 /usr/local/etc/rsyncd.secrets
Step 4: Edit rc.conf
freebsd-1# vi /etc/rc.conf
ใส่
rsyncd_enable=”YES”
Step 5: Start Rsync daemon
freebsd-1# /usr/local/etc/rc.d/rsyncd start
Step 6: Rsync daemon ลองดูว่ามี daemon ประมาณนี้หรือยัง
freebsd-1# sockstat | grep rsync
root rsync 60398 3 dgram -> /var/run/logpriv
root rsync 60398 4 tcp6 *:873 *:*
root rsync 60398 5 tcp4 *:873 *:*
ถ้ามีก็เป็นอันเรียบร้อยแล้วครับสำหรับฝั่ง Server ของเรา
ฝั่ง Client
Step 1: Install rsync
debian-client# apt-get install rsync
Step 2: Test rsync
debian-client# rsync -avz -e ssh ton@server1.example.com:/home/ton/ /home/ton/
Step 3: Create The Keys On mirror.example.com
debian-client# mkdir /root/rsync
debian-client# ssh-keygen -t dsa -b 1024 -f /root/rsync/mirror-rsync-key
Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase):
<– Enter
Enter same passphrase again:
Your identification has been saved in /root/rsync/mirror-rsync-key.
Your public key has been saved in /root/rsync/mirror-rsync-key.pub.
The key fingerprint is:
6c:34:c9:29:cf:16:a3:c8:72:c0:28:b3:c6:61:75:a2 root@www
<– Enter
Step 4: Copy our public key to server1.example.com:
debian-client# scp /root/rsync/mirror-rsync-key.pub ton@server1.example.com:/home/ton/
กลับมาดูที่ฝั่ง Server อีกครั้งครับ
Step 7: Create authorized_keys
(Login as ton!)
freebsd-1# mkdir ~/.ssh
freebsd-1# chmod 700 ~/.ssh
freebsd-1# mv ~/mirror-rsync-key.pub ~/.ssh/
freebsd-1# cd ~/.ssh
freebsd-1# touch authorized_keys
freebsd-1# chmod 600 authorized_keys
freebsd-1# cat mirror-rsync-key.pub >> authorized_keys
Step 8: Connect from mirror.example.com only
(Still as ton!)
freebsd-1# vi /home/someuser/.ssh/authorized_keys
ใส่ เข้าไปก่อนข้อความใน file เดิม
command=”/home/ton/rsync/checkrsync”,from=”mirror.example.com”,no-port-forwardin
g,no-X11-forwarding,no-pty
ตอนนี้ก็เป็นอันเสร็จแล้วครับสำหรับฝั่ง Server เราจะสามารถใช้ rsync ผ่าน sshd ได้
โดยไม่ต้องใส่ user - password ทำให้สะดวกขึ้นเวลาทำ auto backup
มาดูที่ฝั่ง Client กันอีกครั้งครับ
Step 5: Test rsync
debian-client# rsync -avz –delete -e “ssh -i /root/rsync/mirror-rsync-key”
ton@server1.example.com:/home/ton/ /home/ton/
Step 6: Create crond job
debian-client# crontab -e
ใส่
*/5 * * * * /usr/bin/rsync -azq –delete -e “ssh -i /root/rsync/mirror-rsync-key”
ton@server1.example.com:/home/ton/ /home/ton/
ก็เสร็จแล้วครับสำหรับการทำ rsync ระหว่าง FreeBSD กับ debian
นะครับ สามารถไปประยุกต์ใช้ ระหว่าง OS Unix ตัวอื่นได้เหมือนกัน .. เริ่มกันเลยครับ
ฝั่ง Server
Step 1: Install rsync
freebsd-1# cd /usr/ports/net/rsync
freebsd-1# make install clean
Step 2: Config rsyncd.conf
freebsd-1# vi /usr/local/etc/rsyncd.conf
ใส่ข้อมูลไปดังนี้ครับ
[www]
comment = web server backup
path = /home/ton # ตรงนี้เป็น path ของ server ที่เราต้องการ backup
auth users = ton # user ที่ใช้ในการ Authen
uid = ton
gid = ton
secrets file = /usr/local/etc/rsyncd.secrets # ที่เก็บ file สำหรับเก็บ user-passwd
read only = no
Step 3: Create rsyncd.secrets
freebsd-1# vi /usr/local/etc/rsyncd.secrets
ใส่
ton:123456
freebsd-1# chmod 600 /usr/local/etc/rsyncd.secrets
Step 4: Edit rc.conf
freebsd-1# vi /etc/rc.conf
ใส่
rsyncd_enable=”YES”
Step 5: Start Rsync daemon
freebsd-1# /usr/local/etc/rc.d/rsyncd start
Step 6: Rsync daemon ลองดูว่ามี daemon ประมาณนี้หรือยัง
freebsd-1# sockstat | grep rsync
root rsync 60398 3 dgram -> /var/run/logpriv
root rsync 60398 4 tcp6 *:873 *:*
root rsync 60398 5 tcp4 *:873 *:*
ถ้ามีก็เป็นอันเรียบร้อยแล้วครับสำหรับฝั่ง Server ของเรา
ฝั่ง Client
Step 1: Install rsync
debian-client# apt-get install rsync
Step 2: Test rsync
debian-client# rsync -avz -e ssh ton@server1.example.com:/home/ton/ /home/ton/
Step 3: Create The Keys On mirror.example.com
debian-client# mkdir /root/rsync
debian-client# ssh-keygen -t dsa -b 1024 -f /root/rsync/mirror-rsync-key
Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase):
<– Enter
Enter same passphrase again:
Your identification has been saved in /root/rsync/mirror-rsync-key.
Your public key has been saved in /root/rsync/mirror-rsync-key.pub.
The key fingerprint is:
6c:34:c9:29:cf:16:a3:c8:72:c0:28:b3:c6:61:75:a2 root@www
<– Enter
Step 4: Copy our public key to server1.example.com:
debian-client# scp /root/rsync/mirror-rsync-key.pub ton@server1.example.com:/home/ton/
กลับมาดูที่ฝั่ง Server อีกครั้งครับ
Step 7: Create authorized_keys
(Login as ton!)
freebsd-1# mkdir ~/.ssh
freebsd-1# chmod 700 ~/.ssh
freebsd-1# mv ~/mirror-rsync-key.pub ~/.ssh/
freebsd-1# cd ~/.ssh
freebsd-1# touch authorized_keys
freebsd-1# chmod 600 authorized_keys
freebsd-1# cat mirror-rsync-key.pub >> authorized_keys
Step 8: Connect from mirror.example.com only
(Still as ton!)
freebsd-1# vi /home/someuser/.ssh/authorized_keys
ใส่ เข้าไปก่อนข้อความใน file เดิม
command=”/home/ton/rsync/checkrsync”,from=”mirror.example.com”,no-port-forwardin
g,no-X11-forwarding,no-pty
ตอนนี้ก็เป็นอันเสร็จแล้วครับสำหรับฝั่ง Server เราจะสามารถใช้ rsync ผ่าน sshd ได้
โดยไม่ต้องใส่ user - password ทำให้สะดวกขึ้นเวลาทำ auto backup
มาดูที่ฝั่ง Client กันอีกครั้งครับ
Step 5: Test rsync
debian-client# rsync -avz –delete -e “ssh -i /root/rsync/mirror-rsync-key”
ton@server1.example.com:/home/ton/ /home/ton/
Step 6: Create crond job
debian-client# crontab -e
ใส่
*/5 * * * * /usr/bin/rsync -azq –delete -e “ssh -i /root/rsync/mirror-rsync-key”
ton@server1.example.com:/home/ton/ /home/ton/
ก็เสร็จแล้วครับสำหรับการทำ rsync ระหว่าง FreeBSD กับ debian
Monday, June 7, 2010
Screen command
คำสั่ง screen
คำสั่ง screen คือคำสั่งที่เก็บ session ของงานไว้โดนที่เราสามารถเรียกมาดูใหม่ได้ถึงแม้จะปิด terminal นั้นทิ้งไปแล้ววิธีใช้
ขั้นแรกต้องสร้าง ~/.screenrc ก่อนดังนี้# use visual bell
vbell on
# replace ctrl-A by ctrl-O
escape ^Oo
# set a big scrolling buffer
defscrollback 5000
# Set the caption on the bottom line
caption always "%{= kw}%-w%{= BW}%n %t%{-}%+w %-= @%H - %LD %d %LM - %c"- เวลาเรียกใช้งานเรียก
screen
- พอเรียกเสร็จจะมีหน้าจอโปรแกรม screen ให้เรากด space หรือ enter จากนั้นเราจะได้ prompt ใหม่ซึ่งเป็น prompt จากคำสั่ง screen
- เรียกใช้โปแกรมภายใต้คำสั่ง screen ต่อได้เลยเช่น
irssi
- ถ้าใช้เสร็จแล้วอยามf
ctrl+o d
- ถ้าต้องการกลับมาแสดงหน้าจอของโปรแกรมที่เรียกค้างไว้ให้สั่ง
screen -r -d
การใช้งานขั้นสูง
- เราสามารถเปิด session ของscreen ได้หลายๆอันเช่นหน้าแรกเปิด irssi หน้าสองเปิด top แต่อยู่ใน terminal เดียวกันทำได้ดังนี้
screen irssi
- หลังจากสั่ง2คำสั่งแล้ว ให้กดshotcut ตามนี้ เพื่อสร้าง session ใหม่
ctrl+o c
- จากนั้นสั่งคำสั่งต่อไปเลย
top
- จะเห็นได้ว่าตรงบรรทัดล่างสุดจะมีบอกว่า มีหน้า 1,2 โผล่ขึ้นมา
- การสลับหน้าจอระหว่าง 1 และ 2 ทำดังนี้
ctrl+o n ctrl+o p
การใช้งาน Rsync
การใช้งาน Rsync
Rsync เป็นทูลที่ใช้ในการแบ็คอัพหรือก็อปปี้ ( mirror ) สามารถทำการดาวน์โหลดหรืออัพโหลดได้ ลักษณะ การทำงานจะคล้ายๆกับ FTP+tar Utility แต่จะมีความคล่องสูงมาก เหมาะสำหรับงาน Backup,Mirror โดยมีความสามารถต่างๆ คร่าวๆดังนี้
*สนับสนุนการแบ็คอัพทั้งแบบ Incremental และ แบบ Full *มีระบบการป้องกันความปลอดภัยสนับสนุนภายในตัว *สามารถุกำหนดผู้ใช้และรหัสผ่านเพื่อใช้งานโดยที่ไม่จำเป็นที่จะต้องเป็น user จริงๆ ในระบบ *สามารถกำหนดรูปแบบการทำงานให้เป็นในลักษณะอ่านอย่างเดียว หรือ เขียนอย่างเดียว หรือ ทั้งอ่านทั้งเขียน ได้เพื่อความคล่องตัว *กำหนดระดับผู้ใช้ให้สามารถที่ทำงานได้ *เพื่อความยืดหยุ่นในการทำงานสามารถกำหนดพอร์ทการทำงานได้ *etc.. :)
เมื่อกำหนดค่าต่างๆ เรียบร้อยแล้ว ก็สามารถเรียกให้ทำงานได้ทันทีโดยเรียกคำสั่งผ่านทางคอมมาน์ไลน์ได้โดยตรง หรือกำหนดให้ทำงานผ่าน inetd หรือ xinetd ได้ โดยใน FedoraCORE นั้นสามารถเรียกการทำงานผ่านระบบ xinetd โดยเข้าไปแก้ที่ file ใน /xinetd.d/rsync
ขั้นตอนการทำงาน
1. สร้างคอนฟิกไฟล์ขึ้นมาเพื่อใช้กำหนดการทำงานของ server และ secretไฟล์ที่จะใช้เพื่อเก็บผู้ใช้ที่จะทำการตรวจสอบสิทธิการใช้งานในกรณีนี้ ผมสร้างไดเรกทอรี่ rsync.d ขึ้นมาเพื่อใช้เก็บคอนฟิกไฟล์ดังกล่าว root# mkdir /etc/rsync.d root# cd /etc/rsync.d root# touch rsyncd.conf root# ln -s /etc/rsyncd.d/rsyncd.conf /etc/rsyncd.conf
2.กำหนดค่าต่างๆ เข้าไปในไฟล์ rsyncd.conf เพื่อกำหนดสภาวะแวดล้อมการทำงานของ rsync serverรูปแบบของการกำหนดหนดไฟล์จะแบ่งเป็น ส่วนๆ คล้ายๆ การกำหนดค่าของ samba ข้างล่างยกตัวอย่าง การคอนฟิกค่าเพื่อจะใช้ Backup Mail Spool Directory
log file = /var/log/rsync.log port = 8002
[ MailSPool ]
comment = Directory Mail Spool Mail use chroot = true uid = root gid = root path = /var/spool/mail/ use chroot = true max verbosity = 2 read only = true auth users = rsyncuser secrets file = /etc/rsync.d/rsyncd.secrets hosts allow = 192.168.0.1/24 exclude = somefile >> บางไฟล์ที่ไม่ต้องการ Backup[ testbackup ]
commment = test backup rsync........
comment = ใช้กำหนดคำอธิบายเพื่อสามารถที่จะอธิบายได้ว่าไดเรกทอรี่นี้มีเพื่ออะไรเพื่อที่จะบอกรายละเอียดเพิ่มเติม use chroot = เมื่อกำหนดออปชั่นนี้แล้วลักษณะการเชื่อมต่อเข้าไปจะใช้รูปแบบ chroot ช่วยเพิ่มความปลอดภัยยิ่งขึ้น uid = user id ที่เราต้องการให้ทำการทำงาน gid = group id คือ id ที่เราต้องการให้ผู้ใช้ภายใต้กลุ่มนั้นๆ มาใช้งาน path = directory ที่เราต้องการทำงานด้วย max verbosity = กำหนดรายละเอียดการ debug ลงไปใน log file มีประโยชน์เมื่อเราต้องการติดตามดูความผิดพลาดต่างๆก็สามารถจะช่วยได้ดีทีเดียว
read only = กำหนดให้เป็นสถานะอ่านอย่างเดียวหรือไม่ โดยปกติแล้ว ค่าโดยปกติจะเป็นอนุญาติให้อ่านได้อย่างเดียว auth users = กำหนดผู้ใช้ที่จะทำการตรวจสอบซึ่งเก็บไว้ใน rsyncd.secret secrets file = ไฟล์ที่ใช้เก็บข้อมูลของผู้ที่เราจะใช้ในการตรวจสอบสิทธิ โดยลักษณะเป็น เท็กซ์ไฟล์ธรรมดา host allow = กำหนดสิทธิได้ในระดับเครือข่ายหรือ host ที่เราจะอนุญาติให้ทำการ คอนเนกต์เข้ามาได้ exclude = ยกเว้น ไฟล์ใดๆ ที่เราไม่ต้องการให้มีการ backup log file = กำหนดไฟล์ที่ใช้เก็บล็อก port = กำหนด พอร์ทการทำงานจากปกติ 833
หากต้องการกำหนดไดเรกทอรี่ใดๆ ขึ้นอีก ก็สามารถเพิ่มเข้าไปได้ โดยจะกำหนดเป็น section ๆ ไป3. สั่งให้ทำงานได้ทันที
โดยหากเป็นการกำหนดให้ทำงานผ่านทาง commandline ก็สั่งได้โดยตรงโดยใช้คำสั่งroot# rsync --daemon
หรือหากเป็น Fedora ก็เข้าไปที่ไดเรกทอรี่ /etc/xinetd.d เข้าไปแก้ไขไฟล์ที่ชื่อว่า rsync
root# cd /etc/xinetd.droot# vi rsync - default: off
- description: The rsync server is a good addition to an ftp server, as it \
- allows crc checksumming etc.
3. สั่งให้มันทำงาน root# service xinetd restart 4. พร้อมทำงานได้เลยทันที :)
ทีนี้มายังฝั่ง ไคลเอ็นต์กันบ้าง
โดยปกติแล้วเราสามารถกำหนดได้ว่าจะทำการ backup เมื่อไหร่และอย่างไร ในกรณีนี้ผมทำเป็น bash scriptเพื่อสะดวกในการเรียกใช้งาน (เพราะคำสั่งยาวพอสมควาร :p ) นอกจากจะสามารถกำหนดว่าให้ทำงานได้ทันที หรือ กำหนดระยะเวลาการทำงาน ( cron job ) โดยมีรูปแบบตัวอย่างดังนี้
ส่วนรายละเอียดเพิ่มเติม จะขอมาเพิ่มเติมภายหลังนะครับเรื่องการกำหนดฝั่งการทำงานของ ไคล์เอนต์พอดีไม่ค่อยว่างหรือสะดวกที่จะเขียน สักเท่าไหร่ อย่างไรก็ดี ก็อยากให้พี่ๆ น้อง ๆ ที่ใช้งาน linux สามารถมาเพิ่มเติมหรือว่า ลบทิ้งก็ได้นะครับ ( กรณีที่ผิดพลาด หรือ ลบหมดเพื่อแก้ไข :p ) และหากผิดพลาดขาดตกบกพร่องประการใดขออภัยด้วยครับ ซึ่งหากจบเรื่องนี้แล้ว ก็กะจะพูดต่อเรื่องการ import ระบบ mail ที่เป็น mbox format และระบบเมล์เก่าๆ มาใช้กับ dovecot (maildir ) ครับ
ขอบคุณครับ
- หากรูปแบบ layout ดูประหลาดๆ ขออภัยด้วยครับ พอดีเพิ่งเคยน่ะครับ ขออภัยด้วยครับ
Sunday, April 25, 2010
Day2.1 - How to setup mail server via Postfix
Email Server คือ เครื่องบริการรับ-ส่งจดหมายสำหรับสมาชิก บริการที่มีให้ใช้เช่น ส่งจดหมาย รับจดหมาย ส่ง attach file
ในการส่ง E-mail นั้นจะต้องอาศัย Protocol ที่ชื่อ SMTP (Simple Mail Transfer Protocol) เป็นตัวกลางในการรับและส่ง E-mail แต่ละฉบับ โปรแกรมที่ทำหน้าที่คอยรับการสื่อสารทาง SMTP นั้นมีหลายตัวด้วยกัน เช่น Sendmail, Postfix, qmail, smail, Microsoft Exchange, Lotus Note เป็นต้น โดยปรกติ SMTP จะรอรับการติดต่ออยู่ที่ Port 25 อยู่แล้ว
SMTP
เป็นโปรโตคอลที่ใช้ในการส่งอีเมล์ไปยังเมล์ เซิร์ฟเวอร์ เช่น เมื่อเราส่งอีเมล์หา Billgates@microsoft.com ขั้นแรกเราต้องส่งอีเมล์เข้าเมล์เซิร์ฟเวอร์ของหน่วยงานเรา ซึ่งเมล์เซิร์ฟเวอร์จะเปิดบริการ SMTP รอรับไว้บน TCP port 25 จากนั้นเมล์เซิร์ฟเวอร์ของหน่วยงานเราจะส่งไปให้เมล์เซิร์ฟเวอร์ของ ไมโครซอฟท์ อาจจะต้องส่งเข้าเครื่อง mail.microsoft.com หรือ mail2.microsoft.com ก็ได้ แล้วแต่ค่าที่มีอยู่ใน MX Record ซึ่งรายละเอียดเกี่ยวกับโปรโตคอล SMTP จะได้ศึกษากันในบทที่เกี่ยวกับเมล์เซิร์ฟเวอร์
POP
ถูกออกแบบสำหรับการเข้าถึงแบบ offline คือ จดหมายอยู่ใน server และผู้ใช้สามารถใช้โปรแกรมที่สนับสนุน POP ในการเข้าถึงจดหมายจากระยะไกล การจัดการใดๆ กับจดหมายจะเป็นการจัดการในเครื่องของผู้ใช้เท่านั้น ถึงแม้ว่าข้อจำกัดของการเข้าถึงแบบ offline จะทำให้เกิดความคิดที่จะทำให้ POP สามารถใช้งานในแบบ online หรือ แบบ disconnected ได้ แต่ POP ขาดคุณสมบัติที่จำเป็นบางอย่าง ส่วนการเข้าถึงแบบเสมือน online (pseudo-online) จดหมายจะไม่ถูกลบออกจาก server แต่ก็ไม่ใช่การเข้าถึงแบบ online ที่แท้จริง เพราะขาดโปรโตคอลในการเข้าถึงระบบไฟล์ในเครื่อง server ในการที่จะเข้าถึงหรือเปลี่ยนแปลง folder หรือ สถานะต่างๆ ของจดหมาย ตัวอย่างเช่น การตั้งค่าสถานะของจดหมาย เช่นได้ถูกอ่านแล้ว จะถูกตั้งค่าเพียงแค่ในเครื่องไคลเอนท์ที่ใช้เท่านั้น แต่สถานะของจดหมายที่แท้จริงบนเซิร์ฟเวอร์ยังคงไม่เปลี่ยนแปลง หรือการจัดเก็บจดหมายลง folder จะถูกจัดเก็บลงในเครื่องไคลเอนท์เท่านั้น ซึ่งที่จริงควรจะจัดเก็บไว้บนเซิร์ฟเวอร์ เพราะหากว่ามีการใช้ไคลเอนท์เครื่องอื่น ก็ยังสามารถเห็น folder นั้นๆได้
IMAP
มีความสามารถในการเข้าถึงทั้งแบบ offline และแบบ online โดยในแบบ online จดหมายจะไม่ถูกดึงมา แต่จะเป็นแบบโต้-ตอบกับ server นั่นคือผู้ใช้สามารถดึงเฉพาะหัวข้อจดหมาย , บางส่วนของจดหมาย หรือค้นหาจดหมายที่ตรงความต้องการ โดยจดหมายที่ถูกเก็บไว้บน server และสามารถตั้งค่าสถานะของจดหมายต่างๆ เช่น ถูกลบไปแล้ว , ตอบไปแล้ว และจะยังอยู่ใน server จนกว่าผู้ใช้จะสั่งลบ อธิบายง่ายๆ คือ IMAP ถูกออกแบบให้การเข้าจดหมายจากระยะไกลเหมือนกับการเข้าถึงจดหมายจากภายใน เครื่องของผู้ใช้เอง ซึ่งขึ้นอยู่กับโปรแกรมที่ใช้ว่าจะเก็บจดหมายไว้ในเครื่องของผู้ใช้เอง หรือเก็บไว้ใน server หรือให้ผู้ใช้เลือกเองอย่างใดอย่างหนึ่ง
note:
webmail ส่วนมากนั้นจะเป็น imap
ความสามารถในส่วนที่มีทั้งใน POP และ IMAP สนับสนุนการเข้าถึงแบบ offline จดหมายใหม่จะถูกส่งไปเก็บไว้ยังเครื่อง server รอผู้ใช้ติดต่อเข้าไปตรวจเช็ค สามารถเข้าถึงจดหมายได้จาก platfrom หลากหลายรูปแบบ สามารถเข้าถึงได้จากทุกๆ ที่ในเครือข่าย เป็นโปรโตคอลแบบเปิด ซึ่งเป็นไปตาม Internet RFCs มีเครื่องมือ (Implementations) ต่างๆ (รวมทั้งซอร์สโค้ด) แจกฟรี มีโปรแกรมสำหรับการเข้าถึงจดหมายทั้งใน PC,Mac และ UNIX มีเครื่องมือ (Implementations) ต่างๆ ขาย ไม่ต้องการ SMTP mail gateways ถูกใช้ในการเข้าถึงจดหมายเท่านั้น ส่วนการส่งจะใช้ protocol SMTP สนับสนุน persistent message IDs (สำหรับการเข้าถึงแบบ disconnected) ข้อดีของโปรโตคอล POP ไม่ซับซ้อน จึงง่ายในการ Implement มีโปรแกรมสนับสนุนจำนวนมาก
ข้อดีของโปรโตคอล IMAP สามารถจัดการกับสถานะของจดหมาย (status flags) เช่น อ่านแล้ว,ลบแล้ว,ตอบแล้ว หรือ สถานะใดๆที่ผู้ใช้กำหนดเอง
สามารถเพิ่มจดหมายลงใน folder ที่ต้องการ สามารถเข้าถึง และจัดการกับ mailbox ได้หลายอัน รวมทั้งสามารถเปลี่ยนชื่อ,สร้าง,ลบ,แสดงรายชื่อ และเข้าถึง folder ต่างๆ นอกเหนือจาก folder จดหมายปกติ (Inbox) ซึ่ง folder เหล่านี้อาจจะไม่ได้อยู่บน server เดียวกันก็ได้ โดยเราสามารถเรียกดูได้พร้อมๆกัน หรือทำการเคลื่อนย้ายจาก folder หนึ่งไปยังอีก folder หนึ่ง ผู้ใช้หลายคนสามารถทำการเข้าถึง mailbox เดียวกันพร้อมกัน โดยเมื่อผู้ใช้คนใดทำการแก้ไขอะไรไป ผู้ใช้คนอื่นๆ ก็จะเห็นการแก้ไขนั้นๆ ในทันที สามารถเข้าถึงข้อมูลที่ไม่จำกัดแค่ e-mail แต่สามารถเข้าถึงข้อมูลชนิดอื่นด้วย เช่น NetNews,Documents สนับสนุนการเข้าถึงแบบ offline ในกรณีที่เชื่อมต่อผ่านทาง dialup ที่มีราคาต่อนาทีสูง โดยไม่ต้องการความสามารถพิเศษอื่นๆ หรือในกรณีที่เครื่อง server มีความสามารถต่ำ แต่ไม่ใช่ทุกโปรแกรมที่สนับสนุน IMAP สามารถทำได้ แต่โดยโปรโตคอล IMAP แล้วสามารถทำได้
มีโปรโตคอลในการจัดเก็บข้อมูลส่วนตัวของผู้ใช้แต่ละคนลงในเซิร์ฟเวอร์ เช่น Internet Message Support Protocol (IMSP) ซึ่งทำให้ผู้ใช้จาก platform ใดๆ สามารถเข้าถึงข้อมูลส่วนบุคคลของตนเอง เช่น สมุดรายชื่อที่อยู่ (address book) ทางเลือกใหม่ที่ทรงประสิทธิภาพก็คือ Application Configuration Access Protocol (ACAP) โปรโตคอลที่ไม่เพียงแต่ช่วยให้สร้าง หรือเก็บออบชัน และ address-book information ที่เลือกไว้แล้วเท่านั้น แต่ยังสร้างโพรซีเจอร์เพื่อจัดการกับผู้ใช้อื่นที่เกี่ยวข้อง ที่ถูกแชร์ร่วมกัน เช่น spelling check เป็นต้น
ปรับปรุงประสิทธิภาพในการเข้าถึงโดยเมื่อทำการติดต่อผ่านทางสายสื่อสารความ เร็วต่ำ โดย IMAP มีความสามารถในการเลือกดึงบางส่วน หรือ ทั้งหมดของจดหมายที่ต้องการ หรือให้ server ค้นหาจดหมายที่ต้องการให้ โดยมันจะเป็นประโยชน์อย่างมาก หากการติดต่อผ่านสื่อสารที่ช้ามาก ในการเลือกที่จะดึงเฉพาะบางส่วนของจดหมาย เช่น หัวข้อจดหมาย (header) โดยเฉพาะหากจดหมายนั้นเป็นจดหมายชนิด MIME (Multipurpose Internet Mail Externsions ซึ่งเป็นมาตรฐานในการส่งแฟ้มข้อมูลติดไปกับจดหมายตาม RFC-822 โดยโปรโตคอล SMTP) ซึ่งหากมีการส่งแฟ้มขนาดใหญ่ติดมากับจดหมายด้วย โดยมีส่วนของจดหมายเพียงไม่กี่บรรทัดจะทำให้เสียเวลาในการดึงข้อมูลที่ยัง ไม่ต้องการ เป็นอย่างมาก โดยเฉพาะเมื่อทำการติดต่อผ่านทางสายสื่อสารความเร็วต่ำ หรือค่าใช้จ่ายในการติดต่อมีราคาแพง และนี่เป็นข้อดีที่แสดงให้เห็นว่า IMAP เหนือกว่า POP
Install Postfix mail server to enable IMAP and POP
สิ่งที่ต้องการ
- Linux Server with Centos 4/5 (VPS or Dedicated)
- Apache 2 with PHP4 or later
- Postfix (SMTP server or MTA)
- Dovecot ( IMAP/POP3 server)
- Squirrelmail (A free Webmail)
เราจะเซ็ตอัฟอีเมล์เซิฟเวอร์เพื่อให้ไคล์เอ็นต์ใช้งานติดต่อเมล์บ๊อกของพวกเขาผ่านทางเว็ปเมล์ หรือ outlook express หรือ thunderbird. เราจะเซ็ตอัฟให้พวกเขาแบบง่ายๆ
ในการส่ง E-mail นั้นจะต้องอาศัย Protocol ที่ชื่อ SMTP (Simple Mail Transfer Protocol) เป็นตัวกลางในการรับและส่ง E-mail แต่ละฉบับ โปรแกรมที่ทำหน้าที่คอยรับการสื่อสารทาง SMTP นั้นมีหลายตัวด้วยกัน เช่น Sendmail, Postfix, qmail, smail, Microsoft Exchange, Lotus Note เป็นต้น โดยปรกติ SMTP จะรอรับการติดต่ออยู่ที่ Port 25 อยู่แล้ว
SMTP
เป็นโปรโตคอลที่ใช้ในการส่งอีเมล์ไปยังเมล์ เซิร์ฟเวอร์ เช่น เมื่อเราส่งอีเมล์หา Billgates@microsoft.com ขั้นแรกเราต้องส่งอีเมล์เข้าเมล์เซิร์ฟเวอร์ของหน่วยงานเรา ซึ่งเมล์เซิร์ฟเวอร์จะเปิดบริการ SMTP รอรับไว้บน TCP port 25 จากนั้นเมล์เซิร์ฟเวอร์ของหน่วยงานเราจะส่งไปให้เมล์เซิร์ฟเวอร์ของ ไมโครซอฟท์ อาจจะต้องส่งเข้าเครื่อง mail.microsoft.com หรือ mail2.microsoft.com ก็ได้ แล้วแต่ค่าที่มีอยู่ใน MX Record ซึ่งรายละเอียดเกี่ยวกับโปรโตคอล SMTP จะได้ศึกษากันในบทที่เกี่ยวกับเมล์เซิร์ฟเวอร์
POP
ถูกออกแบบสำหรับการเข้าถึงแบบ offline คือ จดหมายอยู่ใน server และผู้ใช้สามารถใช้โปรแกรมที่สนับสนุน POP ในการเข้าถึงจดหมายจากระยะไกล การจัดการใดๆ กับจดหมายจะเป็นการจัดการในเครื่องของผู้ใช้เท่านั้น ถึงแม้ว่าข้อจำกัดของการเข้าถึงแบบ offline จะทำให้เกิดความคิดที่จะทำให้ POP สามารถใช้งานในแบบ online หรือ แบบ disconnected ได้ แต่ POP ขาดคุณสมบัติที่จำเป็นบางอย่าง ส่วนการเข้าถึงแบบเสมือน online (pseudo-online) จดหมายจะไม่ถูกลบออกจาก server แต่ก็ไม่ใช่การเข้าถึงแบบ online ที่แท้จริง เพราะขาดโปรโตคอลในการเข้าถึงระบบไฟล์ในเครื่อง server ในการที่จะเข้าถึงหรือเปลี่ยนแปลง folder หรือ สถานะต่างๆ ของจดหมาย ตัวอย่างเช่น การตั้งค่าสถานะของจดหมาย เช่นได้ถูกอ่านแล้ว จะถูกตั้งค่าเพียงแค่ในเครื่องไคลเอนท์ที่ใช้เท่านั้น แต่สถานะของจดหมายที่แท้จริงบนเซิร์ฟเวอร์ยังคงไม่เปลี่ยนแปลง หรือการจัดเก็บจดหมายลง folder จะถูกจัดเก็บลงในเครื่องไคลเอนท์เท่านั้น ซึ่งที่จริงควรจะจัดเก็บไว้บนเซิร์ฟเวอร์ เพราะหากว่ามีการใช้ไคลเอนท์เครื่องอื่น ก็ยังสามารถเห็น folder นั้นๆได้
IMAP
มีความสามารถในการเข้าถึงทั้งแบบ offline และแบบ online โดยในแบบ online จดหมายจะไม่ถูกดึงมา แต่จะเป็นแบบโต้-ตอบกับ server นั่นคือผู้ใช้สามารถดึงเฉพาะหัวข้อจดหมาย , บางส่วนของจดหมาย หรือค้นหาจดหมายที่ตรงความต้องการ โดยจดหมายที่ถูกเก็บไว้บน server และสามารถตั้งค่าสถานะของจดหมายต่างๆ เช่น ถูกลบไปแล้ว , ตอบไปแล้ว และจะยังอยู่ใน server จนกว่าผู้ใช้จะสั่งลบ อธิบายง่ายๆ คือ IMAP ถูกออกแบบให้การเข้าจดหมายจากระยะไกลเหมือนกับการเข้าถึงจดหมายจากภายใน เครื่องของผู้ใช้เอง ซึ่งขึ้นอยู่กับโปรแกรมที่ใช้ว่าจะเก็บจดหมายไว้ในเครื่องของผู้ใช้เอง หรือเก็บไว้ใน server หรือให้ผู้ใช้เลือกเองอย่างใดอย่างหนึ่ง
note:
webmail ส่วนมากนั้นจะเป็น imap
| สรุปความแตกต่างระหว่าง offline และ online | |
| 1. ความแตกต่างในแง่การใช้งาน | |
offline | : เหมาะกับการเข้าถึงโดยใช้คอมพิวเตอร์เครื่องเดียว และไม่ต้องการความสามารถพิเศษอื่นๆ |
online | : เหมาะกับการเข้าถึงแบบตอบโต้กับ server และมีความสามารถในการเข้าถึง mailbox หลายๆอัน |
| 2. ข้อดีของแบบ offline | |
| ใช้ เวลาในการติดต่อน้อย ใช้ทรัพยากรของระบบน้อย | |
| 3. ข้อดีของแบบ online | |
| สามารถ เข้าถึงจดหมาย จากคอมพิวเตอร์เครื่องใดก็ได้ ในเวลาใดๆ เหมาะสำหรับเครื่องที่มีเนื้อที่ดิสค์น้อย เช่น เครื่องคอมพิวเตอร์ในห้องปฏิบัติการ ไม่ขึ้นกับ platform ในการเข้าถึง mailbox หลายๆ อัน ผู้ใช้หลายคนสามารถทำการใช้ mailbox เดียวกันได้ในเวลาเดียวกัน จุดสำคัญก็คือ ในแบบ online สามารถเข้าถึงได้จากคอมพิวเตอร์หลายๆเครื่องในเวลาใดๆ โดยไม่ขึ้นกับโปรโตคอลในการเข้าถึงระบบไฟล์ในเครื่อง server (ซึ่งอาจไม่มีในทุก platform และอาจมีปัญหาเกี่ยวกับประสิทธิภาพ และ file locking) ถึงแม้ว่าความสามารถนี้ไม่มีความจำเป็นสำหรับผู้ใช้ที่ใช้เครื่อง คอมพิวเตอร์เพียงเครื่องเดียว ในการเข้าถึงจดหมาย แต่จะจำเป็นมากสำหรับผู้ใช้ที่ใช้คอมพิวเตอร์หลายๆ เครื่อง | |
ความสามารถในส่วนที่มีทั้งใน POP และ IMAP สนับสนุนการเข้าถึงแบบ offline จดหมายใหม่จะถูกส่งไปเก็บไว้ยังเครื่อง server รอผู้ใช้ติดต่อเข้าไปตรวจเช็ค สามารถเข้าถึงจดหมายได้จาก platfrom หลากหลายรูปแบบ สามารถเข้าถึงได้จากทุกๆ ที่ในเครือข่าย เป็นโปรโตคอลแบบเปิด ซึ่งเป็นไปตาม Internet RFCs มีเครื่องมือ (Implementations) ต่างๆ (รวมทั้งซอร์สโค้ด) แจกฟรี มีโปรแกรมสำหรับการเข้าถึงจดหมายทั้งใน PC,Mac และ UNIX มีเครื่องมือ (Implementations) ต่างๆ ขาย ไม่ต้องการ SMTP mail gateways ถูกใช้ในการเข้าถึงจดหมายเท่านั้น ส่วนการส่งจะใช้ protocol SMTP สนับสนุน persistent message IDs (สำหรับการเข้าถึงแบบ disconnected) ข้อดีของโปรโตคอล POP ไม่ซับซ้อน จึงง่ายในการ Implement มีโปรแกรมสนับสนุนจำนวนมาก
ข้อดีของโปรโตคอล IMAP สามารถจัดการกับสถานะของจดหมาย (status flags) เช่น อ่านแล้ว,ลบแล้ว,ตอบแล้ว หรือ สถานะใดๆที่ผู้ใช้กำหนดเอง
สามารถเพิ่มจดหมายลงใน folder ที่ต้องการ สามารถเข้าถึง และจัดการกับ mailbox ได้หลายอัน รวมทั้งสามารถเปลี่ยนชื่อ,สร้าง,ลบ,แสดงรายชื่อ และเข้าถึง folder ต่างๆ นอกเหนือจาก folder จดหมายปกติ (Inbox) ซึ่ง folder เหล่านี้อาจจะไม่ได้อยู่บน server เดียวกันก็ได้ โดยเราสามารถเรียกดูได้พร้อมๆกัน หรือทำการเคลื่อนย้ายจาก folder หนึ่งไปยังอีก folder หนึ่ง ผู้ใช้หลายคนสามารถทำการเข้าถึง mailbox เดียวกันพร้อมกัน โดยเมื่อผู้ใช้คนใดทำการแก้ไขอะไรไป ผู้ใช้คนอื่นๆ ก็จะเห็นการแก้ไขนั้นๆ ในทันที สามารถเข้าถึงข้อมูลที่ไม่จำกัดแค่ e-mail แต่สามารถเข้าถึงข้อมูลชนิดอื่นด้วย เช่น NetNews,Documents สนับสนุนการเข้าถึงแบบ offline ในกรณีที่เชื่อมต่อผ่านทาง dialup ที่มีราคาต่อนาทีสูง โดยไม่ต้องการความสามารถพิเศษอื่นๆ หรือในกรณีที่เครื่อง server มีความสามารถต่ำ แต่ไม่ใช่ทุกโปรแกรมที่สนับสนุน IMAP สามารถทำได้ แต่โดยโปรโตคอล IMAP แล้วสามารถทำได้
มีโปรโตคอลในการจัดเก็บข้อมูลส่วนตัวของผู้ใช้แต่ละคนลงในเซิร์ฟเวอร์ เช่น Internet Message Support Protocol (IMSP) ซึ่งทำให้ผู้ใช้จาก platform ใดๆ สามารถเข้าถึงข้อมูลส่วนบุคคลของตนเอง เช่น สมุดรายชื่อที่อยู่ (address book) ทางเลือกใหม่ที่ทรงประสิทธิภาพก็คือ Application Configuration Access Protocol (ACAP) โปรโตคอลที่ไม่เพียงแต่ช่วยให้สร้าง หรือเก็บออบชัน และ address-book information ที่เลือกไว้แล้วเท่านั้น แต่ยังสร้างโพรซีเจอร์เพื่อจัดการกับผู้ใช้อื่นที่เกี่ยวข้อง ที่ถูกแชร์ร่วมกัน เช่น spelling check เป็นต้น
ปรับปรุงประสิทธิภาพในการเข้าถึงโดยเมื่อทำการติดต่อผ่านทางสายสื่อสารความ เร็วต่ำ โดย IMAP มีความสามารถในการเลือกดึงบางส่วน หรือ ทั้งหมดของจดหมายที่ต้องการ หรือให้ server ค้นหาจดหมายที่ต้องการให้ โดยมันจะเป็นประโยชน์อย่างมาก หากการติดต่อผ่านสื่อสารที่ช้ามาก ในการเลือกที่จะดึงเฉพาะบางส่วนของจดหมาย เช่น หัวข้อจดหมาย (header) โดยเฉพาะหากจดหมายนั้นเป็นจดหมายชนิด MIME (Multipurpose Internet Mail Externsions ซึ่งเป็นมาตรฐานในการส่งแฟ้มข้อมูลติดไปกับจดหมายตาม RFC-822 โดยโปรโตคอล SMTP) ซึ่งหากมีการส่งแฟ้มขนาดใหญ่ติดมากับจดหมายด้วย โดยมีส่วนของจดหมายเพียงไม่กี่บรรทัดจะทำให้เสียเวลาในการดึงข้อมูลที่ยัง ไม่ต้องการ เป็นอย่างมาก โดยเฉพาะเมื่อทำการติดต่อผ่านทางสายสื่อสารความเร็วต่ำ หรือค่าใช้จ่ายในการติดต่อมีราคาแพง และนี่เป็นข้อดีที่แสดงให้เห็นว่า IMAP เหนือกว่า POP
Install Postfix mail server to enable IMAP and POP
สิ่งที่ต้องการ
- Linux Server with Centos 4/5 (VPS or Dedicated)
- Apache 2 with PHP4 or later
- Postfix (SMTP server or MTA)
- Dovecot ( IMAP/POP3 server)
- Squirrelmail (A free Webmail)
เราจะเซ็ตอัฟอีเมล์เซิฟเวอร์เพื่อให้ไคล์เอ็นต์ใช้งานติดต่อเมล์บ๊อกของพวกเขาผ่านทางเว็ปเมล์ หรือ outlook express หรือ thunderbird. เราจะเซ็ตอัฟให้พวกเขาแบบง่ายๆ
Sunday, February 7, 2010
IT Hardware asset project.
I'd like to tell you about a project that my team finished last month. The IT Hardware asset of project to produce website to help accounting employees can track computer asset information.
To be continued...
To be continued...
Subscribe to:
Posts (Atom)