Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Trong bài viết này, chúng ta sẽ đề cập đến các bước cơ bản cần thiết để cài đặt một hệ thống Linux CentOS 8 sạch từ đầu và thiết lập ban đầu cho máy chủ.

Điểm mới trong CentOS 8?

Phiên bản thứ 8 của CentOS được phát hành vào ngày 24 tháng 9 năm 2019. CentOS là một bản phân phối Linux dựa trên bản phân phối thương mại Red Hat Enterprise Linux của Red Hat và tương thích với nó.

Hãy xem những thay đổi chính trong bản phát hành CentOS 8:

  • Sử dụng nhân Linux 4.18;
  • Chuyển từ trình quản lý gói yum sang dnf. Hiện tại yum tồn tại dưới dạng symlink trỏ đến dnf;
  • Kho chính được chia thành 2 kho riêng biệt — BaseOS và AppStream. Điều này cho phép người dùng cài đặt các phiên bản gói khác nhau. BaseOS hoạt động như bình thường;
  • Tất cả phần mềm đã được cập nhật, bao gồm cả nhân. Bây giờ bạn có thể cài đặt PHP 7.2 từ kho cơ bản (Cuối cùng!);
  • Iptables được thay thế bằng nftables;
  • Network-scripts không còn được sử dụng mặc định để cấu hình mạng. Network Manager nên được dùng để quản lý mạng;
  • Mặc định, giao diện quản trị web cockpit được cài đặt sẵn (tiện lợi cho người mới);
  • Sử dụng Podman (thay vì docker) để quản lý container;
  • Xuất hiện phiên bản mới của ngăn xếp TCP/IP 4.16 để cung cấp hiệu suất cao hơn và hỗ trợ thuật toán điều khiển BBR & NV;
  • Các phiên bản phân phối mới.

Cách cài đặt CentOS 8 từ file ISO

Vì tôi cài đặt CentOS trên máy ảo KVM, tôi đã tải trước hình ảnh cài đặt ISO từ một trong các mirror chính thức (https://www.centos.org/download/mirrors/) và gắn nó để cài đặt hệ điều hành lên máy chủ ảo. (Nếu bạn muốn cài CentOS trên máy chủ vật lý, hãy ghi hình ảnh ISO cài đặt vào USB.) Quá trình cài đặt CentOS 8 không khác biệt so với phiên bản trước, bài viết này dành cho người dùng lần đầu thực hiện.

Yêu cầu tối thiểu khuyến nghị cho cài đặt CentOS 8 là ít nhất 10GB dung lượng ổ cứng và 712MB RAM trên mỗi nhân CPU.

Khởi động máy tính hoặc máy ảo từ hình ảnh cài đặt CentOS. Ở bước đầu tiên, bạn sẽ được nhắc chọn hành động tiếp theo. Vì chúng ta cần cài đặt, hãy chọn mục đầu tiên trong menu:

Install CentOS Linux 8.0.1905

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Sau khi chọn, quá trình cài đặt bắt đầu:

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Trong lúc các phần mềm cần thiết được tải, bạn chỉ cần quan sát mà không cần làm gì.

Khi màn hình đen chuyển sang giao diện tương tác với logo CentOS, hãy chuẩn bị bàn phím và chuột.

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Trên màn hình chào mừng, bạn sẽ được nhắc chọn ngôn ngữ sử dụng trong quá trình cài đặt. Sau đó nhấn Continue. Trong menu tiếp theo, bạn sẽ chọn các thiết lập cài đặt cơ bản của CentOS.

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Để bắt đầu cài đặt, bạn chỉ bắt buộc cấu hình một mục: Installation Destination. Tại đây bạn chọn bố cục phân vùng ổ cứng, nhưng tôi thích cấu hình thêm mạng, thời gian và ngày tháng ở giai đoạn này.

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Chọn thiết lập theo múi giờ của bạn.

Để cấu hình mạng, nhấn Network & Host Name.

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Điền tên máy chủ vào trường Host Name, sau đó nhấn Configure để cấu hình giao diện mạng.

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Trong tab General, tích vào ô Automatically connect to this network when it is available để tự động khởi động giao diện mạng này.

Chuyển sang tab IPv4 Settings (hoặc IPv6 nếu bạn dùng giao thức này) để đặt địa chỉ IP, netmask, gateway và DNS:

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Để nhập địa chỉ IP cụ thể, chọn phương thức Manual và nhấn Add. Sau khi lưu thay đổi, quay lại màn hình cấu hình mạng ban đầu.

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Như ảnh chụp màn hình, địa chỉ IP đã được thêm và giao diện mạng đang hoạt động (trạng thái: Connected).

Tiếp theo, chúng ta sẽ phân vùng ổ cứng:

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Chỉ để minh họa quy trình cài đặt, tôi sử dụng cấu hình lưu trữ tự động của CentOS. Nếu bạn muốn phân vùng theo cách khác, hãy chọn Custom.

Nếu bộ điều khiển lưu trữ của máy chủ không hỗ trợ RAID phần cứng, bạn có thể cấu hình RAID phần mềm trên các ổ đĩa bằng mdadm.

Vì trước đó máy ảo đã cài hệ điều hành khách, trình cài đặt phát hiện ra nó. Tôi xóa các phân vùng của hệ điều hành cũ trong các menu tiếp theo:

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Bạn có thể xóa phân vùng bằng cách nhấn Delete all. Sau đó nhấn Reclaim space để cập nhật dung lượng ổ cứng khả dụng.

Danh sách gói cài đặt được chọn ở Software Selection. Nếu bạn dùng CentOS 8 làm máy chủ, chỉ cần chọn Minimal Install, cùng với Standard và Guest Agents (nếu cài hệ điều hành khách trên máy ảo).

Sau đó, bắt đầu cài đặt bằng cách nhấn Begin Installation.

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Trong quá trình giải nén và cài đặt các thành phần, bạn sẽ được nhắc nhập mật khẩu cho người dùng root. Bạn cũng có thể tạo người dùng khác, nhưng đây là tùy chọn.

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Nhấn Root Password, nhập mật khẩu và xác nhận. Sau đó nhấn Done để quay lại cài đặt:

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Cài đặt CentOS 8 mất khoảng 5-7 phút. Khi thấy nút Reboot trên màn hình cài đặt, nghĩa là quá trình đã kết thúc và bạn phải khởi động lại máy chủ.

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Vậy là cài đặt CentOS 8 đã hoàn tất.

Cấu hình các thiết lập cơ bản của CentOS 8 sau cài đặt

Cấu hình sau cài đặt cơ bản của CentOS 8 gần như tương tự CentOS 7, và tôi cấu hình các thiết lập cơ bản giống nhau trên tất cả máy chủ.

Cài đặt cập nhật và công cụ quản trị trên CentOS

Như đã đề cập, dnf đã thay thế yum trong CentOS 8.

Dnf là thế hệ tiếp theo của ứng dụng YUM, một trình quản lý gói RPM cho các bản phân phối Linux. Trước đây dnf được dùng trong Fedora, và giờ nó đến với CentOS 8.

Điều đầu tiên tôi làm trên máy chủ mới cài đặt là cập nhật hệ thống:

# dnf update -y

Nếu hình ảnh đã cập nhật, có thể không có gói nào để cập nhật, như trường hợp của tôi:

Dependencies resolved. Nothing to do. Complete!

Nếu có cập nhật, hãy cài đặt chúng.

Bước tiếp theo, kích hoạt kho EPEL và cài đặt các công cụ quản trị máy chủ:

# dnf install epel-release -y
# dnf install mc wget screen nano net-tools bind-utils curl lsof vim -y

Các tiện ích này đã đủ cho tôi, nhưng bạn có thể cài thêm những công cụ mình quen dùng.

Tôi không sử dụng cập nhật hệ thống tự động, vì tôi luôn cài đặt thủ công các cập nhật cần thiết. Nếu bạn muốn cấu hình cập nhật tự động, cài đặt gói dnf-automatic:

# dnf install -y dnf-automatic

Để kiểm tra các tác vụ cập nhật hệ thống đang hoạt động, nhập lệnh:

# systemctl list-timers *dnf-*

Cách tắt SELinux trên CentOS?

Ở giai đoạn thiết lập ban đầu, tôi luôn tắt SELinux (để áp dụng thay đổi, bạn phải khởi động lại máy chủ):

# nano /etc/sysconfig/selinux
# reboot

Bạn có thể tắt SELinux ngay lập tức bằng lệnh:

setenforce 0

Cấu hình thiết lập mạng trên CentOS 8

Vì tôi đã cấu hình mạng trong quá trình cài đặt hệ điều hành, nên không cần làm lại (xem bài viết chi tiết về cấu hình mạng trong CentOS tại đây). Chỉ muốn nói rằng trong CentOS 8, bạn chỉ có thể quản lý mạng bằng Network Manager và nmcli. Network-scripts không được hỗ trợ mặc định. Thực nói, trước đây tôi luôn tắt NM và không dùng nó vì không tiện, nhưng giờ tôi buộc phải học cách dùng nó.

Cách kiểm tra trạng thái mạng:

# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-06-29 08:23:11 NY; 3h 37min ago
Docs: man:NetworkManager(8)
Main PID: 870 (NetworkManager)
Tasks: 3 (limit: 5060)
Memory: 4.7M
CGroup: /system.slice/NetworkManager.service
└─870 /usr/sbin/NetworkManager --no-daemon

Cách thay đổi Hostname trên CentOS 8?

Nếu bạn chưa đặt hostname đúng trong khi cài đặt CentOS hoặc muốn thay đổi, bạn có thể làm theo các cách sau. Chỉnh sửa trong file /etc/hostname hoặc thay đổi bằng lệnh:

# hostnamectl set-hostname mycentos8server

Cấu hình Firewalld trên CentOS 8

Thêm các dịch vụ bạn sẽ cần (SSH và HTTP/HTTPS) vào danh sách vùng tin cậy trong firewalld:

firewall-cmd --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

Thay đổi thời gian và TimeZone trên CentOS

Để xem thời gian và múi giờ hiện tại trên CentOS, nhập lệnh date:

# date

Chúng ta đã đặt time-zone khi cài đặt hệ thống, nên đang ở giờ New York. Để thay đổi time-zone, dùng lệnh:

# timedatectl set-timezone America/Toronto

Để liệt kê tất cả múi giờ có sẵn, chạy lệnh:

# timedatectl list-timezones

Để đồng bộ thời gian, chronyd được sử dụng. Chúng ta sẽ kích hoạt nó và thêm vào tự động khởi động bằng systemctl:

# systemctl start chronyd
# systemctl enable chronyd
# systemctl status chronyd
● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-06-29 16:13:48 +06; 9s ago
Docs: man:chronyd(8) man:chrony.conf(5)
Main PID: 31700 (chronyd)
Tasks: 1 (limit: 5060)
Memory: 1.1M
CGroup: /system.slice/chronyd.service
└─31700 /usr/sbin/chronyd

Cấu hình Bash History

Để xem lịch sử lệnh bash thuận tiện hơn, tôi luôn thêm vài dòng vào .bashrc để dễ dàng lấy thông tin lịch sử lệnh cần thiết.

Với cài đặt mặc định, đầu ra của history hiển thị như sau:

# history
1 dnf repolist
2 dnf install epel-release

Điều này cho thấy các lệnh đã thực thi, nhưng không thấy thời gian và ngày. Điều này quan trọng đối với tôi. Hãy làm cho history dễ xem hơn. Mở /root/.bashrc và thêm các dòng:

# nano /root/.bashrc
export HISTSIZE=10000
export HISTTIMEFORMAT="%d/%d/%y - %H:%M:%S "

Khi xem history, bạn sẽ thấy chính xác thời gian và ngày lệnh được chạy:

# history
1 Jun/06/29 - 16:16:29 dnf repolist
2 Jun/06/29 - 16:16:29 dnf install epel-release

Cockpit: Giao diện quản trị web máy chủ trên CentOS 8

Như đã đề cập, CentOS 8 có sẵn giao diện quản trị web cockpit. Bạn cũng có thể quản lý nó bằng systemctl. Bạn có thể chạy và thêm vào khởi động:

# systemctl enable cockpit.socket
# systemctl start cockpit.socket

Mặc định, máy chủ web Cockpit lắng nghe trên cổng TCP/9090. Thêm cổng vào danh sách cho phép trong firewalld:

# firewall-cmd --get-active-zones
# firewall-cmd --add-port=9090/tcp --zone=MY_ACTIVE_ZONE --permanent
# firewall-cmd --reload

Để truy cập giao diện web Cockpit, mở URL: https://Your-CentOS8-IP:9090 trong trình duyệt và xác thực.

CentOS 8: Hướng dẫn cài đặt và cấu hình cơ bản

Sử dụng Cockpit, bạn có thể xem tải máy chủ, quản lý mạng, lưu trữ, container hoặc xem nhật ký.

Cấu hình máy chủ CentOS điển hình đã hoàn tất, sau đó tôi thường cấu hình thêm theo yêu cầu dự án, và các yêu cầu có thể khác nhau.