บันทึกการติดตั้งเซิร์ฟเวอร์เดเบียน etch all-in-one แบบลูกทุ่ง

ควรสงสัยไว้ก่อนว่า ข้อเขียนนี้ต้องมีที่ผิดพลาดแน่นอน หากจะทำตาม ควรมีความรู้เรื่องลินุกซ์พอควรที่จะแก้ปัญหาที่เกิดจากการผิดพลาดในข้อเขียนได้

  • เป็นการบันทึกขั้นตอนการทำงานในระหว่างการเปลี่ยนฮาร์ดดิสก์ของเซิร์ฟเวอร์
  • บางรายการใช้แพกเกจที่มีความสามารถมากไป เรียกว่าขี่ช้างจับตั๊กแตน (บางรายการก็น้อยไป)
  • บางรายการมีแพกเกจอยู่แล้ว แต่ดันมาเขียนสคริปต์เอง (อ้างว่าเพื่อเพิ่มความยืดหยุ่น)
  • เรื่องความปลอดภัยจัดอยู่ในระดับ "ตายดาบหน้า"
  • ทั้งหมดมาจากเพราะภาษาอังกฤษไม่ดีครับ อ่านเอกสารไม่ค่อยเข้าใจ เลยทำเท่าที่ทำได้ครับ

จะติดตั้งเซิร์ฟเวอร์แบบ all-in-one สำหรับใช้ในหน่วยงานเล็ก ๆ โดย

  • เพื่อให้ประหยัด จะใช้บริการ dynamic dns
  • พยายามให้แพกเกจน้อย ๆ และทันสมัยที่สุดเท่าที่เป็นไปได้
  • แยกไดเรกทอรีของข้อมูลออกมา เพื่อสะดวกในการสำรองข้อมูลแบบใช้ rsync โดยจะแยกไปรวมไว้ที่ /sys1 และจะย่อยออกเป็น
    • /sys1/sysb (b คือ backup) สำหรับต้องสำรองข้อมูลทุกวัน เช่น apache2, samba, database-backup, /home และไฟล์คอนฟิกทั้งหลาย
    • /sys1/syst (t คือ temporary) อาจไม่ต้องสำรองข้อมูลก็ได้ แต่แยกไว้ให้สะดวกในการย้ายข้อมูลเมื่อปรับปรุงระบบ เช่น apt-proxy

    (ดังนั้น เวลาติดตั้ง ควรให้ /sys1 มีเนื้อที่มากที่สุด)
    ตั้งชื่อใน /sys1 ให้เลียนแบบกับไดเรกทอรี่จริง เช่น /var/www ต้องสำรองข้อมูลทุกวัน ก็เป็น /sys1/sysb/var/www เป็นต้น

รายการที่ต้องทำคือ

  • เตรียมไดเรกทอรี /sys1
  • ติดตั้งแพกเกจเบื้องต้น ssh + screen + vim + less
  • ปรับไฟล์เน็ตเวิร์ก
  • ทำ iptables + portsentry
  • ทำ apt-proxy และ squid3 เพื่อประหยัดแบนด์วิดท์
  • ทำเรื่อง dynamic dns client
  • ทำ dns server สำหรับเครือข่ายภายใน โดยใช้ bind9
  • ทำ web server และ database server ใช้ apache2 + mysql + postgresql
  • ทำ mail server ใช้ postfix + Courier
  • ทำ ftp ใช้ proftpd
  • ทำ samba สำหรับแชร์ไฟล์
  • ปรับแต่งขั้นสุดท้าย

สมมุติว่า

  • เครือข่ายภายในมี 2 ชุดคือ 192.168.1.0/24-eth0 และต่อภายนอกผ่านเราเตอร์ด้วย 192.168.5.0/24-eth1
  • เครื่องที่กำลังติดตั้งชื่อ server1.example.com ไอพี 192.168.1.1 และ 192.168.5.3
  • เครื่องนี้อยู่หลังเราเตอร์ซึ่งมีไอพี 192.168.5.1 โดยตั้งให้เราเตอร์ฟอร์เวิรด์ทุกแพ็กเก็ตมาที่ server1 (dmz-host)
  • มีการจดโดเมน 2 ชื่อว่า example.com และ example.org มีไอพีเดียวกัน โดยสมัครเป็นสมาชิก dynamic dns ไว้ที่ zonedit.com และ everydns.net ทั้งสองโดเมน

เตรียมไดเรกทอรี /sys1

หลังจากผ่านการติดตั้งแบบ Net Install หรือแบบ debootstrap มาแล้ว
เราจะเตรียมไดเรกทอรี่เก็บค่าต่าง ๆ ไว้ที่ /sys1 เพื่อให้สะดวกในการสำรองข้อมูล
สำหรับการนี้ ควรแยก /sys1 ออกมาเป็นอีกพาร์ทิชั่นหนึ่ง โดยให้มีเนื้อที่มากที่สุด

# mkdir -p /sys1/{sysb,syst}
# mkdir -p /sys1/sysb/{etc,var}

ย้าย /home

#  mv /home /sys1/sysb
#  ln -sf /sys1/sysb/home /

ย้าย /usr/local/{bin,sbin}

# mkdir -p /sys1/sysb/usr/local
# mv /usr/local/{bin,sbin} /sys1/sysb/usr/local
# ln -sf /sys1/sysb/usr/local/{bin,sbin} /usr/local

ย้าย crontab

# mkdir -p /sys1/sysb/var/spool/cron
# mv /var/spool/cron/crontabs /sys1/sysb/var/spool/cron
# ln -sf /sys1/sysb/var/spool/cron/crontabs /var/spool/cron

แพกเกจเบื้องต้น

มี ssh screen และ vim

#  aptitude install ssh screen vim less

แต่ง vim เล็กน้อย

#  vi /etc/vim/vimrc.local
syntax on
set tabstop=4

ปรับให้ vim.basic เป็นค่าปริยายของ editor

#  update-alternatives --config editor
<<<--- เลือก vim.basic

ปรับ ให้ vim.basic เป็นค่าปริยายของ vi

#  update-alternatives --config vi
<<<--- เลือก vim.basic

Re: บันทึกการติดตั้งเซิร์ฟเวอร์เดเบียน etch all-in-one แบบลูกทุ่

หมายเหตุจาก webmaster:

ใครที่เคยถามคำถามแบบครอบจักรวาลเกี่ยวกับ "การติดตั้ง internet server" คงได้คำตอบแบบจุใจในบทความชุดนี้

แต่สำหรับผู้ที่จะเขียนบทความในลักษณะรวมมิตรแบบนี้ ขอแนะนำว่าควรแยกเป็นตอน ๆ เพื่อความสะดวกในการอ่านของผู้อ่าน รวมทั้งไม่ทำให้หนักกระบวนการตรวจทานด้วยครับ บทความชุดนี้ ใช้เวลาตรวจทานกว่าสองอาทิตย์ เพราะ webmaster ธาตุไฟแตกซ่านเสียก่อน แต่ก็ยังไม่ได้ตรวจทานละเอียดนัก ฉะนั้น พึงใช้ด้วยความระมัดระวังอย่างที่คุณ wd ได้กล่าวไว้ตอนต้น

เนื้อหาบางส่วนอาจมีการดัดแปลงเฉพาะกิจ ไม่ใช่วิธีปกติของ debian ก็พึงใช้วิจารณญาณก่อนใช้ด้วยเช่นกัน

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <pre> <blockquote> <img> <h3> <h4> <h5>
  • Lines and paragraphs break automatically.
  • E-Mail addresses are hidden with reCAPTCHA Mailhide.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.