lamp stack
CentOS, study, Unix & Linux

Chi tiết cài đặt LAMP (Linux, Apache, MySQL, PHP) trên CentOS 7

Bài viết này mình sẽ chi sẻ chi tiết cách cài đặt LAMP (Linux, Apache, MySQL, PHP) trên CentOS 7. Ở trong bài viết này mình sẽ hướng dẫn chi tiết cách cài đặt trên hệ điều hành CentOS 7. LAMP là 1 từ viết tắt đại diện cho hệ điều hành Linux với máy chủ web là Apache, dữ liệu trang web sẽ được lưu trữ trong cơ sở dữ liệu (database) MySQL (ở đây sử dụng MariaDB) và nội dung trang web sẽ được xử lý bằng PHP (ở đây sử dụng PHP phiên bản 7.2).

Chúng ta sẽ đi vào chi tiết các cài đặt LAMP lên 1 máy CentOS 7:

  1. Cài đặt máy chủ web Apache
  2. Cài đặt cơ sở dữ liệu MySQL
  3. Cài đặt và nâng cấp PHP 5 mặc định lên PHP 7.2
  4. Kiểm tra PHP hoạt động với máy chủ web Apache
  5. Lỗi không thể truy cập vào website

Trước tiên chúng ta sẽ chạy lệnh sau để cập nhật cho hệ thống:

# yum update -y

Apache hiện là một máy chủ được sử dụng phổ biến trên thế giới có thể tham khảo thêm ở Wikipedia để hiểu chi tiết hơn về Apache.

Để cài đặt chúng ta sẽ sử dụng lệnh sau: (phải có quyền root)

# yum install -y httpd

Sau khi cài đặt xong chúng ta sẽ khởi động Apache lên bằng lệnh sau:

# systemctl start httpd.service

Để kiểm tra xem Apache đã chạy chưa thì chúng ta sẽ sử dụng lệnh sau:

#systemctl status httpd.service

Nếu chúng ta thấy kết quả như hình ảnh bên dưới thì chúng ta đã cài đặt và khởi động thành công Apache:

status apache

status apache

Sau đó chúng ta sẽ truy cập vào ip public của server để chắc chắn rằng máy chủ Apache đã hoạt động như sau:

http://server_ip_address

Chúng ta sẽ nhận được trang web mặc định của CentOS 7 Apache như hình dưới đây:

default_apache

default_apache

Tiếp theo chúng ta sẽ sử dụng lệnh sau để cài đặt cho Apache sẽ khởi động cùng CentOS khi server khởi động lại:

#systemctl enable httpd.service

Để khởi động lại Apache chúng ta sẽ sử dụng lệnh sau:

#systemctl restart httpd.service

Để biết được ip public của server chúng ta có thể sử dụng lệnh sau:

#curl http://icanhazip.com

  1. Cài đặt máy chủ web Apache
  2. Cài đặt cơ sở dữ liệu MySQL
  3. Cài đặt và nâng cấp PHP 5 mặc định lên PHP 7.2
  4. Kiểm tra PHP hoạt động với máy chủ web Apache
  5. Lỗi không thể truy cập vào website

Sau khi cài đặt thành công máy chủ Apache, bây giờ sẽ là lúc chúng ta cài đặt cơ sở dữ liệu MariaDB. MariaDB là một nhánh của cộng đồng phát triển hệ thống quản lý cơ sở dữ liệu MySQL. Hiểu cơ bản là MariaDB hay một hệ thống quản lý cơ sở dữ liệu sẽ giúp chúng ta tổ chức lữu trữ các thông tin hệ thống website của chúng ta.

Để cài đặt MariaDB chúng ta sử dụng lệnh sau: (phải có quyền root)

#yum install mariadb-server mariadb

Sau khi cài đặt thành công chúng ta sử dụng lệnh sau để khởi động MariaDB:

#systemctl start mariadb

Chúng ta có thể kiểm tra xem MariaDB đã khởi động chưa giống như với máy chủ Apache ở bên trên bằng câu lệnh sau:

#systemctl status mariadb

Nếu nhận được kết quả như hình ảnh bên dưới thì chúng ta đã khởi động MariaDB thành công:

status mariadb

status mariadb

Sau khi MariaDB đã khởi động, chúng ta cần thiết lập một số bảo mật đơn giản để loại bỏ một vài mặc định nguy hiểm và khoá một số quyền truy cập vào hệ thống. Bởi vì cơ sở dữ liệu là nơi lưu trữ toàn bộ thông tin của website chúng ta như thông tin các tài khoản quản lý website, thông tin khách hàng … Chúng ta sẽ sử dụng lệnh sau để thiết lập: (phải có quyền root)

#mysql_secure_installation

Sau chạy lệnh trên chúng ta sẽ thấy yêu cầu mật khẩu cho tài khoản root của MariaDB thì chúng ta chỉ cần ấn enter để bỏ qua. Sau để nếu muốn thiết lập mật khẩu cho tài khoản root thì chúng ta sẽ nhập vào: Y và gõ mật khẩu muốn thiết lập (do bảo mật nên khi gõ mật khẩu sẽ không hiển thị bất kỳ ký tự nào nên cứ gõ mật khẩu như bình thường và ấn enter) Tiếp theo nếu chúng ta ấn enter qua các câu hỏi nếu muốn sử dụng các cài đặt mặc định như sau: Xoá tài khoản và cơ sở dữ liệu mẫu, tắt truy cập login từ xa tài khoản root …

Vậy là đã thiết lập bảo mật cơ bản cho hệ quản trị cơ sở dữ liệu của chúng ta. Tiếp theo sử dụng lệnh sau để thiết lập MariaDB khởi động cùng CentOS khi server khởi động lại tương tự như Apache:

#systemctl enable mariadb

Để khởi động lại MariaDB chúng ta dùng lệnh sau:

#systemctl restart mariadb

  1. Cài đặt máy chủ web Apache
  2. Cài đặt cơ sở dữ liệu MySQL
  3. Cài đặt và nâng cấp PHP 5 mặc định lên PHP 7.2
  4. Kiểm tra PHP hoạt động với máy chủ web Apache
  5. Lỗi không thể truy cập vào website

Mặc định trên hệ điều hành CentOS 7 chúng ta sẽ chỉ có PHP phiên bản 5.4. Nhưng đây là phiên bản PHP đã quá cũ chúng ta nên nâng cấp lên để sử dụng các phiên bản mới hơn để có được các tính năng mới hơn ở đây sẽ nâng cấp lên phiên bản 7.2 . Để làm việc này chúng ta sẽ sử dụng lệnh sau:

#yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
#yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Tiếp theo chúng ta sẽ cài đặt yum-utils là 1 chương trình hữu ích để quản lý các gói cài đặt và các repo của yum.

#yum install -y yum-utils

Tiếp theo chúng ta sẽ cài đặt phiên bản mặc định cho PHP bằng lệnh sau:

#yum-config-manager --enable remi-php72

Câu lệnh trên sẽ cài đặt phiên bản mặc định là 7.2 nếu bạn muốn sử dụng phiên bản khác ví dụ 7.0 7.1 7.3 thì thay remi-php72 sang số tương ứng ví dụ: remi-php70

Bây giờ chúng ta sẽ cài đặt các gói php sau:

#yum install -y php php-mysql

Sau khi cài đặt xong chúng ta cần khởi động lại máy chủ Apache:

#systemctl restart httpd.service

Để kiểm tra phiên bản của PHP chúng ta dùng lệnh sau:

#php -v

  1. Cài đặt máy chủ web Apache
  2. Cài đặt cơ sở dữ liệu MySQL
  3. Cài đặt và nâng cấp PHP 5 mặc định lên PHP 7.2
  4. Kiểm tra PHP hoạt động với máy chủ web Apache
  5. Lỗi không thể truy cập vào website

Để kiểm tra xem PHP có hoạt động với máy chủ web Apache chúng ta đã cài đặt bên trên không? Chúng ta sẽ tiến hành làm như sau: Tạo 1 file “info.php” trong thư mục root của website (thư mục này sẽ chứa toàn bộ các file của website). Thư mục root trên hệ điều hành CentOS 7 nằm tại đường dẫn: “/var/www/html/”. Sử dụng lệnh sau để tạo:

#vi /var/www/html/info.php

Trình soạn thảo Vim sẽ hiển thị lên chúng ta sẽ ấn vào phím “i” để có thể gõ nội dung. Chúng ta sẽ gõ vào nội dung sau:

<?php phpinfo(); ?>

Sau khi gõ xong chúng ta sẽ ấn nút “ESC” và ấn vào “:wq” để lưu lại file. File trên sẽ có ý nghĩa lấy toàn bộ thông tin của PHP. Chúng ta sẽ truy cập vào đường dẫn sau để kiểm tra trên trình duyệt:

http://server_ip_address/info.php

Chúng ta sẽ nhận được kết quả như hình ảnh bên dưới:

php info

php info

  1. Cài đặt máy chủ web Apache
  2. Cài đặt cơ sở dữ liệu MySQL
  3. Cài đặt và nâng cấp PHP 5 mặc định lên PHP 7.2
  4. Kiểm tra PHP hoạt động với máy chủ web Apache
  5. Lỗi không thể truy cập vào website

Đây là 1 trong các lỗi thường gặp khi chúng ta cố gắng truy cập vào website nhưng bị gặp lỗi như hình ảnh bên dưới:

unable to connect

unable to connect

Trong trường hợp này có thể chúng ta đã bị tường lửa (firewall) chặn truy cập vào các dịch vụ http (cổng 80). Chúng ta sẽ tiến hành cho phép truy cập vào bằng

#firewall-cmd --permanent --zone=public --add-service=http
#firewall-cmd --permanent --zone=public --add-service=https
#firewall-cmd --reload

Các câu lệnh trên sẽ cho phép mở truy cập vào các dịch vụ http và https. Nếu như hệ điều hành CentOS 7 không có firewall-cmd thì chúng ta sẽ cài đặt nó như sau:

#yum install -y firewalld

Sau khi cài đặt xong chúng ta sẽ khởi động lên bằng lệnh sau:

#systemctl start firewalld

Cài đặt cho firewalld khởi động cùng server khi khởi động lại:

#systemctl enable firewalld

Vậy là chúng ta đã cài đặt thành công LAMP trên hệ điều hành CentOS 7, cách sử dụng dịch vụ Apache, MariaDB … và thiết lập bảo mật cơ bản cho cơ sở dữ liệu.

Chúc mọi người thành công. 🙂

Link tham khảo:

Standard

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.