ติดตั้ง ubuntu 18.04 server

จาก Wiki Opensource

บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 2-10-2561
ดูแลโดย WIBOON

  • สภาพแวดล้อมตัวอย่างการติดตั้งของตัวอย่างนี้
  • เป็น ubuntu รุ่น server เวอร์ชั่น 18.04 แบบ 64 bit รุ่น เหมาะสำหรับทำเป็น server บน hardware จริง ที่ไม่ต้องการมี graphic desktop
  • ต้นฉบับจาก ubuntu-18.04.1-server-amd64.iso ที่ http://mirror.psu.ac.th/ubuntu-bionic/server-all/
  • ติดตั้งบน hard disk ทั้งลูก ซึ่งจะทำลายข้อมูลเก่าที่มีอยู่เดิม
  • ตั้งชื่อ user ว่า mama รหัสผ่านว่า 123456
  • ติดตั้งอยู่บน network ที่มี dhcp server บริการอยู่แล้ว


บูต PC ด้วยแผ่นซีดี ubuntu ที่เตรียมไว้
ได้หน้าต่าง Language ให้เลือก English เหมือนเดิม
ได้หน้าต่าง ubuntu ให้เลือก Install Ubuntu Server

ระบบจะทำงานต่อ ให้รอจนได้หน้าต่างว่า [!!] Select a language
ที่หัวข้อ "Language:" ให้คงค่าเดิมคือ English แล้วกดแป้น Enter
ได้หน้าต่างว่า [!!] Select your location
ที่หัวข้อ "Country, territory or area:" ให้เปลี่ยนไปเลือกเป็น other แล้วกดแป้น Enter
ที่หัวข้อ "Continent or region:" ให้เปลี่ยนเลื่อนไปหา -- Asia -- เลือก Thailand แล้วกดแป้น Enter
ได้หน้าต่างว่า [!] Configure locales
ที่หัวข้อ "Country to base default locale settings on:" ให้คงค่าเดิมคือ United States แล้วกดแป้น Enter

ได้หน้าต่างว่า "[!] Configure the keyboard" แสดงออกมา
ที่หัวข้อ "Detect keyboard layout?" ให้เลือกเปลี่ยนเป็น <No> แล้วกดแป้น Enter
ที่หัวข้อ "Country of origin for the keyboard:" ให้เลือกเปลี่ยนเป็น Thai แล้วกดแป้น Enter
ที่หัวข้อ "Keyboard layout:" ให้คงค่าเดิมคือ Thai แล้วกดแป้น Enter
ที่หัวข้อ "Method for toggling between national and Latin mode:" ให้คงค่าเดิมคือ Alt+Shift ไว้เหมือนเดิม แล้วกดแป้น Enter

ระบบจะทำงานต่อไปเรื่อยๆ
หาก network ไม่พร้อม จะได้หน้าจอเตือนว่า "Network autoconfiguration failed" ไม่ต้องทำอะไรให้กดแป้น Enter ได้เลย
ที่หัวข้อ "Network configuration method:" ให้เลือกเปลี่ยนเป็น "Do not configure the network at this time" แล้วกดแป้น Enter

ที่หัวข้อ "Hostname:" ให้เปลี่ยนชื่อโฮสต์ตามใจชอบ แล้วกดแป้น Enter

ได้หน้าต่างว่า "[!!] Set up users and passwords" แสดงออกมา
ที่หัวข้อ "Full name for the new user:" ให้ป้อนชื่อเต็มของผู้ใช้ใหม่ ในตัวอย่างนี้คือ mama แล้วกดแป้น Enter
ได้หัวข้อ "Username for your account:" ให้ป้อนชื่อของผู้ใช้ ในตัวอย่างนี้คือ mama แล้วกดแป้น Enter
ได้หัวข้อ "Choose a password for the new user:" ให้ป้อนรหัสผ่าน ในตัวอย่างนี้คือ 123456 แล้วกดแป้น Enter
(แนะนำให้ใช้แป้นพิมพ์แถวบนด้านซ้าย ไม่ควรใช้แป้นตัวเลขด้านขวา)
ได้หัวข้อ "Re-enter password to verify:" ให้ป้อนรหัสผ่านเดิมซ้ำอีกครั้ง ในตัวอย่างนี้คือ 123456 แล้วกดแป้น Enter
หากได้หน้าคำเตือน "Use weak password?" ให้เปลี่ยนไปเลือก <Yes> แล้วกดแป้น Enter
ได้หัวข้อ "Encrypt your home directory?" ให้ยังคงเลือกเป็น <No> แล้วกดแป้น Enter

หาก network ไม่พร้อมจะไม่มีหน้าต่างข้างล่างนี้
หากได้หน้าต่าง "[!] Configure the clock" ... Asia/Bangkok ... Is this timezone correct? ให้ยังคงเลือกเป็น <Yes> แล้วกดแป้น Enter

ได้หน้าต่าง "Partition disks" และจะเลือกค่า Guided partitioning ไว้ให้ กด Enter ต่อไป
ที่หัวข้อ "Partitioning method:" ให้เลือก "Guided - use entire disk" แล้วกดแป้น Enter
ได้หัวข้อ "Select disk to parition:" ตรวจสอบดูว่าเป็น hard disk ลูกที่ต้องการจริงๆ แล้วกดแป้น Enter
ได้หัวข้อ "Write the change to disk?" ให้เปลี่ยนไปเลือก <Yes> แล้วกดแป้น Enter
ระบบจะเริ่มทำการ Installing the system... และติดตั้งข้อมูลต่างๆ อาจต้องรอนาน

หาก network ไม่พร้อมจะไม่มีหน้าต่างข้างล่างนี้
หากได้หน้าจอถามถึง HTTP proxy information (blank for none): ไม่ต้องใส่ค่าอะไร ให้กดแป้น Enter ทำงานต่อเลย

ได้หน้าต่าง "[!] Configuring tasksel"
ที่หัวข้อ "How do you want to manage upgrades on this system?"
ให้ยังคงเลือกเป็น "No automatic updates" แล้วกดแป้น Enter

รอจนได้หน้าจอ "[!] Software selection" ที่หัวข้อ "Choose software to install:"
ให้เลือก "OpenSSH server" โดยการเลื่อนลูกศรไปที่ช่อง [ ] OpenSSH server
กดแป้น Spacebar จะกลายเป็น [*] OpenSSH server แล้วกดแป้น Enter

รอจนได้หน้าจอ "Install the GRUB boot loader to the master boot record? ให้ยังคงเลือกเป็น <Yes> แล้วกดแป้น Enter

ระบบจะทำการติดตั้งต่อไป จนได้หน้าต่างว่า "Finish the Installation"
แสดงว่าการติดตั้งเสร็จแล้ว ให้หยิบแผ่นซีดีออกจากถาด เลือก <Continue> แล้วกดแป้น Enter แล้ว PC จะถูกรีบูทใหม่
หลังจาก PC บูทใหม่จนได้หน้า console แสดงชื่อเครื่องตามที่ตั้งชื่อไว้

Ubuntu 18.04.x LTS ubuntu tty1
ubuntu login:

ให้ป้อนชื่อผู้ใช้ว่า mama แล้วกดแป้น Enter
ได้ข้อความว่า Password: ให้ป้อนว่า 123456 แล้วกดแป้น Enter
ก็จะเข้าไปทำงานในระบบได้ โดยมี prompt ว่า mama@ubuntu~$

การตรวจสอบชื่อ interfaces ใช้คำสั่ง ifconfig -a
สมมติว่าได้ชื่อ enp0s3

การตั้งค่า network interface แบบ DHCP IP
แก้ไขแฟ้ม /etc/netplan/01-netcfg.yaml ด้วยโปรแกรม nano หรือ vi ก็ได้ตามถนัด
แต่อย่าลืมต้องมีคำว่า sudo นำหน้าคำสั่งด้วยเพราะต้องใช้ระดับ root
เช่น sudo vi /etc/netplan/01-netcfg.yaml
ข้อมูลเดิมในแฟ้มมีแค่ดังตัวอย่าง

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: yes


การตั้งค่า network interface แบบ Fixed IP
หากต้องการใช้เลข IP แบบ fix ก็ต้องตั้งค่าเองในแฟ้ม /etc/netplan/01-netcfg.yaml เป็นตัวอย่างประมาณว่า IP คือ 10.0.100.251 ใน class C (/24) มี gateway ทำหน้าที่ nameserver ด้วย คือ 10.0.100.1 และมี nameserver ที่สองคือ 192.100.77.10

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
      addresses: [ 10.0.100.250/24 ]
      gateway4: 10.0.100.1
      nameservers:
          addresses:
              - 10.0.100.1
	      - 192.100.77.10


การสั่งให้ network ทำงานใหม่
ใช้คำสั่ง sudo netplan apply หรือ sudo systemctl restart systemd-networkd.service

การตรวจสอบ
sudo systemctl status systemd-networkd.service
sudo systemd-resolve --status

ถึงตอนนี้แสดงว่า server ของเราพร้อมแล้ว ให้ลอง ssh เข้าไปใช้งานดูได้เลย
หากลืมติดตั้ง ssh server ให้ติดตั้งใหม่ด้วยคำสั่ง sudo apt-get install openssh-server