mrGilL
Ico64
เครือข่าย
สมาชิก · ติดตาม: 3 · ผู้ติดตาม: 4

สร้างไฟล์เซิร์ฟเวอร์ง่ายๆ ด้วย Samba บน FreeBSD 7

How to Samba 3 Server On FreeBSD 7

        สวัสดีครับเพื่อนๆ วันนี้มี 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/

http://www.opentle.org/th/node/3249

คลิกเพื่อบันทึก​เข้า​ Social Bookmark Blog :      

คำสำคัญ (keywords): file server, freebsd, how to, samba, smb, unix, windows file sharing
สร้าง: 09 มิถุนายน 2551 16:34 · แก้ไข: 28 พฤศจิกายน 2551 21:48
ดอกไม้: 0 · ความเห็น: 31 · อ่าน: 5750 · สร้าง: เกือบ 4 ปี ที่แล้ว
ดอกไม้
Facebook
Twitter
Google

ความเห็น

Ico48
อดิศักดิ์ [IP: 125.26.129.172]
21 มีนาคม 2552 16:26
#368449

ได้ครับ ผมดับคลิ๊ก ที่Folder public มันให้ ใส่ User กับ Password ตลอดเลย

ร่วมแสดงความเห็นในหน้านี้
ชื่อ:
อีเมล:
IP แอดเดรส: 38.107.179.230
ข้อความ:  
เรียกเครื่องมือจัดการข้อความ
แนบไฟล์:
ชื่อไฟล์ต้องใช้ตัวอักษร a-z, A-Z, 0-9 สัญลักษณ์ขีดกลาง (-) หรือขีดล่าง (_) และห้ามเว้นวรรค