สวัสดีครับเพื่อนๆ วันนี้มี how to มาฝาก เที่ยงวันนี้เพื่อนผมโทรมาหาจากบริษัทถามว่าผมเคยใช้ samba หรือเปล่า ผมก็บอกว่าเคย แล้วก็ส่งสายต่อไปให้เพื่อนที่ทำงานเค้าอีกคนก็ได้คุยกันครับ ถามเรื่องระบบที่เขาใช้ ปรากฏว่าเป็น FreeBSD 7 ซึ่งจริงๆ แล้วผมไม่เคยคอนฟิก Samba บน FreeBSD มาก่อน เคยทำแต่บน Linux แต่ก็พอรู้หลักการทำงานของมันก็เลยนั่งค้นๆ และได้ทดลองติดตั้ง FreeBSD 7 บน VMware และก็ได้เขียน How to เป็นภาษาไทยส่งให้เพื่อนไป คิดว่าคงเป็นประโยชน์กับบางท่านที่ต้องนำ Samba มาประยุกต์ใช้กับหน่วยงานนะครับ เลยเอามาเขียนไว้ให้ได้อ่านกัน เริ่มกันเลย
การติดตั้ง Samba3 บน FreeBSD 7 เพื่อใช้เป็นแชร์ไฟล์เซิร์ฟเวอร์
1.) cd /usr/ports/net/samba3
2.) make install clean
เลือก Option เพิ่มเติมดังนี้
3.) หากติดตั้งไปแล้วพบข้อความ error
===> Applying FreeBSD patches for cups-base-1.3.5_2
Ignoring previously applied (or reversed) patch.
10 out of 10 hunks ignored--saving rejects to cups/ipp.c.rej
=> Patch patch-CVE-2007-4351 failed to apply cleanly.
*** Error code 1
Stop in /usr/ports/print/cups-base.
*** Error code 1
Stop in /usr/ports/net/samba3.
*** Error code 1
Stop in /usr/ports/net/samba3.
4.) ให้แก้ปัญหานี้โดยติดตั้ง cups-base ด้วยคำสั่ง pkg_add -r cups-base แทนจากนั้นค่อยสั่ง make install clean อีกครั้ง
samba# pkg_add -r cups-base
5.) เมื่อติดตั้ง cups-base ด้วยคำสั่ง pkg_add -r cubs-base แล้วสั่ง make install clean อีกครั้ง
samba# make install clean
ติดตั้ง samba เสร็จแล้วให้สั่ง rehash เพื่อปรับปรุงฐานข้อมูล hash ของ path ต่างๆ
samba# rehash
6.) ติดตั้ง nano editor (หากใครถนัดใช้ vi ข้ามขั้นตอนนี้ไปก็ได้ครับ)
samba# pkg_add -r nano
sanba# rehash
7.) เข้าไปยังไดเร็กทอรี่ที่เก็บไฟล์คอนฟิกของระบบ /usr/local/etc
samba# cd /usr/local/etc
8.) สำรองไฟล์คอนฟิกของ samba
samba# cp smb.conf smb.conf.original
9.) แก้ไขไฟล์คอนฟิกของ samba
samba# nano smb.conf
โดยกำหนดค่าดังนี้
9.1) ไอเทม workgroup เปลี่ยนจาก MYGROUP เป็นชื่อเวิร์คกรุ๊ปของเรา
ตัวอย่าง
workgroup = WORKGROUP
9.2) ไอเทม server string เปลียนเป็นชื่อที่ต้องการ
ตัวอย่าง
server string = Samba Share
9.3) ไอเทม security กำหนดให้เป็น user
ตัวอย่าง
security = user
9.4) กำหนดให้ทุก user มี share ไดเร็กทอรีโดย
[homes]
comment = Home directory for %u on %h
browseable = no
writable = yes
path = /usr/home/%u/share
valid users = %S
# ตรงส่วนนี้หมายถึงหาก user สร้างไดเร็กทอรีที่ชื่อว่า share ไว้ใน /home/username ของตัวเองจะทำให้เราสามารถ อ่าน-เขียน ข้อมูลในไดเร็กทอรีนี้ผ่านวินโดวส์ได้ เช่น ผมมี user : mrgill
สร้างไดเร็กทอรี share ให้ user
samba# mkdir /home/mrgill/share
samba# chown mrgill /home/mrgill/share
9.10) กำหนด public share เพื่อใช้เป็นไดเร็กทอรีกลาง ทุกคนมีสิทธิ์เรียกใช้งานได้ (อ่าน-เขียนได้)
[public]
comment = %h Shared Public Directory
path = /usr/home/samba/public
force directory mode = 0777
force create mode = 0777
force group = nobody
force user = nobody
public = yes
writeable = yes
read only = no
#บันทึกไฟล์ smb.conf โดยการกด Ctrl + O แล้วก็กด enter หนึ่งครั้ง
#ออกจาก nano โดยการกด Ctrl + X
10.) สร้างไดเร็กทอรี่ /home/samba/public
samba# mkdir -p /home/samba/public
samba# chmod 777 /home/samba/public
11.) กำหนดให้ samba ทำงานเมื่อเริ่มต้นระบบ
samba# cp /etc/rc.conf /etc/rc.conf.original
samba# nano /etc/rc.conf
จากนั้นเพิ่มบรรทัดต่อไปนี้เข้าไป
samba_enable="YES"
#บันทึกไฟล์ smb.conf โดยการกด Ctrl + O แล้วก็กด enter หนึ่งครั้ง
#ออกจาก nano โดยการกด Ctrl + X
12.) สร้าง user ที่ต้องการ ตัวอย่างผมสร้าง user : amp
samba# adduser
Username: amp
Full name: Pennapa Treechot
Uid (Leave empty for default):
Login group [amp]:
Login group is amp. Invite amp into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]:
Home directory [/home/amp]:
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password: #ตอนกรอกรหัสผ่านจะไม่เห็นตัวอักขระใดๆ
Enter password again: #ตอนกรอกรหัสผ่านจะไม่เห็นตัวอักขระใดๆ
Lock out the account after creation? [no]:
Username : amp
Password : *****
Full Name : Pennapa Treechot
Uid : 1003
Class :
Groups : amp
Home : /home/amp
Shell : /bin/sh
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (amp) to the user database.
Add another user? (yes/no): no
Goodbye!
13.) สร้างไดเร็กทอรี share ให้ user amp
samba# mkdir /home/amp/share
samba# chown amp:amp /home/amp/share
14. ) รีสตาร์ท Server
samba# reboot
15.) หลังจากที่เปิดเครื่องมาแล้ว login เข้าระบบ จากนั้นทำการ map user ของระบบให้เป็น user ของ samba โดยใช้คำสั่ง
samba# smbpasswd -a amp
New SMB password: #ตอนกรอกรหัสผ่านจะไม่เห็นตัวอักขระใดๆ
Retype new SMB password: #ตอนกรอกรหัสผ่านจะไม่เห็นตัวอักขระใดๆ
Added user amp.
ซึ่งรหัสผ่านของ smbpasswd อาจเป็นคนละตัวกับตอนที่เรา add amp เข้าระบบก็ได้
16.) ทดลองเรียกเครื่อง samba จากเครื่องวินโดวส์โดย คลิกที่ start > run > ในช่อง run พิมพ์ \\w.x.y.z (w.x.y.z หมายถึง ip ของเครื่อง samba)
เช่น \\192.168.1.7
ระบบจะให้เรากรอก user และ password สำหรับเข้าระบบ ให้เรากรอก user และ password ทีได้ทำการ map ให้กับ samba แล้วลงไปก็จะเห็นแชร์ไดเร็กทอรีของตัวเองและ public
อ้างอิง :
http://www.us-webmasters.com/FreeBSD/Install/Samba/


เมนูของ gillclub












เมื่อ จ. 09 มิ.ย. 2551 @ 17:26
254750 [ลบ]
สุดยอดพี่กิว ขยันจริงๆ
เมื่อ จ. 09 มิ.ย. 2551 @ 17:29
254752 [ลบ]
ไม่ได้ขยันอะไรหรอกครับ พอดีเพื่อนถามมา เลยลองทำดู ทำได้แล้วก็มาเขียนบอกต่อก็เท่านั้นเองครับ
เมื่อ พฤ. 12 มิ.ย. 2551 @ 11:54
255866 [ลบ]
FreeBSD เคยได้ยินอาจารย์พูดอ่านะ
แต่ไม่รุว่ามันคือ อะไร อิอิ (เม้นไรวะะ เหอๆ)
พี่กิวเก่งอีกแล้วววว ตบมือๆ ^^
เมื่อ ศ. 13 มิ.ย. 2551 @ 14:05
256393 [ลบ]
พี่กิวเก่งจางเลย ว้าวๆๆๆๆ
เมื่อ อา. 15 มิ.ย. 2551 @ 15:37
257062 [ลบ]
เมื่อ อา. 15 มิ.ย. 2551 @ 15:47
257067 [ลบ]
ก็พอเขีนได้นิดหน่อยๆ ครับเพราะตอนทำโปรเจ็คก็ใช้ PHP ติดต่อกับ Unix Shell
เมื่อ อา. 15 มิ.ย. 2551 @ 15:54
257069 [ลบ]
เมื่อ อา. 15 มิ.ย. 2551 @ 15:59
257070 [ลบ]
ก็มีเยอะครับ ส่วนใหญ่จะ Search เอาหนังสือก็มีบ้างนิดหน่อย แต่โปรเจ็คผมไม่ติดต่อดาต้าเบสเลย ติดต่อกับไฟล์ System และไฟล์คอนฟิกโดยตรง ถ้าพวกสอน php ก็ลองเ้ข้าไปดูที่ http://www.thaicreate.com ดูครับ
เมื่อ อา. 15 มิ.ย. 2551 @ 16:01
257072 [ลบ]
เมื่อ อา. 15 มิ.ย. 2551 @ 16:10
257074 [ลบ]
http://www.mindphp.com/
http://th.php.net/manual/en/indexes.php
นี่ก็อีกเว็บครับ แนะนำว่าให้ดูพวกคู่มือฟังก์ชั่นมันครับ จะบอกวิธีการใช้พร้อมตัวอย่าง
เมื่อ อา. 15 มิ.ย. 2551 @ 16:16
257075 [ลบ]
เมื่อ อ. 17 มิ.ย. 2551 @ 14:48
257708 [ลบ]
แหม เปลี่ยนรูปใหม่หล่อเชียว ฮ่าๆๆๆ ขอซักพันนะ อิอิ
เมื่อ อ. 17 มิ.ย. 2551 @ 14:49
257709 [ลบ]
แหมแพรว เมื่อวานเพิ่งไปตัดแว่นมา หมดตูดอยู่เลยตอนนี้
เมื่อ พ. 18 มิ.ย. 2551 @ 18:23
258189 [ลบ]
ลุงงงงงง... เปี่ยนรูปปป 55+ หล่ออออออ(ไปหมด) อิอิ
เมื่อ พฤ. 19 มิ.ย. 2551 @ 17:09
258721 [ลบ]
เมื่อ จ. 23 มิ.ย. 2551 @ 18:15
260141 [ลบ]
เอาๆๆๆ แต่งเข้าปายยย..หมั่นไส้ อิอิ
เมื่อ พ. 02 ก.ค. 2551 @ 12:40
264913 [ลบ]
คุณกิวครับ ผมถามหน่อยครับ ถ้าผมจะลง FreeBSD สำหรับทำเป็น Database Server ต้องกำหนด partition อย่างไรบ้างครับ แนะนำด้วยครับ หรือของ Link หน่อยครับ
ขอบคุณครับ
เมื่อ พ. 02 ก.ค. 2551 @ 14:12
264983 [ลบ]
แบ่ง /var/db/mysql/ แยกออกมาเลยก็ดีครับให้ขนาดใหญ่หน่อย และ /var/log ก็สำคัญครับอย่าให้น้อยจนเกินไปเพราะ log เราโตขึ้นทุกวัน
เมื่อ ส. 19 ก.ค. 2551 @ 02:23
276624 [ลบ]
ขอบคุณสำหรับความรู้ที่ได้จากท่านครับ ผมจะนำไปถ่ายทอดต่อเพื่อให้เกิดประโยชน์ต่อคนไทยด้วยกันครับ
เมื่อ จ. 15 ก.ย. 2551 @ 11:29
306715 [ลบ]
..พี่ครับ...พี่ช่วยลงโค้ดการ config การ์กแลนสองการ์ดบน freebsd ให้หน่อยได้ป้ะคับ...คือผมลงไม่ได้
ขอบคุณมากๆเลยคับ
เมื่อ อ. 07 ต.ค. 2551 @ 15:51
315246 [ลบ]
ผม config ตาม แต่ว่าพอวันถัดไป เข้าใช้งานไม่ได้ ผมปิดเครื่อง Server ไว้ มันการทดลองก่อน เลยปิดไว้ ต้องทำยังบ้างครับ
เมื่อ อ. 07 ต.ค. 2551 @ 17:50
315285 [ลบ]
งงกับคำถามของคุณ piya ครับช่วยขยายความอีกนิดได้มั้ยครับ
เมื่อ ศ. 28 พ.ย. 2551 @ 10:17
330265 [ลบ]
1.) cd /usr/ports/net/samba7
ผมว่า มันน่าจะผิดนะครับเพราะใน ports มันไม่มี น่าจะเป็น
1.) cd /usr/ports/net/samba3
เมื่อ ศ. 28 พ.ย. 2551 @ 21:49
330558 [ลบ]
ขอบคุณครับพี่ อ๋อง ผมพิมพ์ผิดจริงๆ ครับ
ตอนนี้แก้ไขให้แล้วนะครับ