NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
16/05/2023
Lượt xem

Cách cài đặt Linux, Apache, MySQL, PHP (LAMP) trên CentOS 7

16/05/2023
18 phút đọc
Lượt xem

Đánh giá

5/5 - (109 bình chọn)

“LAMP” là một nhóm phần mềm mã nguồn mở thường được cài đặt cùng nhau cho phép máy chủ có thể lưu trữ các trang web động và ứng dụng web. Trong bài viết hướng dẫn cách cài đặt LAMP stack trên CentOS 7 này, Vietnix sẽ hướng dẫn bạn cách cài đặt LAMP stack bao gồm hệ điều hành Linux, máy chủ web Apache, cơ sở dữ liệu MariaDB và PHP trên một máy chủ CentOS 7.

Giới thiệu về LAMP

LAMP là từ viết tắt đại diện cho hệ điều hành Linux (L), máy chủ web Apache (A). Dữ liệu trang web thường được lưu trữ trong cơ sở dữ liệu MySQL (M) và nội dung động được xử lý bởi PHP (P).

LAMP stack
LAMP stack

Trên hầu hết các hệ thống Linux, bạn có thể cài đặt MySQL bằng cách tải gói mysql-server từ repositories quản lý gói mặc định trên hệ thống. Tuy nhiên, trên CentOS 7, gói mysql-server sẽ cài đặt từ MariaDB. Đây là một phiên bản được phát triển bởi cộng đồng của hệ thống quản lý cơ sở dữ liệu quan hệ MySQL. Ứng dụng hoạt động như một phiên bản thay thế cho MySQL.

Yêu cầu để cách cài đặt LAMP stack trên CentOS 7 được triển khai

Để thực hiện được các bước trong bài viết này, bạn cần có một tài khoản user non-root trên máy chủ CentOS 7. Sau khi có tài khoản, bạn có thể bắt đầu ngay bước 1.

Bước 1 – Cài đặt web server Apache

Apache là một web server mã nguồn mở phổ biến được sử dụng để hiển thị trang web cho người truy cập. Bạn có thể cấu hình Apache để phục vụ các trang PHP.

Hãy cài đặt Apache bằng trình quản lý package yum của CentOS. Nhập lệnh này trong cửa sổ terminal để cài đặt gói httpd Apache:

sudo yum install httpd

Khi được yêu cầu, bạn hãy nhập Y để xác nhận việc cài đặt Apache. Sau khi cài đặt hoàn tất, bạn có thể khởi động máy chủ Apache của mình bằng lệnh này:

sudo systemctl start httpd

Để kiểm tra xem máy chủ của mình có đang chạy không, hãy nhập địa chỉ IP công khai hoặc tên miền của bạn vào trình duyệt web. Nếu bạn không có tên miền được chỉ định cho máy chủ hoặc không biết địa chỉ IP công khai của máy chủ, hãy chạy lệnh sau:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's//.*$//'

Lệnh này sẽ hiển thị một vài địa chỉ khác nhau. Bạn có thể thử từng địa chỉ này trong trình duyệt web của mình.

Một phương pháp khác là sử dụng bên thứ ba để xem máy chủ được hiển thị như thế nào. Bạn có thể yêu cầu máy chủ cụ thể khác xác định địa chỉ IP của bạn bằng lệnh sau:

curl http://icanhazip.com

Bất kể bạn chọn phương pháp nào, hãy nhập địa chỉ IP của bạn vào trình duyệt web để xác minh rằng máy chủ đang chạy:

http://your_server_IP_address

Trang chào mừng Apache mặc định trên CentOS 7 sẽ hiển thị.

Trang chào mừng Apache mặc định
Trang chào mừng Apache mặc định

Bạn có thể khởi động Apache mỗi lần boot với lệnh sau:

sudo systemctl enable httpd.service

Bước 2 – Cài đặt MySQL (MariaDB)

Sau khi web server đã hoạt động, bạn có thể cài đặt MariaDB (Bạn có thể tham khảo bài viết Hướng dẫn cách cài đặt MariaDB trên CentOS 7 tại đây) để tổ chức và cung cấp quyền truy cập vào database giúp lưu trữ thông tin trên web.

Để cài đặt gói phần mềm MariaDB, bạn hãy chạy lệnh dưới đây:

sudo yum install mariadb-server

Khi quá trình cài đặt hoàn tất, bạn khởi động MariaDB:

sudo systemctl start mariadb

Bạn có thể kích hoạt MariaDB tự động chạy khi hệ thống khởi động bằng lệnh này:

sudo systemctl enable mariadb.service

Để cải thiện bảo mật cho database server, bạn nên chạy một script bảo mật đi kèm với MariaDB. Script này sẽ loại bỏ một số cài đặt mặc định không an toàn và khóa truy cập vào hệ thống database.

Hãy bắt đầu script bằng cách chạy lệnh sau:

sudo mysql_secure_installation

Bạn cần trả lời một loạt câu hỏi khi chạy script này để có thể thực hiện vài thay đổi trong cài đặt MariaDB. Câu hỏi đầu tiên yêu cầu bạn nhập mật khẩu root hiện tại của database. Đừng nhầm lẫn với user root của hệ thống. User root của database là một người dùng quản trị với đầy đủ quyền hạn trên hệ thống database. Vì bạn vừa mới cài đặt MariaDB và chưa thực hiện bất kỳ thay đổi cấu hình nào nên mật khẩu này sẽ trống. Nhấn ENTER khi được hỏi câu này.

Câu tiếp theo sẽ hỏi liệu bạn có muốn thiết lập mật khẩu root cho database hay không. Nhập N và sau đó nhấn ENTER.

Sau câu này, bạn có thể nhấn Y, và sau đó nhấn ENTER để chấp nhận giá trị mặc định cho tất cả các câu hỏi kế tiếp. Như vậy sẽ loại bỏ người dùng ẩn danh và test database, vô hiệu hóa đăng nhập root từ xa và tải các quy tắc mới để máy chủ tuân thủ ngay lập tức các thay đổi bạn đã thực hiện.

Khi bạn đã hoàn tất, hãy đăng nhập vào bảng điều khiển MariaDB bằng cách nhập:

sudo mysql

Bạn sẽ được kết nối đến máy chủ MariaDB với quyền quản trị database là root:

Output
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

Để tăng cường bảo mật, bạn hãy thiết lập các tài khoản user riêng và hạn chế quyền cho mỗi database. Điều này đặc biệt quan trọng nếu bạn dự định có nhiều database được lưu trữ trên máy chủ của mình.

Để minh họa, bạn hãy tạo một database có tên là vietnix_database và một người dùng có tên là vietnix_user. Bạn có thể thay thế tên này bằng các giá trị khác.

Chạy lệnh sau từ MariaDB console để tạo một database mới:

CREATE DATABASE vietnix_database;

Bạn có thể tạo một user mới và cấp cho họ đầy đủ quyền trên database vừa tạo. Lệnh sau định nghĩa mật khẩu của người dùng này là password nhưng bạn nên thay thế giá trị này bằng một mật khẩu an toàn hơn:

GRANT ALL ON vietnix_database.* TO 'vietnix_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Lệnh này cung cấp cho người dùng vietnix_user đầy đủ quyền trên database vietnix_database và ngăn người dùng này tạo hoặc sửa đổi các database khác trên máy chủ của bạn.

Sử dụng câu lệnh FLUSH để tải lại và lưu các quyền mà bạn vừa cấp cho vietnix_user:

FLUSH PRIVILEGES;

Thoát khỏi cửa sổ lệnh MariaDB:

exit

Bạn có thể kiểm tra quyền của user mới bằng cách đăng nhập lại vào cửa sổ lệnh MariaDB và sử dụng thông tin đăng nhập của user vietnix_user đã tạo ở trên:

mysql -u vietnix_user -p

Chú ý đến cờ -p trong lệnh này. Nó sẽ yêu cầu nhập mật khẩu mà bạn đã chọn khi tạo người dùng vietnix_user. Sau khi đăng nhập vào cửa sổ lệnh MariaDB, xác nhận rằng bạn có quyền truy cập vào cơ sở dữ liệu vietnix_database bằng cách thực thi lệnh sau:

SHOW DATABASES;

Database vietnix_database của bạn sẽ được liệt kê trong output:

Output
+--------------------+
| Database           |
+--------------------+
| example_database   |
| information_schema |
+--------------------+
2 rows in set (0.000 sec)

Để thoát khỏi cửa sổ lệnh MariaDB, gõ:

exit

Hệ thống database đã được cài đặt hoàn tất và bạn có thể tiếp tục cài đặt PHP.

Để quá trình cài đặt Linux, Apache, MySQL, PHP (LAMP) trên CentOS 7 diễn ra thuận lợi, không gặp bất cứ vấn đề nào thì bạn cần có một máy chủ với khả năng mở rộng linh hoạt và toàn quyền quản trị. Một lựa chọn đáng cân nhắc là VPS Vietnix với nhiều ưu điểm, bao gồm:

  • Cung cấp dịch vụ máy chủ ảo (VPS) đáng tin cậy và chất lượng cao với giá cả phải chăng và nhiều gói dịch vụ VPS để khách hàng lựa chọn như VPS Giá Rẻ, VPS Phổ Thông, VPS Cao Cấp, VPS NVMe, VPS GPU.
  • Hỗ trợ khách hàng nhanh chóng và tận tình 24/7, giúp khách hàng giải đáp thắc mắc và giải quyết vấn đề kỹ thuật trong quá trình sử dụng.
  • Cung cấp hệ thống quản lý máy chủ hiện đại với cấu hình mạnh mẽ và toàn quyền quản trị. Khách hàng có thể dễ dàng thao tác và cấu hình máy chủ thông qua giao diện quản trị thân thiện.

Với VPS Vietnix, bạn có thể yên tâm về việc chạy ứng dụng LAMP trên CentOS 7 một cách mượt mà, ổn định. Nhận tư vấn ngay.

Bước 3 – Cài đặt PHP

Bạn đã cài đặt Apache để phục vụ nội dung và MariaDB để lưu trữ và quản lý dữ liệu. PHP sẽ xử lý mã code để hiển thị nội dung cho người dùng. Ngoài gói php, bạn cần cài đặt php-mysql – một module cho phép PHP giao tiếp với các database dựa trên MySQL. Các gói PHP core sẽ tự động được cài đặt.

Sử dụng lệnh sau với yum để cài đặt các gói phpphp-mysql:

sudo yum install php php-mysql

Khởi động lại web server Apache để bật module PHP bạn đã cài đặt:

sudo systemctl restart httpd.service

Máy chủ của bạn hiện đã được cấu hình với tất cả các thành phần cần thiết cho ứng dụng LAMP. Bước tiếp theo là kiểm tra cấu hình để đảm bảo rằng mọi thứ đang hoạt động trơn tru.

Bước 4 – Kiểm tra PHP trên web server Apache

Cài đặt mặc định của Apache trên CentOS 7 sẽ tạo một thư mục gốc tại /var/www/html. Bạn không cần thay đổi bất kì cài đặt nào để PHP hoạt động ổn định trên trang web của bạn.

Tuy nhiên, bạn có thể điều chỉnh quyền mặc định trên thư mục document root của Apache. Bạn có thể tạo và sửa đổi các file trong thư mục đó với tài khoản user hệ thống mà không cần phải sử dụng sudo cho mỗi lệnh.

Lệnh sau sẽ thay đổi chủ sở hữu của document root Apache mặc định thành một user và group có tên là vietnix. Thay thế tên user và group trong lệnh này theo của hệ thống của bạn:

sudo chown -R vietnix.vietnix /var/www/html/

Bạn có thể tạo một file PHP kiểm tra web server có hoạt động như mong đợi không. Hãy sử dụng trình chỉnh sửa văn bản để tạo file này. Các ví dụ sau đây sử dụng trình chỉnh sửa văn bản vi mặc định trên CentOS 7.

Tạo một file PHP có tên là info.php trong thư mục var/www/html:

vi /var/www/html/info.php

Một file PHP trống tại thư mục/var/www/html sẽ được mở. Nhấn nút [Ins]trên bàn phím để nhập vào chế độ INSERT trong trình trỉnh sửa vi. Bạn có thể gõ và thực hiện các thay đổi trong trình soạn thảo văn bản. Sau đó, bạn hãy nhập vào mã PHP sau:

<?php phpinfo(); ?>

Mã PHP này hiển thị thông tin môi trường PHP đang chạy trên máy chủ của bạn. Khi hoàn thành việc thay đổi file, nhấn phím ESC để thoát khỏi chế độ INSERT trong vi. Nhập :x để lưu và đóng tệp.

Bạn có thể kiểm tra xem web server hiển thị nội dung PHP đúng cách không bằng cách truy cập địa chỉ IP công cộng của máy chủ và gắn theo sau là /info.php:

http://your_server_IP_address/info.php

Một trang web tương tự như bên dưới sẽ được hiển thị trong trình duyệt:

Giao diện PHP sẽ xuất hiện
Giao diện PHP sẽ xuất hiện

Trang web này cung cấp thông tin về máy chủ của bạn từ góc độ của PHP. Nó rất hữu ích cho việc gỡ lỗi và đảm bảo các cài đặt được áp dụng đúng cách. Sau khi kiểm tra thông tin liên quan đến máy chủ PHP, bạn nên xóa file này vì nó chứa thông tin nhạy cảm về môi trường PHP và máy chủ CentOS của bạn.

Sử dụng rm để xóa file này:

rm /var/www/html/info.php

Bạn có thể tạo lại trang này ở lần sau nếu cần truy cập thông tin. Tiếp theo, bạn có thể kiểm tra kết nối database bằng cách sử dụng PHP.

Bước 5 – Kiểm tra kết nối database với PHP (tùy chọn)

Bạn có thể kiểm tra PHP có kết nối với MariaDB và thực thi các truy vấn database không bằng cách tạo test table với một vài test data và thực hiện truy vấn nội dung từ một script PHP.

Trước tiên, bạn cần kết nối MariaDB console với database user đã tạo trong Bước 2 của bài viết này:

mysql -u vietnix_user -p

Từ MariaDB console, bạn hãy chạy lệnh sau để tạo một bảng có tên là todo_list trong vietnix_database:

CREATE TABLE vietnix_database.todo_list (
	item_id INT AUTO_INCREMENT,
	content VARCHAR(255),
	PRIMARY KEY(item_id)
);

MariaDB console sẽ thông báo cho bạn về các thay đổi trong bảng sau mỗi lần chỉnh sửa:

Query OK, 0 rows affected (0.00 sec)

Thêm một vài hàng dữ liệu vào test table. Bạn có thể lặp lại lệnh dưới đây vài lần, sử dụng các giá trị khác nhau để điền dữ liệu cho test table của mình:

INSERT INTO vietnix_database.todo_list (content) VALUES ("My first important item");

Để xác nhận rằng dữ liệu đã được lưu thành công vào bảng, bạn hãy chạy lệnh dưới đây:

SELECT * FROM vietnix_database.todo_list;

Output sau khi thực hiện chèn sẽ như sau:

Output
+---------+--------------------------+
| item_id | content                  |
+---------+--------------------------+
|       1 | My first important item  |
|       2 | My second important item |
|       3 | My third important item  |
|       4 | and this one more thing  |
+---------+--------------------------+
4 rows in set (0.000 sec)

Sau khi xác nhận có dữ liệu hợp lệ trong test table, bạn có thể thoát khỏi MariaDB console:

exit

Bây giờ bạn có thể tạo script PHP để kết nối đến MariaDB và truy vấn nội dung của mình. Tạo một file PHP mới trong thư mục gốc của bạn bằng trình chỉnh sửa văn bản. Ví dụ này sử dụng trình soạn thảo vi:

vi /var/www/html/todo_list.php

Thêm nội dung dưới đây vào file bằng cách nhấn I trong trình soạn thảo văn bản vi. Bạn hãy nhớ thay thế vietnix_userpassword bằng thông tin của mình:

<?php
$user = "vietnix_user";
$password = "password";
$database = "vietnix_database";
$table = "todo_list";

try {
  $db = new PDO("mysql:host=localhost;dbname=$database", $user, $password);
  echo "<h2>TODO</h2><ol>"; 
  foreach($db->query("SELECT content FROM $table") as $row) {
    echo "<li>" . $row['content'] . "</li>";
  }
  echo "</ol>";
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}

Bạn có thể lưu và đóng file sau khi hoàn tất chỉnh sửa bằng cách nhấn ESC, sau đó gõ :x trong trình soạn thảo vi.

Bây giờ, bạn có thể truy cập trang này trên trình duyệt web bằng cách truy cập vào tên máy chủ hoặc địa chỉ IP công khai của máy chủ, gắn thêm ở sau /todo_list.php:

http://server_host_or_IP/todo_list.php

Dưới đây là một ví dụ về trang web hiển thị nội dung bạn đã chèn vào test table:

Nội dung được chèn
Nội dung được chèn

Với hơn 10 năm kinh nghiệm trong lĩnh vực cung cấp giải pháp Hosting, VPS, tên miền, Firewall anti DDoS,… Vietnix đã từng hợp tác với rất nhiều khách hàng cá nhân và doanh nghiệp lớn tại Việt Nam, như GTV, UB Group, iVIVU, Vietnamworks, SEOSONA hay SAGO Media. Tính đến thời điểm hiện tại, chúng tôi đã cung cấp hơn 100.000 dịch vụ và đạt được tỷ lệ giới thiệu dịch vụ sau khi sử dụng lên đến 97%, cho thấy khách hàng rất hài lòng với chất lượng dịch vụ của Vietnix. Nếu bạn đang muốn tập trung xây dựng thương hiệu, phát triển kinh doanh trên Internet, hãy để Vietnix cùng đồng hành và hỗ trợ bạn.

Mọi vấn đề thắc mắc cần tư vấn, quý khách vui lòng liên hệ:

  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh
  • Hotline: 1800 1093 – 07 088 44444
  • Email: sales@vietnix.com.vn

Lời kết

Với bài viết về hướng dẫn cách cài đặt LAMP stack trên CentOS 7 này, Vietnix đã hướng dẫn bạn xây dựng một nền tảng linh hoạt để phục vụ các trang web và ứng dụng PHP, sử dụng Apache như một web server. Cùng với đó là cách cài đặt Apache để xử lý các yêu cầu PHP và thiết lập database MariaDB để lưu trữ dữ liệu trang web của mình. Nếu có khó khăn gì trong quá trình thực hiện các bước trong bài viết, bạn hãy để lại bình luận bên dưới nhé để được hỗ trợ nhanh chóng nhé.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG