การสร้างไฟล์เซิร์ฟเวอร์ตาม FreeBSD โดยได้รับอนุญาตใน AD
- โครงสร้างพื้นฐานด้านไอที
- เทคโนโลยีเครือข่าย
ในบทความนี้ ผมจะอธิบายการสร้างไฟล์เซิร์ฟเวอร์ด้วย FreeBSD 9.2 (Samba-3.6) ที่ติดตั้งโดยได้รับอนุญาตในโดเมน Windows 2003
เมื่อฉันตั้งค่าไฟล์เซิร์ฟเวอร์บน FreeBSD เป็นครั้งแรก ฉันพบปัญหามากมาย วิธีแก้ปัญหาที่ต้องค้นหาเป็นเวลานานในไซต์และฟอรัมที่มีเนื้อหาเฉพาะเรื่อง ดังนั้นจะอธิบายในแต่ละขั้นตอนที่นี่ ปัญหาทั่วไปและการตัดสินใจของพวกเขา ฉันคิดว่าบทความนี้จะช่วยให้หลาย ๆ คนแก้ไขปัญหาบางอย่างได้
เริ่มจากข้อมูลเบื้องต้นกันก่อน:
- ชื่อโดเมน: domain.ru;
- ชื่อโฮสต์: msrv-file.domain.ru;
- IP โฮสต์: 10.1.1.6;
- ชื่อ PDC (หรือที่เรียกว่า DNS/AD/DHCP/NTP): msrv-dc1.domain.ru;
- IP PDC: 10.1.1.10;
- ว่างเปล่าด้วย FreeBSD 9.2-i386-bootonly;
- จำเป็นต้องมีการเข้าถึงอินเทอร์เน็ต
- ไม่จำเป็นต้องประทับตรา
ฉันจะสังเกตความแตกต่างเล็กน้อย:
- 1. ระหว่างการติดตั้งระบบปฏิบัติการระหว่างการตั้งค่า อินเตอร์เฟซเครือข่ายฉันจงใจเลือก DHCP ซึ่งทำการจอง IP ผ่าน MAC บนเซิร์ฟเวอร์ DHCP เอง คุณสามารถค้นหาที่อยู่ MAC ของอินเทอร์เฟซได้โดยใช้ยูทิลิตี้ dmesg
- 2. เพื่อการแก้ปัญหาที่ถูกต้อง ฉันได้ทำการจับคู่ในเซิร์ฟเวอร์ DNS กับไฟล์เซิร์ฟเวอร์ และบนไฟล์เซิร์ฟเวอร์เอง ฉันได้เพิ่มบรรทัดต่อไปนี้ในไฟล์ /etc/hosts:
10.1.1.10 msrv-dc1.domain.ru 10.1.1.6 msrv-file.domain.ru
- 3. หลังการติดตั้ง เราต้องตรวจสอบเวลาด้วย PDC (แน่นอนว่าต้องเป็น NTP) หากเวลาต่างกันมากกว่า 5 นาที ไฟล์เซิร์ฟเวอร์จะสูญเสียโดเมน
มาตรวจสอบกับทีมงานกัน:#ntpdate 10.1.1.10
มาดูการติดตั้ง Samba กันดีกว่า (ข้อผิดพลาดแรกของฉันคือการติดตั้งพอร์ต Heimdal ซึ่งปรากฎว่าไม่จำเป็นต้องติดตั้งเลย):
#cd /usr/ports/net/samba36 #make ติดตั้งใหม่ทั้งหมด && ทำใหม่
ฉันติดตั้งด้วยพารามิเตอร์ต่อไปนี้:
[X] LDAP พร้อมรองรับ LDAP [X] โฆษณาพร้อมรองรับ Active Directory [X] WINBIND พร้อมรองรับ WinBIND [X] ACL_SUPPORT พร้อมรองรับ ACL [X] SYSLOG พร้อมรองรับ Syslog [X] QUOTAS พร้อมรองรับโควต้าดิสก์ [X] POPT พร้อมระบบ ห้องสมุด POPT -wide
โปรแกรมติดตั้งจะติดตั้งแพ็คเกจที่จำเป็นทั้งหมดโดยอัตโนมัติตามการขึ้นต่อกัน ระหว่างการติดตั้งแต่ละครั้ง แพ็คเกจเพิ่มเติมระบบมักจะถามถึงพารามิเตอร์การติดตั้ง ฉันทิ้งทุกอย่างไว้เป็นค่าเริ่มต้น ฉันเพิ่งปิดการใช้งานการสนับสนุนโปรโตคอล IPv6 เพราะ... เราไม่ต้องการเขา
จากนั้นกรอกการกำหนดค่าที่อยู่ท้ายบทความ โปรดทราบว่าจำเป็นต้องกรอกตัวอักษร หากคุณใช้ Putty คุณสามารถคัดลอกและวางได้โดยตรงจากการกำหนดค่าที่ฉันแนบ
smb.conf ควรอยู่ใน /usr/local/etc/ การกำหนดค่าที่เหลืออยู่ใน /etc
หากไม่มีไฟล์อยู่เนื่องจากความเข้าใจผิด เราจะสร้างมันขึ้นมาด้วยคำสั่งง่ายๆ แล้วกรอกลงในนั้นทันที:
#ee /usr/local/etc/smb.conf
หรือตัวอย่างเช่น:
#ee /etc/krb5.conf
คุณสามารถตรวจสอบการกำหนดค่า samba ได้โดยใช้ยูทิลิตี้ testparm ซึ่งจะระบุรายการที่ไม่ถูกต้อง ขอย้ำอีกครั้งว่ารายการที่ไม่ถูกต้องก็ไม่ได้ไม่ถูกต้องเสมอไป ที่นี่คุณจำเป็นต้องรู้รายละเอียดปลีกย่อย
หลังจากกรอกการกำหนดค่าแล้ว ให้เริ่มบริการ samba:
# /usr/local/etc/rc.d/samba.sh เริ่มต้น
หรือง่ายกว่า:
#บริการแซมบ้าเริ่มต้นแล้ว
คำตอบที่ดีจะเป็น:
การเริ่มต้น SAMBA: การลบ tdbs เก่าออก: การเริ่มต้น nmbd กำลังเริ่ม smbd. กำลังเริ่ม winbindd
หลังจากการเปลี่ยนแปลงการกำหนดค่า samba คุณต้องรีสตาร์ท
#service samba เริ่มต้นใหม่
ดังนั้น เมื่อติดตั้งระบบแล้ว คอมไพล์ซอฟต์แวร์ กำหนดค่าต่างๆ เรียบร้อยแล้ว ถึงเวลาเข้าเครื่องเข้าสู่โดเมนแล้ว
เราได้รับตั๋ว:
# kinit -p dl_admin // โดยที่ dl_admin เป็นผู้ดูแลโดเมน [ป้องกันอีเมล]รหัสผ่าน: // ระบบจะถามรหัสผ่านของผู้ดูแลระบบโดเมน # klist // ตรวจสอบแคชข้อมูลรับรองตั๋วที่ได้รับ: FILE:/tmp/krb5cc_0 // การตอบสนองควรเป็นดังนี้อาจารย์ใหญ่: [ป้องกันอีเมล]ออกหมดอายุ Principal Oct 05 10:37:52 Oct 05 17:17:52 krbtgt/ [ป้องกันอีเมล]
เราเข้าสู่ samba และเซิร์ฟเวอร์ตามลำดับใน Active Directory:
# โฆษณา net เข้าร่วม -U dl_admin dl_admin"s รหัสผ่าน: เข้าร่วม "MSRV-FILE" ไปยังขอบเขต "DOMAIN.RU"
เราตรวจสอบ:
# wbinfo -p Ping ไปที่ winbindd สำเร็จใน fd 4
# wbinfo -t ตรวจสอบความลับที่เชื่อถือได้ผ่านการเรียก RPC สำเร็จ
# wbinfo -g ส่งคืนรายการกลุ่มผู้ใช้
# wbinfo -u ส่งคืนรายชื่อผู้ใช้
# id dl_admin ส่งคืน ID ผู้ใช้
ที่จริงแล้วเราสามารถจบที่นี่ได้ แต่เพื่อหลีกเลี่ยงปัญหาในการเขียนไปยังไดเร็กทอรีที่แชร์ ฉันแนะนำให้กำหนดผู้ดูแลระบบโดเมนเป็นเจ้าของไดเร็กทอรีที่แชร์โดยระบุกลุ่มผู้ใช้:
# chown -R dl_admin: "ผู้ใช้โดเมน" /home/share # chmod -R 770 /home/share
เอกสารแนบ:
krb5.conf
ค่าเริ่มต้น = FILE:/var/log/kerberos/krb5libs.log kdc = FILE:/var/log/kerberos/krb5kdc.log admin_server = FILE:/var/log/kerberos/kadmin.log ticket_lifetime = 24000 default_realm = DOMAIN.RU dns_lookup_realm = false dns_lookup_kdc = false kdc_req_checksum_type = 2 checksum_type = 2 ccache_type = 1 ส่งต่อได้ = true proxiable = clockskew จริง = 300 v4_instance_resolve = false v4_name_convert = ( โฮสต์ = ( rcmd = โฮสต์ ftp = ftp ) ธรรมดา = (บางสิ่งบางอย่าง = อย่างอื่น ) ) DOMAIN.RU = ( kdc = tcp/10.1.1.10:88 admin_server = tcp/10.1.1.10:749 default_domain = DOMAIN.RU ) .domain.ru = DOMAIN.RU domain.ru = DOMAIN.RU debug = false ticket_lifetime = 36000 renew_lifetime = 36000 ส่งต่อได้ = true krb4_convert = false krb4_convert = false krb4_get_tickets = false
nsswitch.conf
กลุ่ม: ไฟล์ winbind group_compat: โฮสต์ nis: ไฟล์ เครือข่าย DNS: ไฟล์ passwd: ไฟล์ winbind passwd_compat: nis #shells: ไฟล์ #services: compat #services_compat: nis #protocols: ไฟล์ #rpc: ไฟล์
rc.conf
ชื่อโฮสต์ = "msrv-file.domain.ru" keymap = "ru.koi8-r.win.kbd" ifconfig_bge0 = "DHCP" sshd_enable = "ใช่" moused_enable = "ใช่" ntpd_enable = "ใช่" powerd_enable = "ใช่" # ตั้งค่า dumpdev เป็น "อัตโนมัติ" เพื่อเปิดใช้งานการถ่ายโอนข้อมูลผิดพลาด "ไม่" เพื่อปิดการใช้งาน dumpdev="NO" # -- sysinstall สร้างเดลต้า -- # อาทิตย์ 5 ต.ค. 10:31:10 2014 mousechar_start="3" font8x8="cp866-8x8 " font8x14="cp866-8x14" font8x16="cp866b-8x16" scrnmap="koi8-r2cp866" keymap="ru.koi8-r" # smbd_enable="ใช่" samba_enable="ใช่" nmbd_enable="ใช่" winbindd_enable=" ใช่" # -- sysinstall สร้างเดลตา -- # อาทิตย์ 5 ต.ค. 15:09:56 2014 tcp_extensions="YES"
แก้ไข.conf
# สร้างโดย resolvconf nameserver 10.1.1.10
smb.conf
ชุดอักขระ Dos = cp866 ชุดอักขระยูนิกซ์ = ชุดอักขระการแสดงผล koi8-r = กลุ่มงาน koi8-r = ขอบเขต DOMAIN = ชื่อ DOMAIN.RU netbios = สตริงเซิร์ฟเวอร์ MSRV-FILE = ไฟล์เซิร์ฟเวอร์%v security = วิธีการรับรองความถูกต้องของ ADS = winbind map to guest = ไฟล์บันทึกของผู้ใช้ไม่ถูกต้อง = /var/log/samba/log.%m ขนาดบันทึกสูงสุด = 50 การลงนามไคลเอ็นต์ = ใช่ ต้นแบบที่ต้องการ = ไม่มีต้นแบบภายในเครื่อง = ไม่มีต้นแบบโดเมน = ไม่ dns proxy = ไม่มี winbind ใช้โดเมนเริ่มต้น = ใช่สืบทอด acls = ใช่โฮสต์อนุญาต = 10.1.1., 127. map acl สืบทอด = ใช่ คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ = ไม่รองรับ nt acl = ใช่ ระดับระบบปฏิบัติการ = 10 ตัวเลือกซ็อกเก็ต = SO_RCVBUF=8192 SO_SNDBUF= 8192 TCP_NODELAY โหลดเครื่องพิมพ์ = ไม่มีการพิมพ์ = บัญชีแขก bsd = ไม่มีใครแขกตกลง = ใช่ ผู้ใช้ winbind enum = ใช่ winbind enum กลุ่ม = ใช่ winbind กลุ่มที่ซ้อนกัน = ไม่มีตั๋วรีเฟรช winbind = ใช่ idmap config * : range = 600-20000 idmap config * : แบ็กเอนด์ = อินเทอร์เฟซ tdb = bge0 ความคิดเห็น = เส้นทางพื้นที่ไฟล์ชั่วคราว = /tmp อ่านอย่างเดียว = ไม่สร้างมาสก์ = 0666 สร้างโหมด = 666 โหมดไดเร็กทอรี = 666 ไดเร็กทอรีมาสก์ = 0777 แขกตกลง = ใช่ ความคิดเห็น = แบ่งปันเส้นทางไดเร็กทอรี = /home/share เขียน รายการ = "@DOMAIN.RU\Domain Admins", "@DOMAIN.RU\Domain Users" อ่านอย่างเดียว = ไม่มีโหมดสร้าง = 660 โหมดไดเรกทอรี = 660 สร้างหน้ากาก = 0660 หน้ากากไดเรกทอรี = 0770
แท็ก:
- ฟรีบีเอสดี
- แซมบ้า
- ไดเรกทอรีที่ใช้งานอยู่
ในที่สุดฉันก็มีเวลาคิดหา FreeBSD ตอนนี้มาเพิ่มเซิร์ฟเวอร์ภายใต้ FreeBSD และกำหนดค่ากันอย่างรวดเร็ว บริการที่จำเป็น- นี่จะไม่ใช่คำแนะนำสำหรับผู้เริ่มต้น ฉันจะไม่อธิบายวัตถุประสงค์ของคำสั่งและพารามิเตอร์ - เฉพาะข้อมูลว่า "เป็นอย่างไร"
บทความนี้จะอธิบายกระบวนการติดตั้งและกำหนดค่าเครือข่าย เพื่อไม่ให้ยุ่งกับข้อความจำนวนมาก ฉันจะอธิบายสิ่งที่เรียกว่า "การตั้งค่า" แยกกัน ฉันตรวจสอบทุกอย่างแล้ว โฮมเซิร์ฟเวอร์และมันก็ได้ผล ในอนาคต เราจะยกระดับบริการของเซิร์ฟเวอร์ของเรา: gate&proxy, เมล, เว็บ, IP-PBX ฯลฯ
ทำไมต้องใช้ FreeBSD?
ฉันจะไม่โต้แย้งและพิสูจน์ว่าทำไม FreeBSD ไม่ใช่ Linux และไม่ใช่ Windows - สำหรับตัวเขาเอง ยิ่งกว่านั้นผู้ที่อ่านข้อความนี้ได้ตัดสินใจเลือกแล้ว สิ่งเดียวที่ฉันอยากจะพูดเกี่ยวกับเรื่องนี้ก็คือเหตุผลที่ฉันเลือก FreeBSD สำหรับตัวเอง ฉันเป็นผู้ดูแลระบบสำนักงานในโลกของซอฟต์แวร์ที่เป็นกรรมสิทธิ์ (แน่นอนว่าใช้งานไม่ได้) แต่เนื่องจากฉันเรียนรู้และพัฒนาอยู่เสมอ ฉันจึงตัดสินใจเลือกศึกษาระบบที่คล้ายกับ UNIX ทั้งฟรีและดูเหมือนว่าเจ๋งสำหรับฉัน - ท้ายที่สุดแล้วแม้แต่เด็กนักเรียนก็สามารถเข้าใจ Windows ได้ (ในระดับต่ำที่ฉันมีในขณะนั้น) ฉันเลือก FreeBSD บน Linux เนื่องจากมี Linux จำนวนมาก และฉันไม่สามารถทราบวิธีเลือกการแจกจ่ายเฉพาะได้ ยิ่งไปกว่านั้น การทำความเข้าใจหนึ่งในลีนุกซ์รุ่นใดรุ่นหนึ่งไม่ได้หมายความว่าคุณสามารถเข้าใจรุ่นอื่นได้สำเร็จ และ FreeBSD เป็นเพียงคนเดียว!
การติดตั้ง FreeBSD
ฉันไม่เห็นประเด็นในการอธิบายการติดตั้งโดยละเอียด ไม่มีอะไรซับซ้อนที่นั่น ลำดับคือ:
- ดาวน์โหลด Disc1 จากปิด เว็บไซต์ (ไม่จำเป็นต้องรวบรวมดิสก์หรือดีวีดีทั้งหมด ควรรวบรวมซอฟต์แวร์จากพอร์ต)
- บูตจากมัน
- แน่นอนว่าวิธีการติดตั้งที่เราเลือกนั้นกำหนดเอง
- เราจะไม่เปลี่ยนแปลงอะไรในตัวเลือก
- ในพาร์ติชันเราสร้างพาร์ติชัน ("C", "Q", Standard - ถ้ามันจะเป็น AXIS เดียว)
- ใน Label เราสร้างจุดเชื่อมต่อ:
- ในการแจกแจง - เลือกแบบกำหนดเอง:
- เริ่มการติดตั้ง
- หลังการติดตั้งคุณสามารถกำหนดค่า (ชื่อ, ip) แต่เราเป็นคนรักคอนโซล...
การตั้งค่าเครือข่ายบน FreeBSD
หลังจากรีบูตให้เข้าสู่ระบบในฐานะรูทและทำการตั้งค่าเครือข่ายขั้นต่ำแล้วเปิด sshd (การนั่งที่คอนโซลไม่สะดวกเสมอไป)
หากตั้งค่าเครือข่าย (ใช้ ifconfig ให้ดูที่ชื่อ อะแดปเตอร์เครือข่าย) แบบคงที่ จากนั้นเราจะดำเนินการ:
เสียงสะท้อน "ชื่อโฮสต์ = "rublin"" >> /etc/rc.conf echo "ifconfig_de0_name = "net0"" >> /etc/rc.conf echo "# ifconfig_net0 = "DHCP"" >> /etc/rc.conf echo "ifconfig_net0="inet 192.168.67.99 netmask 255.255.252.0"" >> /etc/rc.conf echo "defaultrouter="192.168.67.100"" >> /etc/rc.conf
เสียงสะท้อน "ชื่อโฮสต์="rublin"" >> /etc/rc.conf echo "ifconfig_de0_name="net0"" >> /etc/rc.conf echo "ifconfig_net0="DHCP"" >> /etc/rc.conf echo " # ifconfig_net0="inet 192.168.67.99 netmask 255.255.252.0"" >> /etc/rc.conf echo "# defaultrouter="192.168.67.100"" >> /etc/rc.conf
ในส่วนต่างๆ เราพิจารณาการติดตั้งและการกำหนดค่าของห้องผ่าตัด ระบบฟรีบีเอสดี 10.1 เพื่อปรับใช้บล็อก WordPress กับมัน ตอนนี้เราจำเป็นต้องติดตั้งและกำหนดค่า ซอฟต์แวร์จำเป็นสำหรับเรา เว็บเซิร์ฟเวอร์ก.
ฉันจะพิจารณาสิ่งที่ง่ายที่สุดและ ตัวเลือกที่รวดเร็วการตั้งค่าโดยมีการเบี่ยงเบนเล็กน้อยจากค่าเริ่มต้นเพื่อความสะดวกของเรา อาจมีคำถามและความแตกต่างเกิดขึ้นในแต่ละประเด็น ฉันจะไม่พูดถึงเรื่องทั้งหมดนี้ในบทความนี้
การติดตั้งเซิร์ฟเวอร์ ftp vsftpd
มาเริ่มการตั้งค่าของเราด้วย การติดตั้ง ftp เซิร์ฟเวอร์ vsftpd- สำหรับการอนุญาตเราจะใช้บัญชีระบบ การเข้าถึงแบบไม่ระบุชื่อมาปิดกันเถอะ
ก่อนอื่น มาอัพเดตพอร์ตกันก่อน:
# อัปเดตการดึงข้อมูล portsnap
หลังจากการอัพเดต ให้ติดตั้งเซิร์ฟเวอร์:
# cd /usr/ports/ftp/vsftpd # ทำให้การติดตั้งสะอาด
เราปล่อยให้ส่วนประกอบเป็นค่าเริ่มต้น เพิ่มการโหลด vsftpd ไปที่ /etc/ rc.conf:
# echo "vsftpd_enable="ใช่"" >> /etc/rc.conf
แก้ไขการกำหนดค่า /usr/local/etc/ vsftpd.conf
Anonymous_enable=NO local_enable=ใช่ write_enable=ใช่ local_umask=022 dirmessage_enable=ใช่ xferlog_enable=ใช่ Connect_from_port_20=ใช่ xferlog_file=/var/log/vsftpd.log Listen=ใช่ พื้นหลัง=ใช่ Secure_chroot_dir=/usr/local/share/vsftpd/empty
มาเริ่มเซิร์ฟเวอร์กันเถอะ:
# /usr/local/etc/rc.d/vsftpd เริ่มต้น
ตรวจสอบว่า daemon เริ่มต้นแล้วหรือไม่:
#sockstat | เกรป 21
คุณควรเห็นสิ่งที่คล้ายกันในการตอบสนอง:
รูต vsftpd 4793 3 tcp4 *:21 *:*
ซึ่งหมายความว่าเซิร์ฟเวอร์ได้เริ่มทำงานแล้วและกำลังรอรับการเชื่อมต่อขาเข้าที่พอร์ต 21 กับ การตั้งค่าปัจจุบันคุณสามารถเข้าสู่ระบบได้ บัญชีรูทและนำทางเซิร์ฟเวอร์ทั้งหมด สิ่งนี้ไม่ปลอดภัยอย่างยิ่ง ฉันขอแนะนำให้คุณระมัดระวังเกี่ยวกับความเป็นไปได้เหล่านี้ ฉันขอแนะนำให้คุณทำความคุ้นเคยกับการตั้งค่าเซิร์ฟเวอร์โดยละเอียดมากขึ้น โปรดใส่ใจกับคำสั่ง userlist_enable, userlist_file, chroot_local_uses, chroot_list_enable, chroot_list_file คุณสามารถจำกัดการเข้าถึงเซิร์ฟเวอร์และการเคลื่อนไหวของผู้ใช้ผ่านโฟลเดอร์ได้เมื่อใช้สิ่งเหล่านี้ โดยทั่วไป vsftpd มีการตั้งค่าและความสามารถมากมาย มีบทความบนอินเทอร์เน็ตในหัวข้อที่คล้ายกันเพียงพอ คุณสามารถจัดเก็บฐานข้อมูลผู้ใช้เซิร์ฟเวอร์ใน mysql ได้อย่างง่ายดาย โดยสรุป ฉันแนะนำให้จำกัดการเข้าถึง ftp ผ่านไฟร์วอลล์
การติดตั้งและกำหนดค่า Mysql
# cd /usr/ports/databases/mysql55-server # ทำให้การติดตั้งสะอาด
ปล่อยให้การตั้งค่าเป็นค่าเริ่มต้น
เซิร์ฟเวอร์ดึงเพียงพอ จำนวนมากการพึ่งพาอาศัยกัน การติดตั้งช้าลงอย่างต่อเนื่องและหน้าต่างจะปรากฏขึ้นพร้อมกับการตั้งค่าของการขึ้นต่อกันครั้งถัดไป เพื่อไม่ให้เสียสมาธิและไม่ทำให้กระบวนการช้าลง ฉันแนะนำให้ป้อนคำสั่งก่อนคำสั่ง make install clean:
# ทำการกำหนดค่าแบบเรียกซ้ำ
มันจะตรวจสอบการขึ้นต่อกันทั้งหมดและแสดงการตั้งค่าของการขึ้นต่อกันเหล่านี้ทันที จากนั้นจะไม่มีการหยุดชะงักระหว่างกระบวนการประกอบบรรจุภัณฑ์อีกต่อไป
หลังจากการติดตั้งเสร็จสิ้น ให้เพิ่มการเริ่มต้นเซิร์ฟเวอร์ไปที่ rc.conf:
# echo "mysql_enable="YES"" >> /etc/rc.conf # echo "mysql_dbdir="/web/mysql"" >> /etc/rc.conf
เราสร้าง โฟลเดอร์ที่จำเป็นและกำหนดสิทธิ์:
# mkdir /เว็บ && cd /เว็บ && mkdir mysql && chown mysql:mysql mysql/
สร้างไฟล์การกำหนดค่า:
# touch /web/mysql/my.cnf # chown mysql:mysql /web/mysql/my.cnf
เราเขียนเนื้อหาต่อไปนี้ลงในไฟล์การตั้งค่า:
พอร์ต = 3306 socket = /tmp/mysql.sock port = 3306 bind-address = 127.0.0.1 socket = /tmp/mysql.sock ข้ามการล็อคภายนอก key_buffer_size = 256M max_allowed_packet = 1M table_open_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M อ่าน _rnd_buffer_size = 4M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size= 16M thread_concurrency = 8 #log=/var/log/mysql.log # บันทึกของการสืบค้น SQL ทั้งหมด #log-bin=/var/log/mysql-bin.log # บันทึกไบนารี ของการสืบค้น SQL ทั้งหมด log-error=/var/log/mysql-err.log # บันทึกข้อผิดพลาดใน MySQL DBMS daemon #log-slow-queries=/var/log/mysql.slow # บันทึกการสืบค้น SQL ที่ช้าทั้งหมด # log- bin=mysql-bin #log=/var/log/mysql.log #binlog_format=mixed server-id = 1 ด่วน max_allowed_packet = 16M no-auto-rehash key_buffer_size = 128M sort_buffer_size = 128M read_buffer = 2M write_buffer = 2M แบบโต้ตอบ- หมดเวลา
เรารวมบรรทัดที่มีข้อคิดเห็นไว้ตามดุลยพินิจของเราในระหว่างกระบวนการแก้ไขจุดบกพร่อง หากเปิดใช้งานบันทึกทั้งหมด แบบสอบถาม SQLจากนั้นคุณต้องจำไว้ว่าต้องตั้งค่าการหมุนเวียนบันทึก ไฟล์จะขยายอย่างรวดเร็ว คุณสามารถลืมและพลาดช่วงเวลาที่ไฟล์กินพื้นที่ว่างทั้งหมดได้
คุณต้องสร้างไฟล์บันทึกด้วยตนเองและตั้งค่าการอนุญาต ผู้ใช้ mysql- หากไม่ดำเนินการนี้ เซิร์ฟเวอร์จะไม่เริ่มทำงาน และสิ่งที่ไม่พึงประสงค์ที่สุดคือจะไม่มีข้อความในไฟล์บันทึก พวกเขาจะถูกสร้างขึ้นด้วยสิทธิ์ root:wheel และเซิร์ฟเวอร์จะไม่สามารถเขียนอะไรที่นั่นได้ ดังนั้นเราจึงสร้างไฟล์ด้วยตัวเอง:
# touch /var/log/mysql-err.log # chown mysql:mysql /var/log/mysql-err.log
และเริ่มเซิร์ฟเวอร์:
# /usr/local/etc/rc.d/mysql-server เริ่มต้น
ตรวจสอบว่าทุกอย่างเริ่มต้นตามที่ควรจะเป็นหรือไม่:
#ปล. axw | grep mysql
หากทุกอย่างเรียบร้อยดี คุณจะเห็นสิ่งที่คล้ายกันนี้:
52490 - คือ 0:00.02 /bin/sh /usr/local/bin/mysqld_safe --defaults-extra-file=/web/mysql/my.cnf --user=mysql --datadir=/web/mysql --pid -file=/web/mysql/websrv.local.pid 52784 - ฉัน 0:00.17 /usr/local/libexec/mysqld --defaults-extra-file=/web/mysql/my.cnf --basedir=/usr/ ท้องถิ่น --datadir=/web/mysql --plugin-dir=/usr/local/lib/mysql/plugin --user=mysql --log-err 52802 1 S+ 0:00.00 grep mysql
# /usr/local/bin/mysql_secure_installation
ตั้งรหัสผ่าน ผู้ใช้รูท mysql. โปรดทราบว่านี่ไม่ใช่ รูทของระบบ- mysql มีผู้ใช้ของตัวเอง เราตอบคำถามที่เหลือในเชิงบวก โดยหลักการแล้ว มีการอธิบายทุกอย่างไว้อย่างชัดเจน ไม่มีอะไรซับซ้อน ฐานข้อมูลทดสอบถูกลบแล้ว ห้ามผู้ใช้ทดสอบ การเข้าถึงระยะไกลไปยังเซิร์ฟเวอร์
ติดตั้งและกำหนดค่า apache24
ติดตั้งเว็บโดยตรง เซิร์ฟเวอร์อาปาเช่:
# cd /usr/ports/www/apache24 # ทำให้ config-recursive
ปล่อยให้การตั้งค่าทั้งหมดเป็นค่าเริ่มต้น มาเริ่มการติดตั้งกันดีกว่า:
#ทำให้การติดตั้งสะอาด
เพิ่ม apache ให้กับ atomload:
# echo "apache24_enable="ใช่"" >> /etc/rc.conf
ตอนนี้เรามาสร้างโฮสต์เสมือน 2 แห่งกันดีกว่า อันแรกจะมี phpmyadmin ส่วนอันที่สองจะเป็นที่ตั้งของเว็บไซต์ของเรา ในกรณีนี้คือ WordPress อย่าลืมกำหนดค่าโฮสต์เหล่านี้ใน DNS ยกเลิกการแสดงความคิดเห็นบรรทัดใน config /usr/local/etc/apache24/ httpd.conf
รวม etc/apache24/extra/httpd-vhosts.conf
ฉันใช้โดเมนทดสอบ websrv.local โดยทั่วไป นี่ควรเป็นโดเมนของเว็บไซต์ของคุณ เช่น myblog.ru สำหรับ phpmyadmin ฉันใช้โดเมนย่อยที่มีการสุ่มชื่อที่ไม่เป็นที่นิยมเพื่อป้องกันไม่ให้ใครก็ตามที่ไม่ควรไปที่นั่น
ฉันดึงความสนใจของคุณไปที่พารามิเตอร์ จำเป็นต้องได้รับทั้งหมด- ฉันไม่ได้ระบุไว้ในเซิร์ฟเวอร์ก่อนหน้านี้ ครั้งนี้เมื่อติดต่อมา. โดเมนเสมือนฉันได้รับข้อผิดพลาดในบันทึก:
AH01630: ไคลเอ็นต์ถูกปฏิเสธโดยการกำหนดค่าเซิร์ฟเวอร์
เป็นไปได้มากว่านี่คือฟีเจอร์ของ apache24 ก่อนหน้านั้นฉันใช้เวอร์ชันก่อนหน้า
ฉันวางเว็บไซต์ไว้ในไดเร็กทอรี /web/sites สำหรับแต่ละโดเมน โฟลเดอร์แยกต่างหาก- เพื่อปรับปรุงความปลอดภัย คุณสามารถกำหนดค่าได้ ผู้ใช้แต่ละรายสำหรับแต่ละโดเมนย่อย ให้ทำ ผู้ใช้เอฟทีพี, การเข้าถึงบันทึกและอื่นๆ ในบทความนี้ ฉันจะไม่พูดถึงปัญหานี้ เราจะมีหนึ่งไซต์และผู้ใช้หนึ่งราย สร้างโฟลเดอร์ที่จำเป็น:
# mkdir /web/sites # mkdir /web/sites/websrv.local && mkdir /web/sites/pma53.websrv.local # cd /web/sites/websrv.local && mkdir บันทึก tmp www # cd /web/sites/ pma53.websrv.local && mkdir บันทึก tmp www # chown -R www:www /web/sites
แค่นั้นแหละสำหรับตอนนี้ การตั้งค่าอาปาเช่เราจะทำให้มันเสร็จ เราจะกลับมาทีหลังเมื่อเราติดตั้งส่วนประกอบที่เหลือ เราจะไม่เปิดตัว มันจะไม่เริ่ม และจะทำให้เกิดข้อผิดพลาด
ติดตั้ง php และ phpextensions
# cd /usr/ports/lang/php5 # ทำให้ config-recursive # ทำให้การติดตั้งสะอาด
หลังการติดตั้ง ให้สร้างไฟล์คอนฟิกูเรชัน:
# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
ติดตั้งส่วนขยาย:
# cd /usr/ports/lang/php5-extensions # ทำให้ config-recursive
นอกเหนือจากการตั้งค่าเริ่มต้นแล้ว อย่าลืมเพิ่ม CURL, DOM, POSIX, FTP, GD, HASH, ICONV, XML, JSON, MBSTRING, MYSQL, MYSQLI, OPENSSL, SOCKETS, TOKENIZER, XMLREADER, ZLIB, EXIF, GETTEXT,
#ทำให้การติดตั้งสะอาด
ตอนนี้ขอใส่ โมดูล PHPสำหรับอาปาเช่ ด้วยเหตุผลบางประการ ตอนนี้จึงกลายเป็นท่าเรือที่แยกจากกัน ฉันใช้เวลาสักพักกว่าจะรู้ว่าโมดูลซึ่งติดตั้งด้วยพอร์ต php อยู่เสมอไปอยู่ที่ใด โดยทั่วไป เราตั้งค่าแยกกัน:
# cd /usr/ports/www/mod_php5 # ทำให้การติดตั้งสะอาด
เพื่อให้ apache ประมวลผลได้อย่างถูกต้อง ไฟล์ .phpที่จำเป็นในการกำหนดค่า httpd.confเพิ่มบรรทัดต่อไปนี้:
ตอนนี้เราสามารถเริ่ม apache และตรวจสอบว่าทุกอย่างโอเคหรือไม่ ขั้นแรก เรามาตรวจสอบว่าเรามีข้อผิดพลาดในการกำหนดค่าหรือไม่:
# apachectl -t AH00526: ข้อผิดพลาดทางไวยากรณ์ในบรรทัด 15 ของ /usr/local/etc/apache24/extra/httpd-vhosts.conf: คำสั่งไม่ถูกต้อง "RewriteEngine" อาจสะกดผิดหรือกำหนดโดยโมดูลที่ไม่รวมอยู่ในการกำหนดค่าเซิร์ฟเวอร์
เรามีข้อผิดพลาด: ไม่ได้เชื่อมต่อโมดูล mod_rewrite หากต้องการแก้ไขปัญหานี้ ให้ยกเลิกการใส่เครื่องหมายข้อคิดเห็นบรรทัดในการกำหนดค่า Apache
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
มาตรวจสอบอีกครั้ง:
# apachectl -t AH00557: httpd: apr_sockaddr_info_get() ล้มเหลวสำหรับ websrv.local AH00558: httpd: ไม่สามารถระบุเซิร์ฟเวอร์ที่มีคุณสมบัติครบถ้วนได้อย่างน่าเชื่อถือ ชื่อโดเมนโดยใช้ 127.0.0.1 ตั้งค่าคำสั่ง "ServerName" ทั่วโลกเพื่อระงับข้อความนี้ไวยากรณ์ตกลง
มีข้อผิดพลาดอีกครั้ง แต่ไม่ร้ายแรง คุณสามารถแก้ไขได้ แต่เราจะแก้ไขต่อไป ในไฟล์ httpd.conf เราค้นหาบรรทัดที่มีค่า ServerName และนำมาในรูปแบบ:
ชื่อเซิร์ฟเวอร์ websrv.local:80
บันทึกไฟล์และตรวจสอบการกำหนดค่า:
# apachectl -t ไวยากรณ์ตกลง
ทุกอย่างเรียบร้อยดี คุณสามารถเริ่ม apache ได้:
# /usr/local/etc/rc.d/apache24 เริ่มต้น
ตรวจสอบว่าทุกอย่างเริ่มต้นแล้วหรือไม่:
#ปล.ขวาน | grep httpd 60555 - Ss 0:00.06 /usr/local/sbin/httpd -DNOHTTPACCEPT 60556 - I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT 60557 - I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT 60558 - ฉัน 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT 60559 - ฉัน 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT 60560 - ฉัน 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT
หากคุณได้รับสิ่งนี้ทุกอย่างก็ดี ตอนนี้คุณสามารถพิมพ์ http://ip-server/ ในเบราว์เซอร์ของคุณและดูหน้าเว็บที่มีคำจารึกเดียว:
มันได้ผล!
ซึ่งหมายความว่าเว็บเซิร์ฟเวอร์ apache กำลังทำงานอยู่และทุกอย่างเรียบร้อยดี
การตั้งค่าเซิร์ฟเวอร์ส่วนหน้า nginx
ตอนนี้เราจะกำหนดค่าส่วนหน้าของเรา - nginx มันจะดูอินเทอร์เน็ตและรับคำขอจากผู้ใช้ จากนั้นเปลี่ยนเส้นทางไปยัง apache ไปที่พอร์ตและติดตั้ง nginx:
# cd /usr/ports/www/nginx-devel # ทำให้การติดตั้งสะอาด
เลือกตัวเลือก:
[X] HTTP_MODULE เปิดใช้งานโมดูล HTTP [X] HTTP_ADDITION_MODULE เปิดใช้งานโมดูล http_addition [X] HTTP_DAV_MODULE เปิดใช้งานโมดูล http_webdav [X] HTTP_FLV_MODULE เปิดใช้งานโมดูล http_flv [X] HTTP_PERL_MODULE เปิดใช้งานโมดูล http_perl [X] HTTP_REALIP_MODULE เปิดใช้งานโมดูล http_realip [X] HTTP_REWRITE_MODULE เปิดใช้งานโมดูล http_rewrite[ X] HTTP_SSL_MODULE เปิดใช้งานโมดูล http_ssl [X] HTTP_STATUS_MODULE เปิดใช้งานโมดูล http_stub_status [X] HTTP_SUB_MODULE เปิดใช้งานโมดูล http_sub [X] WWW เปิดใช้งานไฟล์ตัวอย่าง html
มาเพิ่ม nginx ในการเริ่มต้น:
# echo "nginx_enable="ใช่"" >> /etc/rc.conf
แก้ไขการกำหนดค่า nginx /usr/local/etc/nginx/ nginx.confเรานำมาไว้ในรูปแบบดังนี้:
ผู้ปฏิบัติงาน_กระบวนการ 1; pid /var/run/nginx.pid; เหตุการณ์ ( worker_connections 1024; ) http ( รวม mime.types; default_type application/octet-stream; log_format main "$remote_addr - $remote_user [$time_local] "$request" " "$status $body_bytes_sent "$http_referer" " ""$ http_user_agent" "$http_x_forwarded_for""; sendfile บน; keepalive_timeout 65; เซิร์ฟเวอร์ ( ฟัง 145.152.71.220:80; server_name localhost; location / ( proxy_pass http://127.0.0.1; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded) -สำหรับ $remote_addr; proxy_send_timeout 90; proxy_buffer_size 4k; proxy_busy_buffers_size 64k;
ฟัง 145.152.71.220:80;
ระบุที่อยู่ IP ภายนอกของคุณ กำลังตรวจสอบการตั้งค่า nginx:
#nginx -t
หากคุณเห็น:
งิงซ์: การกำหนดค่าไฟล์ /usr/local/etc/nginx/nginx.conf ไวยากรณ์ก็โอเค nginx: ไฟล์การกำหนดค่า /usr/local/etc/nginx/nginx.conf การทดสอบสำเร็จ
มันหมายความว่าทุกอย่างเรียบร้อยดี
ตอนนี้คุณต้องเปลี่ยนการกำหนดค่า apache เพื่อให้สามารถฟังเฉพาะอินเทอร์เฟซภายในเครื่อง 127.0.0.1 และคำขอภายนอกทั้งหมดได้รับการยอมรับโดย nginx และเปลี่ยนเส้นทางไปยัง apache เปลี่ยนบรรทัดด้วยพารามิเตอร์ Listen ใน /usr/local/etc/apache24/httpd.conf ให้มีลักษณะดังนี้:
ฟัง 127.0.0.1:80
รีสตาร์ทอาปาเช่:
# /usr/local/etc/rc.d/apache24 รีสตาร์ท
เปิดตัว nginx:
# /usr/local/etc/rc.d/nginx เริ่มต้น
เว็บเซิร์ฟเวอร์ของเราพร้อมแล้ว ตอนนี้เรามาตรวจสอบการทำงานของมันกันดีกว่า มาสร้างไฟล์ index.php โดยมีเนื้อหาอยู่ในโฟลเดอร์ /web/sites/websrv.local/www
ไปที่เบราว์เซอร์ที่ http://websrb.local
หากพบเห็นข้อมูลเกี่ยวกับ เวอร์ชัน phpและโมดูลของมัน หมายความว่าทุกอย่างได้รับการกำหนดค่าและทำงานได้
การติดตั้ง phpmyadmin บนโฮสต์เสมือน
ขั้นตอนสุดท้ายที่เหลืออยู่ในธุรกิจของเราคือการติดตั้ง phpmyadmin โดยหลักการแล้ว สามารถติดตั้ง WordPress ได้แล้ว แต่หากไม่มีเครื่องมือที่สะดวกสำหรับการทำงานกับ mySQL ก็อาจเป็นเรื่องที่น่าอึดอัดใจ มันจะยังคงมีประโยชน์ในอนาคต ดังนั้นเราจึงติดตั้งจากพอร์ต:
# cd /usr/ports/databases/phpmyadmin # ทำให้การติดตั้งสะอาด
ตามค่าเริ่มต้น phpmyadmin จะถูกติดตั้งในโฟลเดอร์ /usr/local/www/phpMyAdmin แต่เนื่องจากเราสร้างโฟลเดอร์แยกต่างหากไว้สำหรับมัน โฮสต์เสมือนจากนั้นเราจะถ่ายโอนเนื้อหาทั้งหมดของโฟลเดอร์ไปที่นั่น:
# mv /usr/local/www/phpMyAdmin/* /web/sites/pma53.websrv.local/www/ # chown -R www:www /web/sites/pma53.websrv.local/www/
สร้างโฟลเดอร์สำหรับการกำหนดค่า:
# mkdir /web/sites/pma53.websrv.local/www/config # chmod 0750 /web/sites/pma53.websrv.local/www/config && chown www:www /web/sites/pma53.websrv.local/www /กำหนดค่า
จากนั้นไปที่ http://pma53.websrv.local/setup/ คลิก “เซิร์ฟเวอร์ใหม่” และกำหนดค่า ฉันจะไม่พูดถึงรายละเอียดนี้ทุกอย่างอธิบายได้ง่ายและซ้ำ ๆ บนอินเทอร์เน็ต เลือกค่าตัวติดตั้งเริ่มต้นทั้งหมด
นั่นคือทั้งหมดที่ เว็บเซิร์ฟเวอร์ของเราพร้อมแล้ว เราอัปโหลดสคริปต์ไซต์ไปที่ /web/sites/websrv.local/www และใช้งาน
ในบทความนี้ ผมจะอธิบายการสร้างไฟล์เซิร์ฟเวอร์ด้วย FreeBSD 9.2 (Samba-3.6) ที่ติดตั้งโดยได้รับอนุญาตในโดเมน Windows 2003
เมื่อฉันตั้งค่าไฟล์เซิร์ฟเวอร์บน FreeBSD เป็นครั้งแรก ฉันพบปัญหามากมาย วิธีแก้ปัญหาที่ต้องค้นหาเป็นเวลานานในไซต์และฟอรัมที่มีเนื้อหาเฉพาะเรื่อง ดังนั้น เราจะอธิบายปัญหาทั่วไปและแนวทางแก้ไขไว้ที่นี่ในแต่ละขั้นตอน ฉันคิดว่าบทความนี้จะช่วยให้หลาย ๆ คนแก้ไขปัญหาบางอย่างได้
เริ่มจากข้อมูลเบื้องต้นกันก่อน:
- ชื่อโดเมน: domain.ru;
- ชื่อโฮสต์: msrv-file.domain.ru;
- IP โฮสต์: 10.1.1.6;
- ชื่อ PDC (หรือที่เรียกว่า DNS/AD/DHCP/NTP): msrv-dc1.domain.ru;
- IP PDC: 10.1.1.10;
- ว่างเปล่าด้วย FreeBSD 9.2-i386-bootonly;
- จำเป็นต้องมีการเข้าถึงอินเทอร์เน็ต
- ไม่จำเป็นต้องประทับตรา
ฉันจะสังเกตความแตกต่างเล็กน้อย:
- 1. ในระหว่างการติดตั้งระบบปฏิบัติการ เมื่อตั้งค่าอินเทอร์เฟซเครือข่าย ฉันจงใจเลือก DHCP ซึ่งได้ทำการจอง IP บนเซิร์ฟเวอร์ DHCP ผ่านทาง MAC คุณสามารถค้นหาที่อยู่ MAC ของอินเทอร์เฟซได้โดยใช้ยูทิลิตี้ dmesg
- 2. เพื่อการแก้ปัญหาที่ถูกต้อง ฉันได้ทำการจับคู่ในเซิร์ฟเวอร์ DNS กับไฟล์เซิร์ฟเวอร์ และบนไฟล์เซิร์ฟเวอร์เอง ฉันได้เพิ่มบรรทัดต่อไปนี้ในไฟล์ /etc/hosts:
10.1.1.10 msrv-dc1.domain.ru 10.1.1.6 msrv-file.domain.ru
- 3. หลังการติดตั้ง เราต้องตรวจสอบเวลาด้วย PDC (แน่นอนว่าต้องเป็น NTP) หากเวลาต่างกันมากกว่า 5 นาที ไฟล์เซิร์ฟเวอร์จะสูญเสียโดเมน
มาตรวจสอบกับทีมงานกัน:#ntpdate 10.1.1.10
มาดูการติดตั้ง Samba กันดีกว่า (ข้อผิดพลาดแรกของฉันคือการติดตั้งพอร์ต Heimdal ซึ่งปรากฎว่าไม่จำเป็นต้องติดตั้งเลย):
#cd /usr/ports/net/samba36 #make ติดตั้งใหม่ทั้งหมด && ทำใหม่
ฉันติดตั้งด้วยพารามิเตอร์ต่อไปนี้:
[X] LDAP พร้อมรองรับ LDAP [X] โฆษณาพร้อมรองรับ Active Directory [X] WINBIND พร้อมรองรับ WinBIND [X] ACL_SUPPORT พร้อมรองรับ ACL [X] SYSLOG พร้อมรองรับ Syslog [X] QUOTAS พร้อมรองรับโควต้าดิสก์ [X] POPT พร้อมระบบ ห้องสมุด POPT -wide
โปรแกรมติดตั้งจะติดตั้งแพ็คเกจที่จำเป็นทั้งหมดโดยอัตโนมัติตามการขึ้นต่อกัน ในระหว่างการติดตั้งแพ็คเกจเพิ่มเติมแต่ละแพ็คเกจ ระบบจะถามตัวเลือกการติดตั้งบ่อยครั้ง ฉันทิ้งทุกอย่างไว้เป็นค่าเริ่มต้น ฉันเพิ่งปิดการใช้งานการสนับสนุนโปรโตคอล IPv6 เพราะ... เราไม่ต้องการเขา
จากนั้นกรอกการกำหนดค่าที่อยู่ท้ายบทความ โปรดทราบว่าจำเป็นต้องกรอกตัวอักษร หากคุณใช้ Putty คุณสามารถคัดลอกและวางได้โดยตรงจากการกำหนดค่าที่ฉันแนบ
smb.conf ควรอยู่ใน /usr/local/etc/ การกำหนดค่าที่เหลืออยู่ใน /etc
หากไม่มีไฟล์อยู่เนื่องจากความเข้าใจผิด เราจะสร้างมันขึ้นมาด้วยคำสั่งง่ายๆ แล้วกรอกลงในนั้นทันที:
#ee /usr/local/etc/smb.conf
หรือตัวอย่างเช่น:
#ee /etc/krb5.conf
คุณสามารถตรวจสอบการกำหนดค่า samba ได้โดยใช้ยูทิลิตี้ testparm ซึ่งจะระบุรายการที่ไม่ถูกต้อง ขอย้ำอีกครั้งว่ารายการที่ไม่ถูกต้องก็ไม่ได้ไม่ถูกต้องเสมอไป ที่นี่คุณจำเป็นต้องรู้รายละเอียดปลีกย่อย
หลังจากกรอกการกำหนดค่าแล้ว ให้เริ่มบริการ samba:
# /usr/local/etc/rc.d/samba.sh เริ่มต้น
หรือง่ายกว่า:
#บริการแซมบ้าเริ่มต้นแล้ว
คำตอบที่ดีจะเป็น:
การเริ่มต้น SAMBA: การลบ tdbs เก่าออก: การเริ่มต้น nmbd กำลังเริ่ม smbd. กำลังเริ่ม winbindd
หลังจากการเปลี่ยนแปลงการกำหนดค่า samba คุณต้องรีสตาร์ท
#service samba เริ่มต้นใหม่
ดังนั้น เมื่อติดตั้งระบบแล้ว คอมไพล์ซอฟต์แวร์ กำหนดค่าต่างๆ เรียบร้อยแล้ว ถึงเวลาเข้าเครื่องเข้าสู่โดเมนแล้ว
เราได้รับตั๋ว:
# kinit -p dl_admin // โดยที่ dl_admin เป็นผู้ดูแลโดเมน [ป้องกันอีเมล]รหัสผ่าน: // ระบบจะถามรหัสผ่านของผู้ดูแลระบบโดเมน # klist // ตรวจสอบแคชข้อมูลรับรองตั๋วที่ได้รับ: FILE:/tmp/krb5cc_0 // การตอบสนองควรเป็นดังนี้อาจารย์ใหญ่: [ป้องกันอีเมล]ออกหมดอายุ Principal Oct 05 10:37:52 Oct 05 17:17:52 krbtgt/ [ป้องกันอีเมล]
เราเข้าสู่ samba และเซิร์ฟเวอร์ตามลำดับใน Active Directory:
# โฆษณา net เข้าร่วม -U dl_admin dl_admin"s รหัสผ่าน: เข้าร่วม "MSRV-FILE" ไปยังขอบเขต "DOMAIN.RU"
เราตรวจสอบ:
# wbinfo -p Ping ไปที่ winbindd สำเร็จใน fd 4
# wbinfo -t ตรวจสอบความลับที่เชื่อถือได้ผ่านการเรียก RPC สำเร็จ
# wbinfo -g ส่งคืนรายการกลุ่มผู้ใช้
# wbinfo -u ส่งคืนรายชื่อผู้ใช้
# id dl_admin ส่งคืน ID ผู้ใช้
ที่จริงแล้วเราสามารถจบที่นี่ได้ แต่เพื่อหลีกเลี่ยงปัญหาในการเขียนไปยังไดเร็กทอรีที่แชร์ ฉันแนะนำให้กำหนดผู้ดูแลระบบโดเมนเป็นเจ้าของไดเร็กทอรีที่แชร์โดยระบุกลุ่มผู้ใช้:
# chown -R dl_admin: "ผู้ใช้โดเมน" /home/share # chmod -R 770 /home/share
เอกสารแนบ:
krb5.conf
ค่าเริ่มต้น = FILE:/var/log/kerberos/krb5libs.log kdc = FILE:/var/log/kerberos/krb5kdc.log admin_server = FILE:/var/log/kerberos/kadmin.log ticket_lifetime = 24000 default_realm = DOMAIN.RU dns_lookup_realm = false dns_lookup_kdc = false kdc_req_checksum_type = 2 checksum_type = 2 ccache_type = 1 ส่งต่อได้ = true proxiable = clockskew จริง = 300 v4_instance_resolve = false v4_name_convert = ( โฮสต์ = ( rcmd = โฮสต์ ftp = ftp ) ธรรมดา = (บางสิ่งบางอย่าง = อย่างอื่น ) ) DOMAIN.RU = ( kdc = tcp/10.1.1.10:88 admin_server = tcp/10.1.1.10:749 default_domain = DOMAIN.RU ) .domain.ru = DOMAIN.RU domain.ru = DOMAIN.RU debug = false ticket_lifetime = 36000 renew_lifetime = 36000 ส่งต่อได้ = true krb4_convert = false krb4_convert = false krb4_get_tickets = false
nsswitch.conf
กลุ่ม: ไฟล์ winbind group_compat: โฮสต์ nis: ไฟล์ เครือข่าย DNS: ไฟล์ passwd: ไฟล์ winbind passwd_compat: nis #shells: ไฟล์ #services: compat #services_compat: nis #protocols: ไฟล์ #rpc: ไฟล์
rc.conf
ชื่อโฮสต์ = "msrv-file.domain.ru" keymap = "ru.koi8-r.win.kbd" ifconfig_bge0 = "DHCP" sshd_enable = "ใช่" moused_enable = "ใช่" ntpd_enable = "ใช่" powerd_enable = "ใช่" # ตั้งค่า dumpdev เป็น "อัตโนมัติ" เพื่อเปิดใช้งานการถ่ายโอนข้อมูลผิดพลาด "ไม่" เพื่อปิดการใช้งาน dumpdev="NO" # -- sysinstall สร้างเดลต้า -- # อาทิตย์ 5 ต.ค. 10:31:10 2014 mousechar_start="3" font8x8="cp866-8x8 " font8x14="cp866-8x14" font8x16="cp866b-8x16" scrnmap="koi8-r2cp866" keymap="ru.koi8-r" # smbd_enable="ใช่" samba_enable="ใช่" nmbd_enable="ใช่" winbindd_enable=" ใช่" # -- sysinstall สร้างเดลตา -- # อาทิตย์ 5 ต.ค. 15:09:56 2014 tcp_extensions="YES"
แก้ไข.conf
# สร้างโดย resolvconf nameserver 10.1.1.10
smb.conf
Dos charset = cp866 unix charset = koi8-r display charset = koi8-r workgroup = DOMAIN realm = DOMAIN.RU netbios name = สตริงเซิร์ฟเวอร์ MSRV-FILE = File Server %v security = ADS auth method = winbind map to guest = Bad User ไฟล์บันทึก = /var/log/samba/log.%m ขนาดบันทึกสูงสุด = 50 การลงนามไคลเอ็นต์ = ใช่ต้นแบบที่ต้องการ = ไม่มีต้นแบบท้องถิ่น = ไม่มีโดเมนหลัก = ไม่มีพร็อกซี DNS = ไม่มี winbind ใช้โดเมนเริ่มต้น = ใช่สืบทอด acls = ใช่โฮสต์ อนุญาต = 10.1.1., 127. map acl inherit = ใช่ ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ = ไม่รองรับ nt acl = ใช่ ระดับระบบปฏิบัติการ = 10 ตัวเลือกซ็อกเก็ต = SO_RCVBUF=8192 SO_SNDBUF=8192 TCP_NODELAY โหลดเครื่องพิมพ์ = ไม่มีการพิมพ์ = บัญชีเกสต์ bsd = ไม่มีใครรับแขกตกลง = ใช่ ผู้ใช้ winbind enum = ใช่ winbind enum groups = ใช่ winbind กลุ่มที่ซ้อนกัน = ไม่มีตั๋วรีเฟรช winbind = ใช่ idmap config * : range = 600-20000 idmap config * : backend = tdb interfaces = bge0 comment = เส้นทางพื้นที่ไฟล์ชั่วคราว = /tmp อ่านอย่างเดียว = ไม่ สร้างมาสก์ = 0666 สร้างโหมด = 666 โหมดไดเร็กทอรี = 666 ไดเร็กทอรีมาสก์ = 0777 แขกตกลง = ใช่ ความคิดเห็น = แบ่งปันเส้นทางไดเรกทอรี = /home/share รายการเขียน = "@DOMAIN.RU\Domain Admins", "@DOMAIN .RU\Domain Users" อ่านอย่างเดียว = ไม่มีโหมดสร้าง = 660 โหมดไดเร็กทอรี = 660 สร้างมาสก์ = 0660 ไดเร็กทอรีมาสก์ = 0770
แท็ก: เพิ่มแท็ก