Hướng dẫn cài đặt CentOS 7 trên VirtualBox

Hướng dẫn cài đặt CentOS 7 trên VirtualBox giúp bạn tìm hiểu cách cài đặt mạng và các thành phần phần mềm để có một Webserver, cũng như có thể kết nối SSH tới nó.

Note: Bài viết này sẽ dùng Windows 10 để chạy VirtualBox

Chuẩn bị VirtualBox, CentOS 7

  • Tải và cài đặt VirtualBox trên Windows: https://www.virtualbox.org/wiki/Downloads
  • Tải file (ISO) của CentOS 7 TẠI ĐÂY. Để sử dụng làm Server với giao diện dòng lệnh, chọn DVD ISO, trong các list ISO có thể chọn CentOS-7-x86_64-DVD-1804.iso (chọn các host ở Việt Nam tải cho nhanh)

Tạo máy ảo để cài CentOs

Bước 1:

  • Chạy Oracle VM VirtualBox Manager đã cài đặt ở trên.
  • Chọn New trên thanh công cụ > Khi hộp thoại hiện thị hãy điền các thông tin muốn tạo máy ảo (đặt tên là CentOS, chọn Type = Linux, chọn Version = RedHat) như hình:

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (1)

Bước 2: Từ hộp thoại trên, chọn Create a virtual hard disk now > Nhấn Create. Hộp thoại tạo ra để bạn thiết lập đĩa ảo cho máy. Có thể cấu hình các mục như hình:

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (2)

Bước 3:

  • Từ danh sách các máy áo trong VirtualBox, nhấn phải chuột vào máy ảo mới tạo ra > Chọn Setting để thiết lập thêm.

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (3)

  • Chọn Display thiết lập bộ nhớ cho màn hình > Chọn Enable 3D Acceleration

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (4)

  • Tại mục Storage chọn Controller: IDE > Empty (đây là ổ DVD ảo) > Bấm vào biểu tượng ổ đĩa và chọn gắn file ISO CentOS đã tải về ở trên vào.

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (5)

Như vậy đến đây đã tạo ra được một hệ thống phần cứng ảo (CPU, RAM, DISK, CD ...) trong đó đã nhét sẵn DVD chứa bộ cài CentOS, giờ chỉ việc chạy máy ảo để cài đặt CentOS

Cài đặt CentOS

  • Chọn máy ảo và nhấn vào Start, máy ảo sẽ khởi động và tự động boot từ DVD CentOS được gắn vào.

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (6)

  • Ở màn hình này bạn có thể chọn English rồi nhấn Continue

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (7)

  • Ở mục này cần phải chọn ngay muc INSTALLATION DESTINATION nhằm chọn ổ đĩa để cài CentOS

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (8)

Khi chọn mục này hộp thoại như sau:

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (9)

Đánh dấu, chọn ổ đĩa cứng cần cài đặt sau đó nhấn vào DONE, cuối cùng nhấn Begin installation

  • Quá trình cài đặt CentOS sẽ bắt đầu

Trong quá trình cài đặt đang diễn ra, bạn có thể chọn ROOT PASSWORD để đặt password cho user root (user root là user có quyền cao nhất để quản trị toàn bộ hệ thống server Linux này).

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (10)

Chờ cho quá trình cài đặt kết thúc thì khởi động lại máy ảo, từ đây bạn đã có một máy ảo chạy hệ điều hành CentOS để làm Server nghiên cứu.

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (11)

Sau khi khởi động lại, CentOS yêu cầu đăng nhập hệ thống, bạn nhập user là root và password đã đặt ở trên để login vào hệ thống. Từ đây bạn bắt đầu phiên làm việc với CentOS. Đầu tiên gõ lệnh xem phiên bản CentOS đang sử dụng.

# cat /etc/redhat-release

Cài đặt mạng và cập nhật CentOS 7

Mặc dù đã có máy ảo CentOS 7 nhưng chưa cấu hình mạng nên chưa thể truy cập internet được. Vì vậy bước này ta sẽ tiến hành thiết lập mạng cho CentOS và cập nhật CentOS

  • Đầu tiên kiểm tra card mạng, gõ lệnh sau:
# nmcli d

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (12)

Do chưa được thiết lập bạn sẽ thấy thiết bị có tên enp0s3 có trạng thái là disconnected

  • Để cấu hình, gõ dòng lệnh sau:
# nmtui
  • Giao diện xuất hiện bạn điều hướng bằng phím mũi tên lên xuống và phím tab để chọn các mục. Đầu tiên chọn đến Edit a connection rồi nhấn Enter

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (13)

  • Ở hộp thoại tiếp theo, chọn đến enp0s3, rồi chọn đến Edit ...

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (14)

  • Ở hộp thoại xuất hiện chọn đánh dấu vào mục: Automatically connect, rồi chọn OK

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (15)

  • Cuối cùng thoát trình cấu hình ra, (bạn cũng có thể nhập hostname ví dụ mydomain.com bằng tiện ích này) tiến hành khởi động lại card mạng bằng lệnh:
# service network restart
  • Kiểm tra lại IP của máy ảo
# ip a

[root@mydomain ~]# ip a

1: lo: LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:1e:a8:e7 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.6/24 brd 192.168.1.255 scope global noprefixroute dynamic enp0s3
valid_lft 84530sec preferred_lft 84530sec
inet6 fe80::f54e:d4a5:aaa0:345d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@mydomain ~]#

Như vậy đã thiết lập mạng xong cho CentOS, ở trường hợp trên đã được cấp phát IP là 192.168.1.6

  • Gõ lại lệnh sau để cập nhật các bản vá mới nhất của CentOS
# yum -y update

Thiết lập IP tĩnh cho CentOS

Nếu muốn cấp phát IP tĩnh, cố định làm như sau:

  • Mở file thiết lập mạng ra để chỉnh sửa
#vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
  • Cập nhật IP chính các thông số như sau, nếu chưa có thì gõ vào
BOOTPROTO=static
IPADDR=192.168.1.99
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=1.0.0.1
DNS2=1.1.1.1
DNS3=8.8.4.4

Địa chỉ IP tĩnh ở trên (192.168.1.99) bạn gán theo hệ thống mạng. Chỉnh xong khởi động lại mạng service network restart

Cài đặt VirtualBox Guest Additions

VirutalBox có kèm theo một số công cụ tùy chọn thêm để cải tiến việc quản lý máy ảo như cho phép tạo Shared Folder (thư mục trao đổi chung giữa máy host và máy ảo), Drag Drop giữa host và virtual, điều chỉnh đọ phân giải màn hình của virtual ...

- Để cài đặt VirtualBox Guest Additions đầu tiên cần nhét đĩa VirtualBox Guest Additions vào theo hình sau:

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (16)

- Sau đó trong CentOS gõ các lệnh sau để cài đặt:
  • Tạo thư mục để ánh xạ đến ổ CD
# mkdir /media/VBox
  • Ánh xạ ổ CD
# mount /dev/cdrom /media/VBox/

Đến đây ổ CD của máy ảo truy cập theo đường dẫn /media/VBox/

  • Trong ổ đĩa này chữa các file cài đặt của VirtualBox Guest Additions, trước khi cài đặt cập nhật một số gói ứng dụng sau:
# yum update kernel*
  • Sau đó khởi động lại
# reboot
  • Thêm repo cần thiết
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  • Cài đặt các gói cần thiết: dkms, kernel-headers ...
# yum install gcc kernel-devel kernel-headers dkms make bzip2 perl
  • Thêm biến môi trường
# KERN_DIR=/usr/src/kernels/`uname -r`/build
  • Cài đặt Guest Additions
# cd /media/VBox/
# ./VBoxLinuxAdditions.run

Sau khi cài đặt xong, khởi động lại bằng reboot và Guest Additions đã có trong hệ thống

Kết nối đến CentOS bằng SSH

Về giao thức kết nối SSH đầu tiên hãy xem chi tiết TẠI ĐÂY

- Để kết nối SSH đến máy ảo vừa cài đặt từ dòng lệnh của Windows thực hiện:
# ssh root@ip

Trong đó: root là user, IP là địa chỉ IP của máy ảo.

Nếu lỗi không kết nối được thì có thể là cổng 22 chưa mở, mà lưu ý là địa chỉ IP của máy ảo không nhận biết được từ máy host.

- Để biến máy ảo như một máy trạm trong hệ thống mạng cùng máy host cách đơn giản nhất là thiết lập như sau:
  • Mở VirtualBox Manager > Chọn máy ảo và vào mục Setting, tìm đến phần Network

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (17)

Ở hộp thoại này mục Attached to chọn Bridged Adapter, mục Name chọn tên card mạng giống card đang dùng ở máy host.

  • Khởi động lại card mạng
# service network restart
  • Kiểm tra IP của máy ảo bằng lệnh
# ip a

Có được IP mới cùng hệ thống với máy host rồi thì hãy kết nối lại SSH theo IP này

Cài đặt Apache, MySQL, PHP

Để cài đặt các thành phần để CentOS hoạt động như một webserver với các thành phần máy chủ web là Apache, cơ sở dữ liệu là MySQL và ngôn ngữ PHP tiến hành như sau. Đầu tiên login vào máy ảo (trực tiếp) hoặc thông qua SSH

Cài đặt Apache

Đầu tiền cần đảm bảo đã thiết lập hostname, bằng cách gõ lệnh hostname, nếu chưa thiết lập xem lại phần thiết lập mạng ở trên.

  • Chạy lệnh cài Apache
# yum -y update
# yum install httpd
  • Sau khi cài xong thì hãy chạy Apache
# service httpd start
  • Để kiểm tra xem chạy OK chưa thì dùng lệnh:
# service httpd status

httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2018-11-03 06:32:09 EDT; 18min ago
Docs: man:httpd(8)
man:apachectl(8)
  • Thiết lập để khởi động cùng hệ thống:
# systemctl enable httpd.service
  • Apache đã hoạt động, tuy nhiên từ trình duyệt truy cập vào địa chỉ IP của máy ảo vẫn không thấy Apache hoạt động trả về trang web vì bị Firewall cản lại. Đến đây kiểm tra xem Firewall đang cho những dịch vụ nào truyền dữ liệu ra ngoài bằng lệnh
# firewall-cmd --list-all

public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

Ở kết quả trên thì có các dịch vụ cho phép truyền dữ liệu ra ngoài đó là ssh, dhcpv6-client và chưa có Apache (httpd)

  • Cho thêm Apache được phép truyền dữ liệu ra ngoài bằng lệnh
# firewall-cmd --add-service=http --permanent
# firewall-cmd --add-service=https --permanent
  • Sau đó khởi động lại Firewall
# firewall-cmd --reload

Lúc này từ trình duyệt ở máy host, có thể truy cập đến Webserver máy ảo bằng địa chỉ http://ip, ví dụ máy ảo có IP là 192.168.1.6 thì địa chỉ truy cập web lúc này là http://192.168.1.6, kết quả là:

Hướng dẫn cài đặt CentOS 7 trên VirtualBox (18)

Apache đã hoạt động đúng, file cấu hình của Apache ở file /etc/httpd/conf/httpd.conf. Tại đây thiết lập các loại cấu hình cho Apache, tạo host ... những phần này tìm hiểu về Apache sau:

  • Bỏ trang webcome mặc định của Apache
# rm -f /etc/httpd/conf.d/welcome.conf
  • Mở file cấu hình Apache ra chỉnh sửa
# vi /etc/httpd/conf/httpd.conf

Mặc định trong đó có các thiết lập để chạy các file tại /var/www/html

  • Giờ thiết lập một số thông số sau
# dòng 86 - đổi sang email của bạn
ServerAdmin root@myserver.vn

# dòng 95 - đổi tên server của bạn
ServerName myserver.vn:80

# dòng 151
AllowOverride All

# dòng 164 - tự động đọc index.html hoặc index.php truy cập thư mục
DirectoryIndex index.html index.php

# Thêm vào cuối
KeepAlive On
  • Cuối cùng khởi động lại Apache service httpd restart

Giờ nếu bạn có một file .html thì khi truy cập địa chỉ http://ip sẽ mở file đó. Hoặc sau khi cài PHP thì nếu có index.php thì truy cập http://ip sẽ chạy PHP

Cài đặt MySQL

  • Để tải code MySQL về và buil đầu tiên cài đặt tiên ích wget
# yum install wget
  • Sau đó tải vào địa chỉ sau Repo MySQL tìm tên phiên bản mong muốn

Ví dụ tìm thấy tên mysql57-community-release-el7-9.noarch.rpm là phiên bản phù hợp muốn cài đặt, thì tải về với lệnh sau:

# wget https://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm
  • Cập nhật Repo
# rpm -ivh mysql57-community-release-el7-9.noarch.rpm
# yum update
  • Giờ đã có thể dùng Yum để cài đặt MySQL
# yum install mysql-community-server
  • Chạy MySQL
# service mysqld start
  • Thiết lập MySQL tự động chạy
# chkconfig mysqld on
  • Password mặc định của root quản trị MySQL tự động sinh ra trong log
# grep 'temporary password' /var/log/mysqld.log
  • Chạy lệnh sau để đổi sang password mưới và thiết lập một số điều kiện an toàn
# mysql_secure_installation

Như vậy đã hoàn thành cài đặt MySQL!

Nếu chọn phiên bản 8.0 làm tương tự: https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm

  • Thiết lập chính để kết nối MySQL

Thiết lập bằng cách chỉnh sửa file /etc/my.cnf, có thể có một vài thứ chỉnh ngay ở đây - các thiết lập khác tìm hiểu sau.

Đảm bảo MySQL lắng nghe trên cổng 3306 - bind sang IP4

[mysqld]
port=3306
bind-address = 0.0.0.0

Khởi động lại MySQL

# service mysqld restart

Cài đặt PHP

Ở đây sẽ cài đặt PHP 7.2

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# yum install yum-utils
# yum-config-manager --enable remi-php72
# yum install php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo

Sau khi cài đặt gõ lệnh kiểm tra

Ở đây sẽ cài đặt PHP 7.2

# php -v
Chúc bạn cài CentOS 7 trên VirtualBox thành công!

Nguồn: xuanthulab