การติดตั้งและกำหนดค่าเซิร์ฟเวอร์ Ubuntu การติดตั้งและการกำหนดค่าเริ่มต้นของเซิร์ฟเวอร์ Ubuntu - ขั้นตอนที่พิสูจน์แล้ว

  • บทช่วยสอน

สวัสดีฮับ! ในระหว่างการอภิปรายในบทความหนึ่งเกี่ยวกับเครือข่ายในบ้านที่ "ในอุดมคติ" มีข้อโต้แย้งเกิดขึ้นว่าฮาร์ดแวร์ NAS หรือมินิคอมพิวเตอร์ตัวไหนดีกว่ากัน การกระจายลินุกซ์- ผู้เขียนแนะนำให้ใช้ฮาร์ดแวร์ NAS เนื่องจากควรจะจัดการได้ง่ายกว่า ไม่จำเป็นต้องมีความรู้เกี่ยวกับ Linux และโดยทั่วไปแล้ว NAS จะเงียบ แต่ในขณะเดียวกัน หากต้องการดูวิดีโอบนทีวี DLNA ที่ไม่รองรับ ฉันแนะนำให้เปิดแล็ปท็อปที่มีการแปลงรหัส DLNA สิ่งนี้ทำให้ฉันประหลาดใจหากพูดอย่างอ่อนโยน เพราะสิ่งนี้ไม่ควรเกิดขึ้นในเครือข่ายในอุดมคติ ผมจึงอยากจะนำเสนอวิสัยทัศน์ของผมอย่างหนึ่ง ส่วนประกอบที่สำคัญ เครือข่ายภายในบ้าน- พื้นที่จัดเก็บข้อมูลแบบรวมศูนย์ และจะใช้มินิพีซีพร้อมระบบปฏิบัติการ เซิร์ฟเวอร์อูบุนตู.

เราต้องการอะไร?

ก่อนอื่นเลย แน่นอนว่าจำเป็นต้องมี NAS พื้นที่เก็บข้อมูลที่ปลอดภัยข้อมูลและเข้าถึงได้สะดวก ก่อนอื่น RAID จำเป็นต่อความน่าเชื่อถือ เนื่องจากการสูญเสียไฟล์เก็บถาวรสื่อภายในบ้านทั้งหมดของคุณเนื่องจากฮาร์ดไดรฟ์ที่ล้มเหลวนั้นอย่างน้อยก็เป็นเรื่องโง่ หากต้องการเข้าถึงข้อมูล คุณต้องกำหนดค่าการเข้าถึง FTP และ Samba แน่นอนว่าทุกคนมีความต้องการของตัวเอง ดังนั้นหากคุณใช้ MacOS หรือ Linux คุณอาจต้องใช้โปรโตคอลอื่น (NFS, AFP) แต่ฉันจะอธิบายการตั้งค่าเหมือนที่ฉันทำเพื่อตัวเอง
ในการเข้าถึงข้อมูลสื่อจากสมาร์ททีวี เราจำเป็นต้องมีเซิร์ฟเวอร์ DLNA และเพื่อความสะดวกในการดาวน์โหลด เราจำเป็นต้องมีไคลเอนต์ทอร์เรนต์ ขอแนะนำให้จัดการทั้งหมดนี้ผ่านทางเว็บอินเตอร์เฟส

ทำไมไม่ใช่ฮาร์ดแวร์ NAS?

ดูเหมือนว่าผู้ผลิตจะดูแลผู้ใช้มายาวนานและผลิตกล่องสำเร็จรูปมาโดยเฉพาะมานานแล้ว ใช้ในบ้าน- แต่พวกเขามีข้อเสีย:
1) มีราคาแพง คุณไม่น่าจะพบอันที่ถูกกว่า 20,000 รูเบิล NAS ที่มีความสามารถในการเชื่อมต่อฮาร์ดไดรฟ์ 4 ตัวพร้อมโปรเซสเซอร์ Atom ผู้ที่มีราคาถูกมักจะใช้โปรเซสเซอร์ที่อ่อนแอซึ่งไม่เพียงพอสำหรับทอร์เรนต์เดียวกันอีกต่อไปเมื่อดาวน์โหลดสตรีมข้อมูลสองรายการพร้อมกัน (ชมภาพยนตร์ผ่าน DLNA และคัดลอกเช่นภาพถ่าย) ฉันสามารถประกอบมินิพีซีที่มีคุณสมบัติครบถ้วนโดยใช้มาเธอร์บอร์ด mini-ITX พร้อม Atom และหน่วยความจำ 4 GB ในราคาเพียง 6,000 รูเบิล!
2) มีจำนวนจำกัด นั่นคือมีเฉพาะฟังก์ชันที่ผู้ผลิตจัดเตรียมไว้ให้เท่านั้น เพื่อขยายขีดความสามารถ โดยปกติจะต้อง "เต้นรำกับแทมบูรีน" เนื่องจากเคอร์เนลในเฟิร์มแวร์สามารถลดลงได้อย่างมาก เมื่อใช้ Ubuntu คุณจะไม่ถูกจำกัดด้วยสิ่งใดๆ เลย พื้นที่เก็บข้อมูลขนาดใหญ่ของซอฟต์แวร์ทุกประเภทจะช่วยให้คุณสามารถทำทุกอย่างที่คุณต้องการจากเซิร์ฟเวอร์ของคุณ ไปจนถึงการตั้งค่าเครื่องเสมือน

ทำไมไม่ใช้ FreeNAS หรือ OpenFiler?

คุณถาม. ประการแรก ดูข้อเสียของฮาร์ดแวร์ NAS ในจุดที่ 2 นั่นคือการเพิ่มฟังก์ชันการทำงานของดิสทริบิวชันเหล่านี้เป็นปัญหามาก ในขณะที่ Ubuntu มีพื้นที่เก็บข้อมูลขนาดใหญ่ของซอฟต์แวร์ที่กำหนดค่าไว้แล้ว ประการที่สอง นี่เป็นข้อกำหนดของระบบขนาดใหญ่ โดยเฉพาะ FreeNAS 8 ที่ต้องการพื้นที่ขั้นต่ำ 2 GB แรมและ OpenFiler เวอร์ชันใหม่จะไม่เปิดตัวสำหรับสถาปัตยกรรม x86 อีกต่อไป นอกจากนี้ FreeNAS ยังไม่พัฒนาอย่างราบรื่น - เวอร์ชัน 0.7 ซึ่งมีไคลเอนต์ฝนตกหนักและเซิร์ฟเวอร์ DLNA ล้าสมัยไปนานแล้วในวันที่แปด รุ่นเชิงพาณิชย์ฉันไม่สามารถตั้งค่า DLNA ได้ และด้วยระบบไฟล์ ZFS ที่เสนอมา มันจึงเป็นเรื่องยากในกรณีที่ระบบล้มเหลว คุณจะกู้คืนข้อมูลอย่างไร ยาก.

เหตุใดจึงเลือกการกระจายเซิร์ฟเวอร์ 12.04 LTS

LTS (การสนับสนุนระยะยาว) เป็นการแจกจ่ายที่มีการสนับสนุนและเผยแพร่การอัปเดตเป็นระยะเวลานาน เนื่องจากเราต้องการเซิร์ฟเวอร์ที่หากเป็นไปได้ เมื่อกำหนดค่าแล้ว สามารถทำงานได้อย่างง่ายดายในอีกหลายปีข้างหน้า จึงควรเลือกเวอร์ชันเฉพาะของการแจกจ่ายนี้จะดีกว่า
เห็นได้ชัดว่ามีการเลือกเวอร์ชันเซิร์ฟเวอร์ เพราะตามหลักการแล้ว เราไม่จำเป็นต้องเปลืองทรัพยากรบนเชลล์กราฟิกเลย แม้ว่าคุณเพิ่งจะคุ้นเคยกับ linux หรือเคยทำงานกับ Ubuntu เวอร์ชันเดสก์ท็อปแล้ว แต่โดยหลักการแล้วคุณสามารถเลือกได้ รุ่นปกติการกระจายก็ไม่สำคัญ

มาเริ่มกันเลย

การติดตั้งค่อนข้างโปร่งใส ดังนั้นฉันจะไม่อธิบายโดยละเอียด ฉันจะอาศัยรายละเอียดเพิ่มเติมเกี่ยวกับรายละเอียดของฮาร์ดไดรฟ์


ฉันใช้มาเธอร์บอร์ดราคาประหยัดที่ไม่รองรับฮาร์ดแวร์ RAID และในทางปฏิบัติของฉัน ฮาร์ดแวร์ RAID ที่รวมอยู่ในมาเธอร์บอร์ดมักจะทำงานได้ไม่ดีนัก ด้านที่ดีที่สุดดังนั้นเราจะจัดระเบียบสิ่งที่เรียกว่า "ซอฟต์แวร์" RAID ฮาร์ดไดรฟ์ใหม่สองตัวจะถูกนำมาใช้ในการจัดเก็บข้อมูล ฉันไม่มีสื่อจัดเก็บข้อมูลเพิ่มเติม ดังนั้นฉันจะแบ่งดิสก์ออกเป็นสองพาร์ติชั่น โดยพาร์ติชั่นหนึ่งจะเป็นระบบ และพาร์ติชั่นที่สองสำหรับข้อมูล ทั้งสองส่วนในสอง ฮาร์ดไดรฟ์จะรวมเข้ากับ RAID 1 (เพื่อความสะดวกฉันดำเนินการทั้งหมดบนเครื่องเสมือนดังนั้นอย่าใส่ใจกับพาร์ติชันที่มีขนาดเล็ก)
ขั้นแรก เราสร้างตารางพาร์ติชันบนดิสก์แผ่นแรก และแบ่งออกเป็นสองส่วน เราทำเครื่องหมายว่าเป็น "พาร์ติชัน RAID" แม้ว่าจะไม่จำเป็นก็ตาม


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


หลังจาก การสร้าง RAID, ทำเครื่องหมายไว้เพื่อใช้งาน เราเลือกระบบไฟล์ ext4 และกำหนดจุดเมานท์: พาร์ติชันระบบเป็นรูท (/) และพาร์ติชันข้อมูลในตำแหน่งที่กำหนดเอง (ฉันชอบที่จะเมานต์ในโฟลเดอร์ /mnt)


ถัดไป ระบบจะแจ้งให้ทราบว่าเราต้องการบูตระบบหรือไม่หากอาร์เรย์ RAID ล้มเหลว ฉันแนะนำให้คุณตอบว่า "ไม่" เพราะหากฮาร์ดไดรฟ์ล้มเหลวคุณจะไม่สังเกตเห็นด้วยซ้ำ - ระบบจะทำงานต่อไปกับดิสก์เดียว แต่ถ้าดิสก์ตัวที่สองล้มเหลวคุณจะต้องนำไปที่ บริษัทกู้คืนข้อมูล

ฉันจะไม่สร้างพาร์ติชั่นสว็อป เพราะประการแรก มันสามารถสร้างเป็นไฟล์ได้ และประการที่สอง ฉันไม่ต้องการมันโดยส่วนตัวแล้ว - ฉันติดตั้งไว้ 4 GB บนมินิพีซีของฉัน และการใช้หน่วยความจำไม่เคยเกิน 10% (400 MB ) และในสถานะปกติยิ่งน้อยลงไปอีก (ขณะนี้ใช้งานเพียง 130 MB เท่านั้น) แม้ว่าคุณวางแผนที่จะเพิ่มเครื่องเสมือน แต่คุณอาจต้องการมัน ดังนั้นหลังการติดตั้ง ฉันจะอธิบายวิธีสร้างไฟล์สลับ แต่ตอนนี้เราตอบข้อเสนอเชิงลบในการสร้างพาร์ติชันสลับ

หลังจากการคัดลอกไฟล์เป็นเวลาสั้นๆ ระบบจะเริ่มอัปเดตข้อมูลจากที่เก็บข้อมูล จากนั้นถามว่าจะติดตั้งการอัปเดตอย่างไร เนื่องจากการดูแลระบบของเราถูกควบคุมให้เหลือน้อยที่สุด เราจึงเลือกการอัปเดตอัตโนมัติ จากนั้นระบบจะถามว่าต้องติดตั้งแพ็คเกจใดทันที ฉันเลือก OpenSSH (เราต้องการรีโมท บรรทัดคำสั่ง), LAMP (จำเป็นสำหรับเว็บอินเตอร์เฟส), เซิร์ฟเวอร์การพิมพ์ (ในบทความนี้ฉันจะไม่อธิบายการเชื่อมต่อเครื่องพิมพ์) และแน่นอน Samba ไฟล์เซิร์ฟเวอร์สำหรับการเข้าถึงจากเครื่อง Windows

ในขั้นตอนสุดท้ายระบบจะขอรหัสผ่านสำหรับ MySQL และขอ การติดตั้งด้วง- รีบูต - ติดตั้งระบบแล้ว! เข้าสู่ระบบเพื่อดูว่าที่อยู่ IP ใดที่ DHCP กำหนดให้เรา (ซึ่งสามารถทำได้โดยใช้คำสั่ง ifconfig) ในกรณีของฉันให้ที่อยู่ 192.168.1.180

เพียงเท่านี้คุณสามารถปิดจอภาพและวางยูนิตระบบไว้ในที่ที่สะดวกจากนั้นเราจะทำงานกับมันผ่าน SSH ฉันใช้ PUTTY สำหรับสิ่งนี้

การกำหนดค่า

1) สลับไฟล์
ก่อนอื่น ฉันจะอธิบายวิธีตั้งค่าไฟล์ swap หากคุณต้องการมันจริงๆ ทุกอย่างทำได้โดยใช้คำสั่งเพียงไม่กี่บรรทัด
สร้างไฟล์ที่เต็มไปด้วยศูนย์: > sudo dd if=/dev/zero of=/swap bs=1M count=2048
เตรียมเพื่อใช้เป็น swap: > sudo mkswap /swap
เพิ่มไปที่ ไฟล์ fstabไฟล์ที่เราสร้างขึ้นเพื่อใช้เป็นไฟล์สลับ:
> sudo nano /etc/fstab /swap ไม่มีการแลกเปลี่ยน sw 0 0
รีบูต: > sudo shutdown -r ทันที
2) การอัปเดตซอฟต์แวร์
เราอัปเดตแพ็คเกจทั้งหมดทันที โดยทำได้ด้วยสองคำสั่ง: > sudo apt-get update > sudo ฉลาดรับการอัพเกรด
3) เว็บอินเตอร์เฟส
ในการจัดการระบบผ่านเว็บอินเตอร์เฟส มีแพ็คเกจ webim แต่น่าเสียดายที่ไม่ได้อยู่ในพื้นที่เก็บข้อมูล ดังนั้นมาดาวน์โหลดแพ็คเกจที่เตรียมไว้ด้วยตนเอง: > wget http://prdownloads.sourceforge.net/webadmin/webmin_1.580_all เด็บ
ในการติดตั้ง webim คุณจะต้องมีแพ็คเกจที่ต้องพึ่งพา ในกรณีของฉัน นี่คือรายการต่อไปนี้ คุณอาจต้องรวมอย่างอื่นด้วย > sudo apt-get ติดตั้ง libnet-ssleay-perl libauthen-pam-perl libio-pty-perl apt-show-versions
การติดตั้งจริง: > sudo dpkg --install webmin_1.580_all.deb
เพียงเท่านี้ก็สามารถไปที่เว็บอินเตอร์เฟสได้แล้ว: https://192.168.1.180:10000
4) ตั้งค่าการเข้าถึง FTP
สำหรับ ftp ฉันใช้ pure-ftpd (แม้ว่าคุณสามารถเลือก proftpd และ vsftpd เพื่อให้เหมาะกับรสนิยมของคุณ)
มาสร้างโฟลเดอร์สาธารณะกันเถอะ: > sudo mkdir /mnt/data/public
ติดตั้ง pure-ftpd จากพื้นที่เก็บข้อมูล: > sudo apt-get install pure-ftpd
โดยหลักการแล้ว คุณสามารถเข้าสู่ระบบด้วยบัญชีระบบได้แล้ว แต่นี่อาจไม่ดีสำหรับการใช้งานในชีวิตประจำวันเลย มาสร้างบัญชีเสมือนที่เข้าถึงได้เท่านั้น โฟลเดอร์สาธารณะ: > sudo pure-pw useradd public -u local -g nogroup -d /mnt/data/public
มาอัปเดตฐานข้อมูลกันเถอะ: > sudo pure-pw mkdb
มาเปิดใช้งานกันเถอะ ผู้ใช้เสมือน: > sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure
เริ่มบริการใหม่: > sudo service pure-ftpd restart
5) แซมบ้า
มาตั้งค่าการเข้าถึงเซิร์ฟเวอร์จากเครื่อง Windows กันดีกว่า โดยส่วนตัวแล้วฉันมีครอบครัวใหญ่ที่บ้านและฉันต้องแยกสิทธิ์ระหว่างผู้ใช้หลายคน และเพื่อความสะดวกในการแก้ไขสิทธิ์ของโฟลเดอร์โดยตรงจาก Windows (ผ่านแท็บ "ความปลอดภัย" ในคุณสมบัติ) เราจะใช้ ACL
เราไม่มีโดเมน ดังนั้นเราจะต้องสร้างผู้ใช้เหมือนกับบนเครื่อง Windows: > sudo useradd -d /home/PaulZi -s /bin/true -g users PaulZi
ตั้งรหัสผ่านเช่นเดียวกับใน Windows: > sudo passwd PaulZi
เพิ่มผู้ใช้ที่สร้างขึ้นใน Samba: > sudo smbpasswd -a PaulZi
ในการจัดการสิทธิ์เพิ่มเติม คุณสามารถติดตั้งยูทิลิตี้ (ทางเลือก): > sudo apt-get install acl > sudo apt-get install attr
เพื่อให้แซมบ้าทำงานกับ ACL ได้ จำเป็นต้องมีระบบไฟล์ที่รองรับ POSIX ACL ส่วน ext4 นั้นค่อนข้างเหมาะสม แต่จะถูกเมาท์โดยไม่มีการสนับสนุนนี้ตามค่าเริ่มต้น หากต้องการเปิดใช้งานคุณสมบัตินี้ ให้เพิ่มตัวเลือก “acl” ลงในไฟล์ /etc/fstab แต่ยิ่งกว่านั้น Windows ยังรองรับการสืบทอดสิทธิ์ เพื่อใช้งานสิ่งนี้ใน Linux แซมบ้าจำเป็นต้องเก็บข้อมูลเพิ่มเติมไว้ที่ใดที่หนึ่ง ในการดำเนินการนี้ คุณจะต้องเปิดใช้งานคุณสมบัติไฟล์เพิ่มเติม ซึ่งก็คือตัวเลือก “user_xattr” ในเวลาเดียวกัน เราจะห้ามไม่ให้มีการเรียกใช้ไฟล์บนพาร์ติชันข้อมูลทั้งหมดโดยใช้ตัวเลือก “noexec” (เพื่อความปลอดภัย): > sudo nano /etc/fstab /dev/md0 /mnt/data ext4 defaults,noexec,acl, user_xattr 0 2
รีบูต: > sudo shutdown -r ทันที
แก้ไขการตั้งค่า samba (เพื่อความกระชับ ฉันเพียงแสดงรายการการเปลี่ยนแปลงและการเพิ่มเติม): > sudo nano /etc/samba/smb.conf workgroup = Home netbios name = Server security = user # add settings admin users = PaulZi # users เหล่านี้จะถูกดำเนินการ จากแผนที่ราก acl สืบทอด = ใช่ # เปิดใช้งานการสืบทอด acl store dos คุณลักษณะ = ใช่ # เปิดใช้งานการจัดเก็บคุณลักษณะ dos # ปิดการใช้งาน ที่เก็บข้อมูลหน้าต่างคุณลักษณะ: การเก็บถาวรแผนที่ = ไม่มีระบบแผนที่ = ไม่มีการซ่อนแผนที่ = ไม่มีแผนที่แบบอ่านอย่างเดียว = ไม่ # ความคิดเห็นที่แบ่งปันสาธารณะ = เส้นทางสาธารณะ = /mnt/data/เรียกดูแบบสาธารณะ = ใช่ # การแบ่งปันสามารถมองเห็นได้ อ่านอย่างเดียว = ไม่ # เปิดใช้งานการเขียนแขก ตกลง = ใช่ # อนุญาตให้แขกเข้าถึงสืบทอดสิทธิ์ = ใช่ # เปิดใช้งานการสืบทอดสิทธิ์ที่สืบทอด acls = ใช่ # เปิดใช้งานการสืบทอดสิทธิ์ของ windows สืบทอดเจ้าของ = ใช่ # เปิดใช้งานการสืบทอดของเจ้าของ ซ่อนไม่สามารถอ่านได้ = ใช่ # ซ่อนไฟล์ที่ไม่สามารถอ่านได้
เริ่มบริการใหม่: > sudo service smbd restart
6) DLNA/UPnP - เซิร์ฟเวอร์
ฉันเลือก minidlna เป็นเซิร์ฟเวอร์ DLNA ฉันเลือกมันด้วยเหตุผลง่ายๆ ประการหนึ่ง: มันไม่ได้ลากการพึ่งพาที่ไม่จำเป็นมากมาย เช่น MediaTomb และ Serviio (ดึง Java หรือ ไลบรารีกราฟิก- อย่างไรก็ตาม หากคุณต้องการแปลงรหัส ฉันแนะนำให้คุณติดตั้งหนึ่งในนั้นแทน minidlna
การติดตั้งจากพื้นที่เก็บข้อมูล: > sudo apt-get install minidlna
กำหนดค่า: > sudo nano /etc/minidlna.conf media_dir=/mnt/data/public Friendly_name=Ubuntu
รีสตาร์ท: > sudo service minidlna รีสตาร์ท
7) ฝนตกหนัก
บริการสุดท้ายที่กล่าวถึงในบทความนี้คือไคลเอนต์ฝนตกหนัก ฉันใช้ Transmission เป็นไคลเอนต์บนเว็บที่ประสบความสำเร็จ
ติดตั้ง: > sudo apt-get ติดตั้ง Transmission-daemon
หยุดบริการ ไม่เช่นนั้นการเปลี่ยนแปลงทั้งหมดจะหายไปหลังจากกระบวนการเสร็จสิ้น: > sudo service Transmission-daemon stop
กำหนดค่า: > sudo nano /etc/transmission-daemon/settings.json "download-dir": "/mnt/data/public/torrents" "rpc-password": "local" "rpc-username": "local" " rpc-whitelist-enabled": เท็จ
ที่นี่เราเปลี่ยนการตั้งค่าสี่รายการ - กำหนดเส้นทางการดาวน์โหลดชื่อผู้ใช้และรหัสผ่านสำหรับเว็บอินเตอร์เฟสและปิดการใช้งานรายการการเข้าถึงอินเทอร์เฟซ "สีขาว" - อนุญาตสำหรับทุกคน รหัสผ่านระบุอยู่ใน แบบฟอร์มเปิดหลังจากการเปิดตัวครั้งถัดไป มันจะถูกเข้ารหัส
เริ่มบริการ: > sudo service Transmission-daemon start
ไปที่เว็บอินเตอร์เฟสตรวจสอบให้แน่ใจว่าทุกอย่างเรียบร้อยดี: http://192.168.1.180:9091/

คำหลัง

เป็นผลให้เราได้รับอย่างเต็มเปี่ยม โฮมเซิร์ฟเวอร์- แน่นอนว่าบทความนี้ระบุเพียงเท่านั้น การตั้งค่าพื้นฐานบริการต่างๆ และเป็นไปได้มากที่คุณจะต้องปรับแต่งบางอย่างให้กับตัวคุณเอง ใช่ และคุณอาจต้องการบางอย่าง บริการเพิ่มเติมแต่อย่างที่คุณเห็นจากบทความทั้งหมดนี้ทำได้ค่อนข้างง่ายโดยไม่ต้อง "เต้นรำกับแทมบูรีน" มากนักคุณเพียงแค่ต้องหันไปหา Google - มีข้อมูลมากมายเกี่ยวกับการตั้งค่าบริการใน Ubuntu

การแนะนำ
เมื่อคุณติดตั้ง Ubuntu Server 16.04 LTS แล้ว มีบางสิ่งที่คุณต้องทำ ขั้นตอนง่ายๆสำหรับการตั้งค่าเบื้องต้น สิ่งนี้จะทำให้การทำงานเพิ่มเติมบนเซิร์ฟเวอร์สะดวกยิ่งขึ้น และจะทำให้เซิร์ฟเวอร์มีความปลอดภัยมากขึ้นด้วย

เชื่อมต่อเป็นรูท
ก่อนอื่น คุณต้องเชื่อมต่อกับเซิร์ฟเวอร์ผ่าน SSH ในฐานะรูท
เปิดเทอร์มินัลแล้วรันคำสั่ง:

$ ssh root@server_ip

หากการเชื่อมต่อสำเร็จ คุณจะเห็นข้อความต้อนรับและข้อมูลโดยย่อเกี่ยวกับระบบ

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

สร้างรหัสผ่านและคุณยังสามารถให้ข้อมูลเพิ่มเติม เช่น ชื่อจริงของคุณ
จากนั้นเพิ่มผู้ใช้ในกลุ่ม sudo เพื่อให้เขาสามารถดำเนินการด้วยสิทธิ์รูทได้:

# adduser โจ sudo

ตอนนี้สำหรับ ทำงานต่อไปคุณสามารถใช้อันใหม่ได้แล้ว บัญชี.
รันคำสั่งต่อไปนี้เพื่อสลับไปยังผู้ใช้ใหม่:

กำลังสร้างคีย์ SSH
ณ จุดนี้ คุณจะต้องสร้างคีย์ SSH คีย์ประกอบด้วย 2 ไฟล์: ไฟล์ส่วนตัวซึ่งอยู่บนเครื่องของคุณและไฟล์สาธารณะซึ่งจะต้องอัปโหลดไปยังเซิร์ฟเวอร์
หากคุณไม่มีคีย์ SSH คุณจะต้องสร้างคีย์ขึ้นมา มิฉะนั้น ให้ข้ามขั้นตอนนี้และไปยังขั้นตอนถัดไป
ดังนั้น คุณต้องสร้างคีย์ SSH เมื่อต้องการทำเช่นนี้ ให้รันคำสั่งต่อไปนี้ (แทนที่ [ป้องกันอีเมล]ไปยังอีเมลของคุณ):

$ ssh-keygen -t rsa -b 4096 -C " [ป้องกันอีเมล]"

จากนั้นคุณจะถูกขอให้ระบุเส้นทางในการบันทึกคีย์ ที่นี่คุณสามารถกด Enter (เส้นทางเริ่มต้นจะถูกเลือก)
จากนั้นสร้างรหัสผ่านสำหรับกุญแจของคุณ ป้อนและการสร้างคีย์ SSH เสร็จสมบูรณ์

การเพิ่มคีย์ SSH สาธารณะให้กับเซิร์ฟเวอร์
เพื่อให้เซิร์ฟเวอร์ตรวจสอบสิทธิ์ผู้ใช้ คุณจะต้องคัดลอกคีย์ SSH สาธารณะที่คุณสร้างไว้ก่อนหน้านี้ มีสองวิธีในการทำเช่นนี้

ตัวเลือกที่ 1: การใช้ ssh-copy-id
บนเครื่องของคุณ ให้รันคำสั่งต่อไปนี้:

$ ssh-copy-id joe@server_ip

หลังจากป้อนรหัสผ่าน คุณจะเห็นข้อความระบุว่าคัดลอกคีย์ไปยังเซิร์ฟเวอร์สำเร็จแล้ว

ตัวเลือกที่ 2: ด้วยตนเอง
1. สร้างไดเร็กทอรี .ssh ในรูทของผู้ใช้ของคุณและตั้งค่าสิทธิ์ที่จำเป็น

$ mkdir ~/.ssh
$ chmod go-rx ~/.ssh

2. ภายในไดเร็กทอรี .ssh ให้สร้างไฟล์authorized_keys ตัวอย่างเช่น การใช้โปรแกรมแก้ไขนาโน:

$ นาโน ~/.ssh/authorized_keys

วางเนื้อหาของรหัสสาธารณะลงไป
กด CTRL-x เพื่อออกจากโปรแกรมแก้ไข จากนั้น y เพื่อบันทึกการเปลี่ยนแปลง จากนั้นกด ENTER เพื่อยืนยัน
จากนั้น ตั้งค่าการอนุญาตไฟล์ที่จำเป็นเพื่อให้มีเพียงเจ้าของเท่านั้นที่สามารถเข้าถึงไฟล์ด้วยกุญแจได้ เมื่อต้องการทำเช่นนี้ ให้เรียกใช้คำสั่งต่อไปนี้:

$ chmod go-r ~/.ssh/authorized_keys

ตอนนี้คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์โดยใช้คีย์ SSH

การตั้งค่าเซิร์ฟเวอร์ SSH
ณ จุดนี้ คุณต้องทำการเปลี่ยนแปลงการกำหนดค่าเซิร์ฟเวอร์ SSH หลายประการซึ่งจะทำให้มีความปลอดภัยมากขึ้น
เมื่อต้องการทำเช่นนี้ ให้เปิดไฟล์ /etc/ssh/sshd_config:

$ sudo นาโน /etc/ssh/sshd_config.php

1. เปลี่ยนพอร์ตเริ่มต้น
ก่อนอื่นให้เปลี่ยน พอร์ตมาตรฐาน- เพื่อไม่ให้บอทพยายามเชื่อมต่อกับเซิร์ฟเวอร์ของคุณและทำให้เกิดการอุดตันในบันทึก
เมื่อต้องการทำเช่นนี้ เปลี่ยนค่าพอร์ตเป็นสิ่งที่ไม่เป็นมาตรฐาน ตัวอย่างเช่น:

2. ห้ามการเข้าถึงรูทจากระยะไกล
เนื่องจากการทำงานบนเซิร์ฟเวอร์คุณจะต้องใช้บัญชี ผู้ใช้ปกติจากนั้นไม่จำเป็นต้องเชื่อมต่อกับเซิร์ฟเวอร์ผ่าน SSH ในฐานะรูท
ตั้งค่า PermitRootLogin เป็น no

หมายเลข PermitRootLogin

3. ปิดการใช้งานการตรวจสอบรหัสผ่าน
ตั้งแต่ตอนใช้. คีย์ SSHหากคุณไม่ต้องการการรับรองความถูกต้องด้วยรหัสผ่าน ให้ปิดการใช้งาน
ตั้งค่าสำหรับ PasswordAuthentication เป็น no

รหัสผ่านการตรวจสอบเลขที่

ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ของคุณใช้โปรโตคอลเวอร์ชัน 2

หลังจากการเปลี่ยนแปลงทั้งหมด ให้บันทึกไฟล์และรีบูต การตั้งค่า SSHเซิร์ฟเวอร์เพื่อให้การเปลี่ยนแปลงมีผล

$ sudo systemctl โหลด ssh.service ใหม่

หากทุกอย่างถูกต้อง เมื่อคุณพยายามเชื่อมต่อกับพอร์ตมาตรฐาน 22 คุณจะเห็นข้อผิดพลาดต่อไปนี้:

ssh: เชื่อมต่อกับโฮสต์ server_ip พอร์ต 22: การเชื่อมต่อถูกปฏิเสธ

และเมื่อคุณพยายามเชื่อมต่อในฐานะรูท (กับพอร์ตใหม่):

การอนุญาตถูกปฏิเสธ (publickey)

หากต้องการเชื่อมต่อกับเซิร์ฟเวอร์โดยใช้พอร์ตที่ไม่ได้มาตรฐาน ให้ระบุหมายเลขพอร์ตในพารามิเตอร์ -p

$ ssh joe@server_ip -p 2222

การตั้งค่าไฟร์วอลล์
UFW (ไฟร์วอลล์ที่ไม่ซับซ้อน) เป็นไฟร์วอลล์ธรรมดาที่เป็นประโยชน์มากกว่า การควบคุมที่สะดวกไอพีเทเบิล
หากระบบของคุณไม่มี ให้ติดตั้งด้วยคำสั่ง:

$ sudo apt ติดตั้ง ufw

ขั้นแรก ตรวจสอบสถานะไฟร์วอลล์:

$ sudo ufw สถานะ

สถานะจะต้องไม่ใช้งาน

ข้อควรสนใจ: อย่าเปิดใช้งานไฟร์วอลล์ก่อนที่จะระบุกฎที่จำเป็น มิฉะนั้นคุณอาจเสี่ยงต่อการสูญเสียการเข้าถึงเซิร์ฟเวอร์

กำหนดค่ากฎเพื่อให้คำขอที่เข้ามาทั้งหมดถูกปฏิเสธตามค่าเริ่มต้น เมื่อต้องการทำเช่นนี้ ให้เรียกใช้:

$ sudo ufw ค่าเริ่มต้นปฏิเสธขาเข้า

และยังอนุญาตให้ส่งออกทั้งหมด:

$ sudo ufw ค่าเริ่มต้นอนุญาตให้ส่งออก

เพิ่มกฎใหม่เพื่ออนุญาตคำขอที่เข้ามา พอร์ตเอสเอสเอช(ในกรณีของเรา 2222)

$ sudo ufw เปิดใช้งาน

คุณสามารถตรวจสอบสถานะของไฟร์วอลล์และกฎของมันได้ด้วยคำสั่ง:

$ sudo ufw สถานะ

สำหรับข้อมูลเพิ่มเติม ข้อมูลรายละเอียดคุณต้องใช้คำสั่ง:

$ sudo ufw สถานะรายละเอียด

บทสรุป
เกี่ยวกับเรื่องนี้ การตั้งค่าเริ่มต้นเซิร์ฟเวอร์เสร็จสมบูรณ์ ตอนนี้คุณสามารถติดตั้งใด ๆ ซอฟต์แวร์ที่คุณต้องการ

เปิดเซิร์ฟเวอร์แล้ว บนพื้นฐานอูบุนตูทำให้สามารถเลี้ยงได้ บริการต่างๆรวมถึงการทำงานร่วมกับเครือข่าย ตัวอย่างของบริการดังกล่าว: DHCP, DNS, NAT, Apache, FTP และอื่นๆ อีกมากมาย ในบทความนี้ ฉันจะไม่บอกคุณว่าทำไมฉันถึงเลือกเซิร์ฟเวอร์ Ubuntu คุณสามารถอ่านเกี่ยวกับข้อดีทั้งหมดได้ในบทความนี้ เห็นได้ชัดว่า Debian ถือว่ามีเสถียรภาพมากกว่าและใช้ในโครงการที่จริงจัง แต่สำหรับงานของฉัน Ubuntu ก็เพียงพอแล้ว :)

เซิร์ฟเวอร์ Ubuntu รองรับสถาปัตยกรรมโปรเซสเซอร์หลักสามตัว: Intel x86, AMD64 และ ARM ความต้องการของระบบสำหรับเซิร์ฟเวอร์ Ubuntu นั้นค่อนข้างเรียบง่าย

ดาวน์โหลดเซิร์ฟเวอร์ Ubuntuเวอร์ชันใดก็ได้มีอยู่บนเว็บไซต์อย่างเป็นทางการ

หลังจากดาวน์โหลด คุณจะต้องเบิร์นอิมเมจเซิร์ฟเวอร์ลงในซีดี ดิสก์ DWD หรือแฟลชไดรฟ์ หากต้องการเขียนรูปภาพลงในแฟลชไดรฟ์ฉันขอแนะนำให้ใช้โปรแกรม Unetbootin ซึ่งฟรี ใช้ได้กับระบบปฏิบัติการทั้งหมด (Windows, Linux, Mac OS) และมีอินเทอร์เฟซที่ชัดเจน

เลือก "ดิสก์อิมเมจ" ปล่อยให้ "มาตรฐาน ISO" อยู่ในรายการ

เพียงเท่านี้ก็เลือกประเภท: อุปกรณ์ยูเอสบีค้นหาไดรฟ์ USB ของคุณในรายการแล้วคลิกตกลง ควรเขียนดิสก์อิมเมจลงในแฟลชไดรฟ์

ตอนนี้คุณสามารถเริ่มการติดตั้งระบบได้แล้ว เมื่อคุณบูตคอมพิวเตอร์ คุณจะต้องเข้าไปใน BIOS (ปุ่ม f2) และตั้งค่าแฟลชไดรฟ์ของเราเป็นลำดับความสำคัญในการบูตอันดับแรก การตั้งค่าลำดับความสำคัญในการบูตอยู่ในแท็บ Boot จากนั้นเราจะใช้การเปลี่ยนแปลงกับ BIOS และรีบูต

หลังจากรีบูต การติดตั้ง Ubuntu Server จะเริ่มต้นขึ้น เราเลือกภาษาที่เราต้องการ

เลือกติดตั้งเซิร์ฟเวอร์ Ubuntu

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

หลังจากกำหนดโครงร่างแล้ว ผู้ติดตั้งจะตรวจจับอุปกรณ์ที่เชื่อมต่อโดยอัตโนมัติและโหลดส่วนประกอบหลักเพื่อให้ระบบทำงานได้ ต่อไปเราจะถูกขอให้เลือกชื่อเซิร์ฟเวอร์ - หากคุณทำเพื่อตัวคุณเองให้เลือกอันใดอันหนึ่งหากเซิร์ฟเวอร์อยู่ในองค์กรให้เลือกชื่อตามกฎสำหรับการตั้งชื่อโหนดบนเครือข่าย ตัวอย่างเช่น ที่ฉันทำงาน เซิร์ฟเวอร์มีชื่อดังนี้: srv1.ekt10 โดยที่ ekt คือ Yekaterinburg 10 คือหมายเลขไซต์

เราสร้างรหัสผ่านสำหรับบัญชีของเราทันที: สำหรับ การป้องกันที่ดีขึ้นใช้รหัสผ่านพิเศษในรหัสผ่านของคุณ สัญลักษณ์

หนึ่งในที่สุด ขั้นตอนสำคัญเมื่อติดตั้งระบบใด ๆ นี่คือการแบ่งพาร์ติชันดิสก์ มีหลายตัวเลือกที่นี่:

  1. หากมีการติดตั้งเซิร์ฟเวอร์ไว้ บริสุทธิ์ยากดิสก์ - เป็นการดีกว่าถ้าเลือกการแบ่งพาร์ติชันอัตโนมัติ ในกรณีนี้ จะมีการสร้างพาร์ติชั่นสองพาร์ติชั่น พาร์ติชั่นแรกสำหรับโฟลเดอร์รูท (/) พาร์ติชั่นที่สองคือพาร์ติชั่นสลับ (/swap) คุณยังสามารถสร้างส่วนเพิ่มเติมสำหรับบัญชีของคุณได้ (/home/username) ต่อมาหลังการติดตั้งเกิดการฉ้อโกงทั้งหมดด้วย ฮาร์ดไดรฟ์คุณสามารถใช้ยูทิลิตี้ระบบพิเศษต่อไปได้
  2. หากมีการติดตั้งระบบปฏิบัติการอื่นบนดิสก์แล้ว คุณสามารถแยกได้ ฮาร์ดไดรฟ์ด้วยตนเอง

ฉันจะให้ข้อมูลบางอย่างเกี่ยวกับมาร์กอัป ฮาร์ดไดรฟ์- ทางกายภาพ ฮาร์ดไดรฟ์ถูกเรียกว่า: sda, sdb sdc และอื่นๆ ในกรณีนี้อุปกรณ์ที่เชื่อมต่อก็จะถูกเรียกเช่นกัน พาร์ติชันบนฮาร์ดไดรฟ์เรียกว่า: sda1, sda2, sda3 เห็นได้ชัดว่าพาร์ติชันเหล่านี้เป็นของไดรฟ์ A พาร์ติชันมีสามประเภท: หลัก ลอจิคัล และขยาย สามารถมีได้สูงสุดสี่ส่วนหลัก สามารถมีโลจิคัลพาร์ติชันได้ไม่จำกัดจำนวน แต่ละโลจิคัลพาร์ติชันเป็นส่วนหนึ่งของพาร์ติชันเสริม ในกรณีนี้สามารถมีส่วนขยายได้เพียงส่วนเดียวและในขณะเดียวกันก็เป็นส่วนหลัก กล่าวอีกนัยหนึ่ง หากเราจำเป็นต้องตั้งค่าโลจิคัลพาร์ติชัน เราจะใช้พาร์ติชันหลักหนึ่งพาร์ติชัน ทำให้ขยาย และสร้างโลจิคัลพาร์ติชันตามพาร์ติชันนั้น

ด้านล่างเป็นตัวอย่างของการหาร ฮาร์ดไดรฟ์ในโปรแกรม GParted จะเห็นได้ว่ามีสามพาร์ติชันหลักที่สร้างขึ้นบนดิสก์: sda1, sda2, sda3 สองพาร์ติชันแรกถูกใช้ภายใต้ Windows: sda1 - สำหรับระบบปฏิบัติการนั้นเอง, sda2 - สำหรับข้อมูลผู้ใช้ SDA3 ใช้ภายใต้ Linux และขยายเพิ่มเติม จากการขยายส่วนขยาย มีการสร้างสามรายการขึ้น โลจิคัลพาร์ติชัน: sda5 - สำหรับระบบไฟล์รูท (/), sda6 - สำหรับพาร์ติชั่นสลับ (linux-swap), sda7 - สำหรับไฟล์ผู้ใช้ (โฮม) คุณจะเห็นได้ทันทีว่า Windows ใช้ระบบไฟล์ nfts และ Linux ใช้ ext4 นี้ ตัวอย่างที่ดีแยกจากกัน แต่คุณไม่จำเป็นต้องทำแบบนั้น

ใน Linux จะมีหนึ่งรูทเสมอและเขียนแทนด้วย '/' เส้นทางไปยังไฟล์ใด ๆ สัมพันธ์กับรูทนี้ การแนบระบบไฟล์อื่นเข้ากับรูททำได้โดยใช้การดำเนินการเมานท์

การติดตั้งคือการดำเนินการแนบอุปกรณ์จัดเก็บข้อมูลเข้ากับแผนผังไดเร็กทอรี

การติดตั้งทำได้โดยใช้คำสั่ง เมานต์ระบบไฟล์ mount_point

ยังได้กล่าวถึงก่อนหน้านี้คือแนวคิดของพาร์ติชั่นสว็อป

สลับพาร์ติชัน (SWAP) คือ ส่วนพิเศษบนฮาร์ดไดรฟ์หรือไฟล์ที่ระบบปฏิบัติการย้าย RAM แต่ละบล็อกไปในกรณีที่ RAM ไม่เพียงพอในการรันกระบวนการ

แต่เราพูดนอกเรื่องเล็กน้อย มาติดตั้งเซิร์ฟเวอร์ของเราต่อ ทาง การทำเครื่องหมายยากฉันทิ้งดิสก์ไว้ตามดุลยพินิจของคุณ แต่เพื่อรวมข้อมูลข้างต้นฉันจะเลือกวิธี "ด้วยตนเอง"

เลือกฮาร์ดไดรฟ์ของเรา

จนถึงตอนนี้ฉันมีพาร์ติชั่น SDA หลักเพียงอันเดียวเท่านั้นและ พื้นที่ว่าง 8.6 กิกะไบต์ ฉันวางแผนที่จะใช้ 1 Gb สำหรับพาร์ติชั่น swap, 4 Gb สำหรับพาร์ติชั่นรูท, 3.6 Gb สำหรับ โฮมไดเร็กทอรี- ในเวลาเดียวกัน ฉันจะทำให้ทั้งสามส่วนเป็นส่วนหลัก (เนื่องจากฉันวางแผนที่จะใช้ระบบปฏิบัติการเดียวบนคอมพิวเตอร์เครื่องนี้) เราเลือกพื้นที่ที่ไม่มีเครื่องหมายและเริ่มแบ่งออก

เราเลือกที่จะสร้างส่วนใหม่

ก่อนอื่น เราสร้างไฟล์สลับ เราตัดสินใจสร้างขนาด 1 Gb

โดยไม่ต้องลงรายละเอียดให้เลือกตำแหน่งของส่วนหน้าแรกใหม่

ประเภทของส่วนใหม่คือส่วนหลัก เนื่องจากเราตัดสินใจว่าแต่ละส่วนจะเป็นส่วนหลัก

ไปที่แท็บ "ใช้เป็น" เพื่อเลือกประเภทพาร์ติชัน

เลือกประเภท - สลับพาร์ติชั่น

เพียงเท่านี้ - การตั้งค่าส่วนแรกเสร็จสมบูรณ์ ใช้การตั้งค่า

พาร์ติชันที่เหลืออีกสองพาร์ติชันได้รับการกำหนดค่าในลักษณะเดียวกันทุกประการ - เฉพาะขนาดและประเภทของพาร์ติชันเท่านั้นที่เปลี่ยนแปลง โดยทั่วไปแล้วท้ายที่สุดแล้วคุณควรจะจบลงด้วยสิ่งนี้

พื้นฐานของระบบพร้อมแล้ว เราเสนอให้จัดหาบางส่วน แพ็คเกจเพิ่มเติม- ในกรณีนี้ ทุกอย่างขึ้นอยู่กับวัตถุประสงค์ที่คุณติดตั้งเซิร์ฟเวอร์ (FTP, DNS, DHCP, เว็บ, MAIL หรืออย่างอื่น) ฉันสามารถพูดได้ว่าไม่ว่าในกรณีใดคุณควรเลือกแพ็คเกจ OpenSSH ซึ่งออกแบบมาสำหรับการเข้าถึงระยะไกลผ่าน SSH ในกรณีของฉัน เซิร์ฟเวอร์นั้นเป็นเซิร์ฟเวอร์ทดสอบ และฉันจะไม่เลือกสิ่งใดเลย แพ็คเกจเพิ่มเติมทั้งหมดจะถูกติดตั้งหลังการติดตั้ง

ในตอนท้ายเราเสนอให้ติดตั้งระบบ GRUB บูตโหลดเดอร์ไปที่หน้าแรก รายการบูต- ฉันสามารถพูดได้ว่าหาก Ubuntu เป็นระบบปฏิบัติการเดียวบนคอมพิวเตอร์ของคุณ คุณสามารถเลือกใช่ได้เลย หากไม่แน่ใจ ควรเลือก No ไม่ว่าในกรณีใด แม้ว่าคุณจะติดตั้ง GRUB แล้วและตอนนี้ไม่สามารถเข้าสู่ระบบปฏิบัติการอื่นได้ แต่สถานการณ์นี้สามารถแก้ไขได้โดยทำการเปลี่ยนแปลง ไฟล์การกำหนดค่าด้วง. ฉันจะแสดงวิธีการทำเช่นนี้ในบทความต่อไปนี้

ยินดีด้วย เซิร์ฟเวอร์ของเราพร้อมใช้งานแล้ว :)

___________________________

คู่มือนี้เป็นเกี่ยวกับวิธีการเตรียมเซิร์ฟเวอร์ Ubuntu 9.10 (Karmic Koala) และติดตั้ง ISPConfig 3 บนเซิร์ฟเวอร์ ISPConfig 3 เป็นแผงควบคุมเว็บโฮสติ้งที่ช่วยให้คุณจัดการบริการต่อไปนี้ผ่านเว็บเบราว์เซอร์ของคุณ: เว็บเซิร์ฟเวอร์อาปาเช่, เมลเซิร์ฟเวอร์ Postfix เซิร์ฟเวอร์ฐานข้อมูล ข้อมูลมายเอสคิวแอล, เซิร์ฟเวอร์ชื่อ MyDNS, เซิร์ฟเวอร์ไฟล์ PureFTPd, โปรแกรมป้องกันสแปม SpamAssassin, โปรแกรมป้องกันไวรัส ClamAVและอีกมากมาย

โปรดทราบว่าคำอธิบายนี้ใช้ไม่ได้กับ ISPConfig 2 แต่ใช้ได้กับ ISPConfig 3 เท่านั้น!

ความต้องการ

หมายเหตุเบื้องต้น

ในบทช่วยสอน ฉันใช้ชื่อโฮสต์ server1.example.com ที่มีที่อยู่ IP 192.168.0.100 และเกตเวย์ 192.168.0.1 การตั้งค่าเหล่านี้อาจแตกต่างกันไปสำหรับคุณ ดังนั้นคุณจะต้องเปลี่ยนการตั้งค่าเหล่านี้หากจำเป็น

การติดตั้งระบบหลัก

ใส่ดิสก์การติดตั้ง Ubuntu ของคุณลงในไดรฟ์แล้วบู๊ตจากมัน เลือกภาษาการติดตั้งของคุณ จากนั้นเลือก "ติดตั้งเซิร์ฟเวอร์ Ubuntu":

เลือกภาษาของคุณ (อีกครั้ง) ตำแหน่ง และรูปแบบแป้นพิมพ์

โปรแกรมติดตั้งจะตรวจสอบดิสก์และอุปกรณ์ของคุณกำหนดค่าเครือข่ายด้วย โดยใช้ DHCPถ้ามีเซิร์ฟเวอร์ DHCP อยู่ในเครือข่าย:

ป้อนชื่อคอมพิวเตอร์ของคุณ ในตัวอย่างนี้ ระบบของฉันชื่อ server1.example.com ดังนั้นฉันจึงป้อน server1:

ตอนนี้คุณต้องแบ่งพาร์ติชันฮาร์ดไดรฟ์ของคุณ เพื่อความง่าย ฉันเลือก "อัตโนมัติ - ใช้ดิสก์ทั้งหมดและกำหนดค่า LVM" สิ่งนี้จะสร้างพาร์ติชั่นหนึ่งที่มีโลจิคัลไดรฟ์สองตัว: อันหนึ่งสำหรับระบบไฟล์รูท (/) อีกอันสำหรับพาร์ติชั่นสลับ แน่นอนว่าการแบ่งพาร์ติชั่นนั้นขึ้นอยู่กับคุณ ดังนั้นหากคุณรู้ว่าคุณกำลังทำอะไรอยู่ คุณก็ยังสามารถแบ่งพาร์ติชั่นไดรฟ์ด้วยตนเองได้ หากคุณแยกพาร์ติชัน /home และ /var ออก คุณอาจพบว่าสิ่งนี้มีประโยชน์ในอนาคต

เลือกดิสก์ที่จะแบ่งพาร์ติชันและตอบคำถาม “เขียนการเปลี่ยนแปลงลงดิสก์และเปลี่ยน LVM?” ตอบว่า "ใช่"

หากคุณเลือก "อัตโนมัติ - ใช้ดิสก์ทั้งหมดและกำหนดค่า LVM" โปรแกรมแบ่งพาร์ติชันจะสร้างขึ้นมา ส่วนใหญ่ใช้พื้นที่ดิสก์ทั้งหมด ตอนนี้คุณสามารถกำหนดได้ว่าจำนวนเท่าใด พื้นที่ดิสก์ต้องใช้โดยโลจิคัลไดรฟ์ (/) และ (สลับ) ไม่ควรเว้นพื้นที่ว่างไว้ คุณสามารถขยายพื้นที่ที่มีอยู่ได้ในภายหลัง ไดรฟ์แบบลอจิคัลหรือสร้างใหม่ สิ่งนี้ให้ความยืดหยุ่นมากขึ้น

เมื่อเสร็จแล้ว คำถาม "เขียนการเปลี่ยนแปลงลงดิสก์" คุณต้องตอบว่า "ใช่":

พาร์ติชันใหม่ของคุณจะถูกสร้างขึ้นและจัดรูปแบบ:

จากนั้นระบบหลักจะถูกติดตั้ง:

สร้างผู้ใช้ เช่น ผู้ดูแลระบบ โดยใช้ชื่อผู้ใช้ ผู้ดูแลระบบ อย่าใช้ผู้ดูแลระบบเป็นชื่อผู้ใช้เนื่องจากเป็นชื่อผู้ใช้ที่สงวนไว้ใน Ubuntu 9.10

ฉันไม่ต้องการการเข้ารหัส โฮมโฟลเดอร์ดังนั้นฉันจึงเลือก "ไม่":

ฉันค่อนข้างหัวโบราณและอยากจะอัปเดตเซิร์ฟเวอร์ด้วยตนเองเพื่อให้สามารถควบคุมได้มากขึ้น ดังนั้นฉันจึงไม่เปิดใช้งานการอัปเดตอัตโนมัติ แน่นอนว่าทางเลือกของคุณเป็นของคุณ

เราต้องการเซิร์ฟเวอร์ DNS, Mail และ LAMP อย่างไรก็ตาม ฉันไม่ได้เลือกเซิร์ฟเวอร์ใดเลยในตอนนี้เพราะฉันชอบที่จะมี ควบคุมเต็มรูปแบบเหนือสิ่งที่ติดตั้งบนระบบของฉัน แพ็คเกจที่จำเป็นเราจะติดตั้งในภายหลังด้วยตนเอง รายการเดียวที่ฉันตรวจสอบที่นี่คือ "เซิร์ฟเวอร์ OpenSSH" ฉันจะต้องเชื่อมต่อกับระบบหลังจากการติดตั้งเสร็จสมบูรณ์โดยใช้ไคลเอนต์ SSH เช่น Putty:

ดังนั้นการติดตั้งระบบหลักจึงเสร็จสมบูรณ์ นำแผ่นดิสก์การติดตั้งออกจากไดรฟ์และเลือกดำเนินการต่อเพื่อรีบูตระบบ:

ใน เดือนหน้าเราจะติดตั้งเซิร์ฟเวอร์ SSH และ vim-nox โดยใช้บัญชีผู้ดูแลระบบของเราและกำหนดค่าเครือข่ายด้วย

วันนี้ฉันจะบอกวิธีติดตั้งเซิร์ฟเวอร์ Ubuntu 14.04.1 LTS และตั้งค่าการเข้าถึงระยะไกล ฉันไม่คิดว่าจะมีใครโต้แย้งฉันได้ว่า Ubuntu นั้นถูกใช้อย่างแพร่หลายที่สุด การกระจายอูบุนตูสร้างขึ้นเพื่อบุคคล (และไม่ใช่สำหรับผู้ดูแลระบบที่มีหนวดมีเครา) เป็นที่น่าสังเกตว่า Ubuntu กำลังพัฒนาและดีขึ้นทุกปี นั่นคือเหตุผลที่ว่าทำไมการกระจายนี้จึงถูกเลือกทั้งสองเพื่อ ใช้ในบ้านบนคอมพิวเตอร์ทั่วไป และสำหรับใช้งานบนเซิร์ฟเวอร์ของบริษัทขนาดใหญ่

ฉันเองเริ่มคุ้นเคยกับ Ubuntu ตั้งแต่เวอร์ชัน 7.10 เมื่อฉันเริ่มเข้าใจความซับซ้อนทั้งหมดของ Linux ระบบปฏิบัติการฉันก็ค้นพบโลกใหม่ด้วย ความเป็นไปได้ที่กว้างขวาง- ฉันมั่นใจอย่างยิ่งว่าทันทีที่ทำการตลาด ระบบปฏิบัติการลินุกซ์ระบบจะใช้จ่าย เงินมากขึ้นจากนั้นพวกเขาก็จะเริ่มเข้าสู่บ้านของผู้ใช้ทั่วไปอย่างรวดเร็ว

หมดเวลาไปแล้วกับการติดตั้งห้องผ่าตัด ระบบลินุกซ์พร้อมด้วยการทำงานในเครื่องเทอร์มินัลและการอ่านคู่มือ วันนี้การติดตั้ง Ubuntu นั้นไม่ยากไปกว่าการติดตั้ง Windows 7 และหลังการติดตั้งคุณสามารถใช้งานได้อย่างเต็มที่โดยไม่ต้องติดตั้ง ซอฟต์แวร์เพิ่มเติมและไดรเวอร์

วันนี้ฉันจะเริ่มบทความเกี่ยวกับการทำงานกับเซิร์ฟเวอร์ Ubuntu ในอนาคตอันใกล้นี้ฉันจะเขียนสิ่งที่น่าสนใจมากมายหลังจากอ่านบทความชุดนี้แล้วแม้จะไม่ค่อยมากนัก ผู้ใช้ขั้นสูงจะสามารถตั้งค่าเซิร์ฟเวอร์สำหรับองค์กรที่จะกระจายที่อยู่ IP, กระจายอินเทอร์เน็ต, จะสามารถจัดเก็บเอกสารของผู้ใช้และเป็นเซิร์ฟเวอร์เมลได้

ดาวน์โหลดเซิร์ฟเวอร์ Ubuntu 14.04.1 LTS

คำนำหน้า LTS ในชื่อบ่งบอกถึงการสนับสนุนการจัดจำหน่ายในระยะยาว การเผยแพร่ที่ฉันอธิบายจะได้รับการสนับสนุนจากชุมชนจนถึงเดือนเมษายน 2019 ซึ่งจะมาพร้อมกับการอัปเดตและการแก้ไขที่กำจัดข้อบกพร่องและช่องโหว่

เพื่อช่วยคุณจากการค้นหาเป็นเวลานานคุณสามารถดาวน์โหลดดิสก์อิมเมจได้โดยใช้ปุ่ม:

ฉันจะติดตั้งเซิร์ฟเวอร์ Ubuntu บนเครื่องเสมือน คุณสามารถทำซ้ำประสบการณ์ของฉัน หรือติดตั้งบนคอมพิวเตอร์จริงโดยตรง การติดตั้งบนเครื่องเสมือนและบนคอมพิวเตอร์จริงจะเหมือนกัน

การติดตั้งเซิร์ฟเวอร์ Ubuntu 14.04.1 LTS

ในการติดตั้งเซิร์ฟเวอร์ Ubuntu ฉันได้เตรียมพารามิเตอร์ต่อไปนี้:

  • แรม: 256 เมกะไบต์
  • ซีพียู: 1 คอร์ 64 บิต
  • วินเชสเตอร์: sata 10 Gb
  • หน่วยความจำวิดีโอ: 12 เมกะไบต์
  • อะแดปเตอร์เครือข่าย: 1 – มองเข้าไปในโลก 2 – ดูออนไลน์

การเลือกคุณสมบัติดังกล่าวเกิดจากความต้องการทรัพยากรต่ำของระบบปฏิบัติการ

หลังจากเชื่อมต่อดิสก์อิมเมจกับเครื่องเสมือนแล้ว ให้เปิดใช้งาน และหากทุกอย่างเรียบร้อยดี คุณจะเห็นหน้าต่างสำหรับเลือกภาษาการติดตั้ง
เลือกภาษารัสเซียแล้วกด "Enter" ในรายการที่เปิดขึ้น ให้เลือก “ติดตั้งเซิร์ฟเวอร์ Ubuntu”
ในหน้าต่างถัดไป ให้เลือกตำแหน่งของคุณ ฉันเลือก "สหพันธรัฐรัสเซีย"
หลังจากนั้นตัวติดตั้งจะเสนอให้กำหนดค่าคีย์บอร์ดหรือเลือกจากรายการ คลิก “ไม่” เพื่อเลือกจากรายการ
เลือกประเทศที่ต้องการใช้แป้นพิมพ์
เลือกเค้าโครง ฉันแค่เลือก "รัสเซีย"
ในหน้าต่างถัดไป คุณจะถูกขอให้กำหนดค่ารูปแบบการสลับ เลือกตามดุลยพินิจของคุณ ฉันเลือก Alt+Shift เพราะฉันคุ้นเคยกับชุดค่าผสมนี้แล้ว
ตอนนี้เรารอสักครู่เพื่อให้โหลด ส่วนประกอบเพิ่มเติม- หลังจากโหลดส่วนประกอบแล้ว คุณจะเห็นหน้าต่างการเลือกหลัก อินเตอร์เฟซเครือข่าย- ฉันจะเลือก eth0 เป็นการ์ดหลักนี่คือการ์ดเครือข่ายที่จะมองโลกและเซิร์ฟเวอร์จะเชื่อมต่อกับอินเทอร์เน็ตผ่านมัน
หน้าต่างถัดไปจะขอให้คุณเลือกชื่อคอมพิวเตอร์ ฉันตั้งชื่อเซิร์ฟเวอร์ของฉันว่า “srv-01”
ถัดไปคุณต้องป้อนชื่อผู้ใช้ของคุณ อย่าสับสนกับการเข้าสู่ระบบมันคือชื่อ ฉันเข้าสู่ Ivan Malyshev
แต่ในหน้าต่างถัดไป ให้ระบุชื่อผู้ใช้ (เข้าสู่ระบบ) ที่คุณจะเข้าสู่ระบบ ฉันระบุ srvadmin
หลังจากเข้าสู่ระบบแล้ว ให้สร้างและระบุรหัสผ่าน (ขอแนะนำให้ใช้รหัสผ่านที่มีตัวพิมพ์เล็กและ ตัวพิมพ์ใหญ่ตลอดจนตัวเลขและสัญลักษณ์) หลังจากป้อนรหัสผ่านแล้ว คุณจะต้องทำซ้ำในหน้าต่างถัดไปเพื่อหลีกเลี่ยงข้อผิดพลาด
ถัดไปคุณจะถูกขอให้เข้ารหัส โฮมไดเร็กทอรี- ฉันจะไม่เก็บสิ่งที่ผิดกฎหมายหรือความลับไว้ในนั้น ดังนั้นฉันจะไม่เข้ารหัส
ถัดไปคุณต้องเลือก "เขตเวลา" เนื่องจากเครื่องเสมือนได้รับอินเทอร์เน็ตผ่าน eth0 ตัวติดตั้งจึงกำหนดว่าฉันอยู่ที่ไหน ฉันจะคลิก "ใช่" เนื่องจากเขาเลือกถูกต้อง หากสิ่งนี้ไม่เกิดขึ้นกับคุณหรือเลือกเขตเวลาไม่ถูกต้อง ให้เลือกด้วยตนเอง
ถัดไปคุณต้องเลือกตำแหน่งที่จะติดตั้งระบบ ขั้นตอนนี้ทำให้หลายคนสับสน แต่ไม่จำเป็นต้องกลัว ง่ายมาก!
เนื่องจากฉันกำลังติดตั้งเซิร์ฟเวอร์ Ubuntu เพื่อวัตถุประสงค์ในการฝึกอบรม ฉันจะเลือกตัวเลือกที่สอง "ใช้ดิสก์ทั้งหมดโดยอัตโนมัติ" แต่หากคุณกำลังติดตั้งระบบบนฮาร์ดไดรฟ์จริง ฉันแนะนำให้คุณติดตั้ง /usr, /var, /home ไดเร็กทอรีบนโลจิคัลไดรฟ์ที่แตกต่างกัน
เราเลือกดิสก์ (ฉันมีเพียงอันเดียวตัวเลือกนั้นเล็ก) คุณอาจมีหลายดิสก์หากเชื่อมต่อฮาร์ดไดรฟ์หลายตัวเข้ากับคอมพิวเตอร์ ในหน้าต่างถัดไป คุณต้องยอมรับคำเตือนเกี่ยวกับการบันทึกข้อมูลเกี่ยวกับพาร์ติชัน คลิก "ใช่"
ต่อไปเราจะยืนยันการใช้ดิสก์ทั้งหมด
ในหน้าต่างถัดไป โปรแกรมติดตั้งจะแสดงวิธีการแบ่งพาร์ติชันดิสก์ เราเห็นด้วยโดยเลือก "เสร็จสิ้นการแบ่งพาร์ติชันและเขียนการเปลี่ยนแปลงลงดิสก์"
ในหน้าต่างถัดไป เราจะยืนยันการกระทำของเราอีกครั้ง (มันทำให้เรานึกถึง Windows ใช่ไหม)
และตอนนี้เรารอจนกว่าการติดตั้ง Ubuntu Server 14.04.1 LTS จะเสร็จสิ้น

หากระหว่างการติดตั้งอินเทอร์เน็ตเชื่อมต่อกับเครือข่ายเครื่องเสมือนระบบจะพยายามติดตั้งการอัปเดต แต่ก่อนหน้านั้นระบบจะถามว่าคุณมีพรอกซีหรือไม่ หากคุณไม่มีพรอกซีและอินเทอร์เน็ตโดยตรงให้คลิก "ดำเนินการต่อ"
เมื่อถูกถามเกี่ยวกับการติดตั้งการอัปเดตปกติ ฉันเลือก “ไม่” อัปเดตอัตโนมัติ- ฉันไม่ชอบเมื่อมีการติดตั้งบางอย่างโดยที่ฉันไม่รู้ ทุกสิ่งที่คุณต้องการสามารถอัปเดตได้ด้วยตนเอง
ในหน้าต่าง "เลือกซอฟต์แวร์" ฉันทำเครื่องหมายในช่องสำหรับ "เซิร์ฟเวอร์ OpenSSH" เท่านั้น โดยเราจะสามารถเข้าถึงเซิร์ฟเวอร์จากระยะไกลได้ เราจะติดตั้งทุกอย่างในภายหลังด้วยตนเอง
ในตอนท้ายของการติดตั้งเซิร์ฟเวอร์ คุณต้องตกลงที่จะติดตั้งโปรแกรมโหลดบูตลงในมาสเตอร์บูตเรคคอร์ด
หลังจากติดตั้ง bootloader คุณจะเห็นข้อความเกี่ยวกับการติดตั้งระบบสำเร็จ
คลิก “ดำเนินการต่อ” และรอจนกระทั่งเครื่องรีบูต หลังจากการบูตครั้งแรก คุณจะเห็นข้อความแจ้งให้เข้าสู่ระบบ ป้อนข้อมูลเข้าสู่ระบบที่ระบุระหว่างการติดตั้ง จากนั้นป้อนรหัสผ่าน
ถ้าคุณเข้ามา เข้าสู่ระบบที่ถูกต้องและรหัสผ่านก็จะเข้าระบบแล้วเจอหน้าจอแบบนี้
ณ จุดนี้ การติดตั้งเซิร์ฟเวอร์ Ubuntu 14.04.1 LTS ถือว่าเสร็จสมบูรณ์

การตั้งค่าเริ่มต้นของเซิร์ฟเวอร์ Ubuntu 14.04.1 LTS

ก่อนอื่น เราเปิดใช้งานบัญชีรูท โดยค่าเริ่มต้นจะถูกปิดใช้งาน หากต้องการเปิดใช้งานให้เขียนในคอนโซล

รูท Sudo passwd

ขั้นแรกให้ป้อนรหัสผ่านของผู้ใช้ปัจจุบัน จากนั้นสองครั้ง รหัสผ่านใหม่สำหรับราก หากคุณทำทุกอย่างถูกต้องคุณจะเห็นภาพต่อไปนี้
ตอนนี้เรามาตรวจสอบกัน เข้าสู่เทอร์มินัล:

* คำสั่งนี้จะเข้าสู่ระบบคุณ ผู้ใช้รูทเข้าสู่ระบบ

เมื่อระบบขอให้ป้อนรหัสผ่าน ให้ป้อนรหัสผ่านที่คุณป้อนสำหรับรูท หากทุกอย่างถูกต้อง พรอมต์คอนโซลจะเปลี่ยนจาก srvadmin@srv-01:$ _ เป็น root@srv-01:~# _

นาโน /etc/เครือข่าย/อินเทอร์เฟซ

ไฟล์อินเทอร์เฟซจะเปิดขึ้นมา โปรแกรมแก้ไขข้อความนาโน โดยค่าเริ่มต้นไฟล์นี้จะมีลักษณะเช่นนี้
เพิ่มบรรทัดต่อไปนี้ในไฟล์นี้:

Auto eth0 iface eth0 ที่อยู่คงที่ inet 10.10.60.45 netmask 255.255.255.0 เกตเวย์ 10.10.60.1 auto eth1 iface eth1 ที่อยู่คงที่ inet 192.168.0.1 netmask 255.255.255.0

ดังนั้นเราจึงเชื่อมต่ออินเทอร์เฟซทั้งสองโดยอัตโนมัติด้วยที่อยู่คงที่ มาสก์ และเกตเวย์สำหรับการ์ดใบแรก ในเทอร์มินัลควรมีลักษณะดังนี้:
หลังจากป้อนข้อมูลแล้ว ให้กด Ctrl+O (บันทึก) จากนั้นกด Ctrl+X (ปิด)

หากต้องการรีสตาร์ทเครือข่าย ให้ป้อนแต่ละบรรทัดในเทอร์มินัลตามลำดับ:

(ifdown eth0; ifup eth0)& (ifdown eth1; ifup eth1)&

ตอนนี้เรามาตรวจสอบสิ่งที่ ifconfig ส่งออก ผลลัพธ์ของฉันมีลักษณะเช่นนี้ ของคุณควรจะเหมือนกัน
ยอดเยี่ยม! มา ping ya.ru กันดีกว่า เข้าไปในเทอร์มินัล

ปิง ya.ru

ถ้าเห็นแลกเป็นแพ็คเกจก็ถือว่าโอเค! คุณมีอินเทอร์เน็ต!

ในกรณีของฉัน ไม่ใช่ทุกอย่างเป็นไปตามที่ฉันต้องการ เมื่อส่ง Ping Yandex ฉันได้รับคำตอบนี้

ping: โฮสต์ที่ไม่รู้จัก ya.ru

แม้ว่า IP Address จะเป็น 8.8.8.8 ( Google DNS) ปิง ดังนั้นจึงมีปัญหากับ DNS บนเซิร์ฟเวอร์ของเรา กล่าวคือ ไม่สามารถประมวลผลชื่อได้

ฉันพบวิธีแก้ไขปัญหาโดยการเพิ่ม ที่อยู่ DNS Google เพื่อยื่น /etc/resolvconf/resolv.conf.d/tail.

เปิดไฟล์ sudo นาโน /etc/resolvconf/resolv.conf.d/tailและเข้าแถวตรงนั้น

เนมเซิร์ฟเวอร์ 8.8.8.8

บันทึกและปิดไฟล์ลอง ping ไซต์ Yandex แล้วดูเถิด
เราได้แยกอินเทอร์เน็ตออกแล้ว เรามาต่อกันดีกว่า

การเชื่อมต่อระยะไกลไปยังเซิร์ฟเวอร์ Ubuntu 14.04.1 LTS

สำหรับ การเชื่อมต่อระยะไกลเราจะนำไปใช้กับเซิร์ฟเวอร์ โปรแกรม PuTTY- นี่คือที่สุด เครื่องมือที่มีประโยชน์สำหรับการทำงานระยะไกลในคอนโซลเซิร์ฟเวอร์ คุณสามารถดาวน์โหลดได้โดยใช้ปุ่ม:

เมื่อดาวน์โหลดแล้ว โปรแกรมไม่จำเป็นต้องติดตั้ง หลังจากสตาร์ทโปรแกรมแล้วจะเห็นหน้าต่างแบบนี้
สิ่งที่คุณต้องทำ: ป้อนที่อยู่ IP ของเซิร์ฟเวอร์ ระบุพอร์ต ป้อนชื่อการเชื่อมต่อ และเลือกการเข้ารหัส (แสดงในภาพหน้าจอ)

เพื่อหลีกเลี่ยงไม่ให้ต้องป้อนข้อมูลนี้ทุกครั้ง ให้คลิก “บันทึก” และ การเชื่อมต่อครั้งต่อไปเพียงเลือกชื่อการเชื่อมต่อจากรายการ

ลองเชื่อมต่อดูครับ และถ้าทุกอย่างถูกต้องแล้วจะเห็นหน้าต่างแบบนี้
กรอกชื่อผู้ใช้และรหัสผ่านของคุณและสนุกได้เลย!

นี่คือจุดที่ฉันคิดว่าเราสามารถอ่านบทความให้จบได้ ฉันคิดว่าหลังจากอ่านแล้ว คุณจะสามารถติดตั้งเซิร์ฟเวอร์ Ubuntu 14.04.1 LTS ได้ อย่างที่คุณเห็นไม่มีอะไรซับซ้อน หากคุณมีคำถามหรือข้อเสนอแนะใด ๆ ในขณะที่อ่านบทความยินดีต้อนรับสู่ความคิดเห็น ฉันยังต้องการดึงความสนใจของคุณไปที่ความจริงที่ว่าเซิร์ฟเวอร์สามารถจัดการได้