การตั้งค่าไฟล์เซิร์ฟเวอร์บน freebsd การติดตั้ง phpmyadmin บนโฮสต์เสมือน FreeBSD: หลักสูตรพื้นฐาน

9 ตุลาคม 2557 เวลา 12:58 น

การสร้างไฟล์เซิร์ฟเวอร์ตาม 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;
  • จำเป็นต้องมีการเข้าถึงอินเทอร์เน็ต
  • ไม่จำเป็นต้องประทับตรา
ฉันจะไม่เจาะลึกความซับซ้อนของการติดตั้งระบบ มีข้อมูลมากมายบนอินเทอร์เน็ตเกี่ยวกับเรื่องนี้และให้ทุกคนตัดสินใจด้วยตนเองว่าจะติดตั้งระบบอย่างไร ในกรณีนี้ ฉันไม่ได้สร้างเคอร์เนลขึ้นมาใหม่ และไม่ได้เพิ่มอาร์เรย์ RAID ทุกอย่างทำงานได้ดีอยู่แล้ว

ฉันจะสังเกตความแตกต่างเล็กน้อย:

  • 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 เราสร้างจุดเชื่อมต่อ:
1G - / RAM * 1.5 - สลับ 3G - /var/tmp 2-4G * N - /var/cache # เฉพาะในกรณีที่มีพร็อกซีเซิร์ฟเวอร์! เท่าที่จำเป็น - /var/ftp # เฉพาะในกรณีที่มีไฟล์เซิร์ฟเวอร์! เท่าที่จำเป็น - /var/mail # เฉพาะในกรณีที่มีเมลเซิร์ฟเวอร์! เท่าที่จำเป็น - /var/db # เฉพาะในกรณีที่มีเซิร์ฟเวอร์ฐานข้อมูล! 10-20G - /usr 1G หรือมากกว่า - /home ส่วนที่เหลือ - /var
  • ในการแจกแจง - เลือกแบบกำหนดเอง:
เมล็ดฐาน dict doc info man catman proflibs src (รายการย่อยจะเปิดที่นี่ เลือกทั้งหมด) พอร์ตในเครื่อง
  • เริ่มการติดตั้ง
  • หลังการติดตั้งคุณสามารถกำหนดค่า (ชื่อ, 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

ผู้ดูแลระบบเซิร์ฟเวอร์ [ป้องกันอีเมล] DocumentRoot "/web/sites/websrv.local/www" ชื่อเซิร์ฟเวอร์ websrv.local ServerAlias ​​www.websrv.local ErrorLog "/web/sites/websrv.local/log/error.log" CustomLog "/web/sites/websrv .local /log/access.log" php_admin_value open_basedir ทั่วไป "/web/sites/websrv.local:" php_admin_value upload_tmp_dir "/web/sites/websrv.local/tmp" php_admin_value session.save_path "/web/sites/websrv.local/tmp" AllowOverride All RewriteEngine On ต้องการ DirectoryIndex ที่ได้รับทั้งหมด index.php index.html index.htm ลำดับอนุญาต ปฏิเสธ อนุญาตจากทั้งหมด ผู้ดูแลระบบเซิร์ฟเวอร์ [ป้องกันอีเมล] DocumentRoot "/web/sites/pma53.websrv.local/www" ชื่อเซิร์ฟเวอร์ pma53.websrv.local ServerAlias ​​www.pma53.websrv.local ErrorLog "/web/sites/pma53.websrv.local/log/error.log" CustomLog " /web/sites/pma53.websrv.local/log/access.log" ทั่วไป php_admin_value open_basedir "/web/sites/pma53.websrv.local:" php_admin_value upload_tmp_dir "/web/sites/pma53.websrv.local/tmp" php_admin_value session.save_path "/web/sites/pma53.websrv.local/tmp" AllowOverride ทั้งหมด ต้องการ DirectoryIndex ที่ได้รับทั้งหมด index.php index.html index.htm ลำดับ อนุญาต ปฏิเสธ อนุญาตจากทั้งหมด

ฉันใช้โดเมนทดสอบ 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เพิ่มบรรทัดต่อไปนี้:

แอปพลิเคชัน AddType/x-httpd-php .php แอปพลิเคชัน AddType/x-httpd-php-source .phps DirectoryIndex index.php index.html

ตอนนี้เราสามารถเริ่ม 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;
  • จำเป็นต้องมีการเข้าถึงอินเทอร์เน็ต
  • ไม่จำเป็นต้องประทับตรา
ฉันจะไม่เจาะลึกความซับซ้อนของการติดตั้งระบบ มีข้อมูลมากมายบนอินเทอร์เน็ตเกี่ยวกับเรื่องนี้และให้ทุกคนตัดสินใจด้วยตนเองว่าจะติดตั้งระบบอย่างไร ในกรณีนี้ ฉันไม่ได้สร้างเคอร์เนลขึ้นมาใหม่ และไม่ได้เพิ่มอาร์เรย์ RAID ทุกอย่างทำงานได้ดีอยู่แล้ว

ฉันจะสังเกตความแตกต่างเล็กน้อย:

  • 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

แท็ก: เพิ่มแท็ก