7/30/2563

สอนติดตั้ง VestaCP

Vesta Control Panel คือ?

Vesta เป็น Web Hosting Control Panel ประเภท Open Source อนุญาติให้เราดาวน์โหลดมาใช้ฟรีๆ เป็น CP ที่ติดตั้งได้ง่ายมากเมื่อเทียบกับ CP ตัวอื่นๆ และใช้ Native Package ทั้งหมดของ OS ซึ่งมีข้อดี คือ ถ้าหากต้องการอัพเดท Package สามารถใช้คำสั่ง yum update ได้ตามปกติ เพราะระบบไม่มีการแยก compile กับ OS แต่อย่างใด

Vesta Control Panel มีอะไรน่าสนใจบ้าง?

Web Server (Apache with Nginx as Reverse Proxy)
DNS server
Database Server
Mail Server
FTP Server
Nginx out of the box
SSL certificates & SNI
Wildcard support
Configuration Templates
DKIM support
Fast Backups
Easy update manager
System Monitoring
AntiSpam / Antivirus
WHMCS billing support
Simple and Clean GUI
Powerfull CLI & API
Secure Platform
GPL v3 License
Autoupdates

Vesta Control Panel รองรับระบบปฎิบัติการ(OS) อะไรบ้าง?

  • RHEL 5, RHEL 6
  • CentOS 5, CentOS 6
  • Debian 7
  • Ubuntu 12.04, Ubuntu 12.10, Ubuntu 13.04, Ubuntu 13.10, Ubuntu 14.04

ติดตั้ง Vesta Control Panel ผ่าน SSH

เนื่องจากเพิ่งได้ VPS ฟรี 2 เดือน มาลองใช้ จึงลองสร้าง Droplet และติดตั้งอิมเมท CentOS 6.5 x64 เพื่อใช้สำหรับทดสอบในครั้งนี้

1. ดาวน์โปรแกรม PuTTY เปิดโปรแกรมและพิมพ์หมายเลขไอพีของเครื่องเซิร์ฟเวอร์ของคุณ

putty-ssh

2. ล็อกอินเครื่องเซิร์ฟเวอร์และอัพเดทโปรแกรมที่เคยติดตั้งผ่าน yum
พิมพ์คำสั่ง yum update

3. ติดตั้งโปรแกรมพื้นฐาน
พิมพ์คำสั่ง yum install vim nano screen unzip zip curl wget dos2unix nc bc bind-utils -y

4. ดาวน์โหลดสคริปต์สำหรับการติดตั้ง
พิมพ์คำสั่ง curl -O http://vestacp.com/pub/vst-install.sh

5. เรียกใช้สคริปต์
พิมพ์คำสั่ง bash vst-install.sh

vestacp-setup

-แสดงหน้าจอยืนยันการติดตั้ง
พิมพ์คำสั่ง “Y”

-แสดงหน้าจอถามอีเมล
พิมพ์อีเมล์สำหรับรับชื่อผู้ใช้และรหัสผ่าน กด Enter

-แสดงหน้าจอถาม Hostname กด Enter

รอ…

6. หลังติดตั้งเสร็จ หน้าจอจะแสดงชื่อผู้ใช้และรหัสผ่าน สำหรับล็อกอินเข้าสู่ระบบ พร้อมทั้งส่งไปยังอีเมลที่ระบุไว้ตอนต้นด้วย

vestacp-install-finish

7. เปิดเว็บไซต์แล้วล็อกอินเข้าสู่ระบบ ตามข้อมูลที่ได้รับทางอีเมล์หรือจากหน้าจอโปรแกรม PuTTY

vestacp-login

8.หน้าแรกของ VestaCP

Vesta Control Panel

CP มีเมนูเยอะใช้ได้เลย แต่ไม่น่าจะใช่เรื่องยากสำหรับการเรียนรู้ ลองเอาไปติดตั้งเล่นกันดูน่ะ ไปแล้ว…

ที่มา : http://www.vestacp.com

7/27/2563

การติดตั้ง CENTOS 8 สิ่งควรรู้ก่อนติดตั้ง CentOS 8 เซิร์ฟเวอร์ที่จะติดตั้ง เป็น BIOS หรือ UEFI

เซิร์ฟเวอร์รุ่นเก่าที่เป็น BIOS จัดการดิสก์ แบบ Master Boot Record มี Primary
Partition, Extended Partition และ Logical Partition ข้อจำกัดคือแบ่งเป็น
Primary Partition ได้แค่ 4 พาร์ติชัน หาต้องการมากกว่านั้น ก็ต้องแบ่งเป็น
Extended Partition แล้วแบ่ง เป็น Logical Partition และจัดการดิสก์ได้ไม่เกิน 2 TB ส่วน UEFI ใช้ GPT (GUID Partition Table) ในการจัดการดิสก์
แบ่งพาร์ติชั้นได้ไม่จำกัดขึ้นกับ OS รองรับดิสก์มากกว่า 2 TB

ความต้องการขั้นต่ำในการติดตั้ง CentOS 8
CPU x86_64 ต้องการ RAM อย่างน้อย 1.5 GB แนะนำ 1.5 GB ต่อ CPU
พื้นที่ดิสก์ อย่างน้อย 10 GB แนะนำที่ 20 GB

หลักการแบ่งพาร์ติชันของ CentOS 8

ความจริงแล้วการติดตั้งลีนุกซ์โดยทั่วๆ ไปที่เป็น BIOS แค่มีพาร์ติชัน / (รูท) กับพาร์ติชัน swap ก็สามารถติดตั้งได้แล้วครับ ส่วน UEFI ก็จะมีพาร์ติชัน /boot/efi เพิ่มมา แต่ในการใช้งานจริงๆ มันมีทั้งการรักษาความปลอดภัยของเซิร์ฟเวอร์ การทำดิสก์โควต้า เผื่อการแก้ปัญหาในอนาคต และอื่นๆ การมีแค่ 2 พาร์ติชันที่กล่าวมา ติดตั้งเล่นๆ ได้ แต่ไม่เหมาะกับนำไปใช้งานจริง ส่วนใครจะบอกว่าใช้อยู่ก็ใช้ได้ ก็ใช้ไปครับไม่มีปัญหาก็โชคดีไป การแบ่งพาร์ติชันเพื่อนำไปใช้งานจริง ผู้ติดตั้งจะต้องรู้ก่อนว่าเซิร์ฟเวอร์ที่เราติดตั้งใช้งานมีการเก็บข้อมูลที่ไหน จะได้แบ่งพาร์ติชันนั้นๆ
ให้มีพื้นที่มากพอสำหรับเก็บข้อมูล การเพิ่มขึ้นของข้อมูลจะได้ไม่มีผลกระทบกับพื้นที่ของระบบปฎิบัติการ เช่น Server เก็บข้อมูลที่ไดเรกทอรีไหน เช่น Webserver เก็บข้อมูลที่ /var/www/html MySQL หรือ MariaDB เก็บข้อมูลที่ /var/lib/mysql เราก็จะแบ่งพาร์ติชัน /var ออกมาต่างหาก หากให้บริการเก็บไฟล์ผ่าน SAMBA ก็แบ่ง /home แยกออกมา สำหรับ CentOS ก็เช่นกัน จะมีการแบ่งพาร์ติชันแบบอัตโนมัติมาให้ข้อดีคือสะดวก และง่ายในการติดตั้ง แต่ส่วนมากจะแบ่งพาร์ติชัน /home ไว้เป็นพาร์ติชันที่มีพื้นที่มากที่สุด หากใครทำเซิร์ฟเวอร์ที่ใช้พื้นที่ที่ /home ก็โชคดีไป แต่ถ้าไม่ได้ใช้พื้นที่ /home ก็โชคร้ายไปครับ เช่นติดตั้ง MariaDB แบ่งพาร์ติชันอัตโนมัติ แบ่งพาร์ติชัน /home ขนาด 450 GB พาร์ติชัน / ขนาด 50GB ที่เก็บข้อมูลของ MariaDB อยู่ที่ /var/lib/mysql ซึ่งอยู่ภายใต้พาร์ติชัน / ก็สามารถใช้งานได้ไม่ถึง 50 GB นั้น ส่วน 450 GB ก็แบ่งทิ้งไว้เฉยๆ แต่ถ้าเกิดกรณีแบบนี้ขึ้นก็สามารถย้ายที่เก็บข้อมูลของ MariaDB ไปไว้ใน /home ได้ แต่ไม่กล่าวถึงในที่นี้

นอกจากนั้นการแบ่งพาร์ติชันแบบอัตโนมัติ ก็ยังพาร์ติชันมาแบบ LVM (Logical volume management) ถ้าผู้ติดตั้งมีความรู้เรื่อง LVM สามารถบริหารจัดการได้ก็ไม่เป็นไรครับใช้งานได้มีประโยชน์ แต่อนาคตหากฮาร์ดดิสก์มีปัญหาขึ้นมา ผู้ดูแลไม่สามารถใช้งาน LVM ได้ก็เป็นปัญหาอีก

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


พาร์ติชันของ CentOS ในคู่มือการติดตั้ง RHEL 8 ได้แนะนำการแบ่งพาร์ติชันที่เหมาะสมไว้ดังนี้

/boot พาร์ติชัน แนะนำขนาด 1 GB
/boot เป็นที่เก็บเคอร์เนล นั่นก็คือตัวระบบปฏิบัติการลีนุกซ์ พาร์ติชันนี้แหละที่มีส่วนสำคัญที่ทำให้ลีนุกซ์บูทได้

/ (รูท) พาร์ติชัน ขนาด 10 GB
/ เป็นไดเรกทอรีสูงสุดของระบบ ทุกๆ ไฟล์ที่เราติดตั้งจะเก็บอยู่ภายใน / ยกเว้นพาร์ติชันที่แบ่งออกมา
แต่พาร์ติชันเหล่านั้นก็จะเมาท์อยู่ภายใต้ /

Linux Filesystem

บนระบบปฏิบัติการ Windows เราคงคงคุ้นเคยกับ ระบบไฟล์ FAT FAT32 NTFS บนระบบปฎิบัติการลีนุกซ์มีระบบไฟล์ เช่น Ext3 Ext4 GFS GFS2 XFS ซึ่งแต่ละระบบไฟล์ก็มีก็ดีข้อด้อยต่างกันไป ปัจจุบัน CentOS 8 ใช้ XFS เป็นระบบไฟล์ตั้งต้น

XFS File System
XFS File System


swap พาร์ติชัน

swap พาร์ติชันเป็น virtual memory พาร์ติชันนี้จะถูกใช้งานเวลาที่ RAM ไม่พอ หลักการแบ่งพาร์ติชัน swap ดังตาราง

ขนาด swap พาร์ติชันที่เหมาะสม
ขนาด swap พาร์ติชันที่เหมาะสม

ครั้งที่ผมอบรม RHCE ก็จะต้องมีการแบ่งพาร์ติชัน /tmp ออกมาด้วย ขนาด 256 MB แต่ปัจจุบันดูเหมือนจะไม่มีการให้ความสำคัญกับการแบ่งพาร์ติชัน /tmp แยกออกมา รวมถึงระบบการแบ่งพาร์ติชันอัตโนมัติของ CentOS เอง