Tìm Hiểu Về Lamp Stack Và Cách Cài Đặt Trên Centos: Hướng Dẫn Chi Tiết Cho Người Mới Bắt Đầu

Nội dung

Chào các bạn, nếu bạn là một nhà phát triển web hoặc đang muốn triển khai ứng dụng web trên server riêng, chắc hẳn bạn đã từng nghe đến thuật ngữ LAMP Stack. Đây là một bộ công cụ mã nguồn mở cực kỳ phổ biến và mạnh mẽ, được sử dụng rộng rãi để xây dựng và vận hành các website động. Hôm nay, chúng ta sẽ cùng nhau tìm hiểu chi tiết về LAMP Stack và khám phá cách cài đặt nó một cách dễ dàng trên hệ điều hành CentOS, một bản phân phối Linux ổn định và được tin dùng cho server.

LAMP Stack là gì? Tổng quan về bộ công cụ mạnh mẽ cho web

LAMP Stack là một thuật ngữ viết tắt, đại diện cho một tập hợp các phần mềm mã nguồn mở thường được sử dụng cùng nhau để phát triển và triển khai các ứng dụng web động. Mỗi chữ cái trong LAMP đại diện cho một thành phần chính:

Giải thích từng thành phần trong LAMP Stack

L is for Linux: Hệ điều hành nền tảng

Linux đóng vai trò là hệ điều hành cơ sở cho toàn bộ stack. Nó cung cấp sự ổn định, bảo mật và linh hoạt cần thiết để chạy các ứng dụng web. CentOS, bản phân phối mà chúng ta sẽ sử dụng trong bài viết này, là một дистрибутив Linux dựa trên mã nguồn của Red Hat Enterprise Linux (RHEL), nổi tiếng về tính ổn định và độ tin cậy cao, rất phù hợp cho môi trường server.

A is for Apache: Máy chủ web phổ biến

Apache HTTP Server là một trong những máy chủ web phổ biến và được sử dụng rộng rãi nhất trên thế giới. Nó chịu trách nhiệm xử lý các yêu cầu từ trình duyệt của người dùng và phân phối nội dung website (HTML, CSS, JavaScript, hình ảnh, v.v.). Apache nổi tiếng với tính linh hoạt, khả năng mở rộng và hỗ trợ nhiều module mở rộng.

M is for MySQL (or MariaDB): Hệ quản trị cơ sở dữ liệu

MySQL là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở, được sử dụng để lưu trữ và quản lý dữ liệu cho website. Tuy nhiên, trong những năm gần đây, MariaDB, một nhánh mã nguồn mở của MySQL, cũng trở nên rất phổ biến và thường được sử dụng thay thế cho MySQL, đặc biệt trên các hệ thống Linux như CentOS. Trong hướng dẫn này, chúng ta sẽ sử dụng MariaDB.

P is for PHP (or Python/Perl): Ngôn ngữ lập trình kịch bản

Chữ “P” cuối cùng trong LAMP có thể đại diện cho một trong ba ngôn ngữ lập trình kịch bản phổ biến: PHP, Python, hoặc Perl. Trong đó, PHP là ngôn ngữ được sử dụng phổ biến nhất cho việc phát triển các ứng dụng web động, đặc biệt là các CMS (Content Management System) như WordPress, Drupal, và Joomla. Python và Perl cũng là những lựa chọn mạnh mẽ cho các dự án web khác. Trong bài viết này, chúng ta sẽ tập trung vào việc cài đặt PHP.

Tại sao LAMP Stack lại được ưa chuộng?

LAMP Stack là gì? Tổng quan về bộ công cụ mạnh mẽ cho web
LAMP Stack là gì? Tổng quan về bộ công cụ mạnh mẽ cho web

LAMP Stack đã trở thành một tiêu chuẩn công nghiệp cho việc phát triển web trong nhiều năm qua vì nhiều lý do:

  • Mã nguồn mở và miễn phí: Tất cả các thành phần trong LAMP Stack đều là phần mềm mã nguồn mở và hoàn toàn miễn phí để sử dụng.
  • Tính ổn định và độ tin cậy: Các thành phần này đã được kiểm chứng qua thời gian và được sử dụng rộng rãi trên hàng triệu server trên toàn thế giới.
  • Cộng đồng hỗ trợ lớn: Với sự phổ biến của mình, LAMP Stack có một cộng đồng người dùng và nhà phát triển rất lớn, giúp bạn dễ dàng tìm kiếm sự hỗ trợ khi gặp vấn đề.
  • Tính linh hoạt và khả năng tùy chỉnh: LAMP Stack cho phép bạn tùy chỉnh và cấu hình từng thành phần để phù hợp với nhu cầu cụ thể của ứng dụng web.
  • Khả năng tương thích tốt: Các thành phần trong LAMP Stack hoạt động rất tốt với nhau và cũng tương thích với nhiều công nghệ web khác.

Các bước chuẩn bị trước khi cài đặt LAMP Stack trên CentOS

Trước khi bắt đầu quá trình cài đặt, bạn cần đảm bảo rằng server CentOS của bạn đã sẵn sàng. Dưới đây là một số bước chuẩn bị cần thiết:

Yêu cầu hệ thống

Để cài đặt LAMP Stack, server CentOS của bạn nên có:

  • Một phiên bản CentOS đã được cài đặt (phiên bản 7 hoặc 8 đều phù hợp).
  • Quyền truy cập vào tài khoản root hoặc một tài khoản có quyền sudo.
  • Kết nối internet ổn định để tải xuống các gói phần mềm.

Đảm bảo kết nối SSH đến server CentOS

Bạn sẽ cần kết nối đến server CentOS của mình thông qua SSH (Secure Shell) để thực hiện các lệnh cài đặt và cấu hình. Sử dụng một SSH client như PuTTY (trên Windows) hoặc Terminal (trên macOS/Linux) để kết nối đến địa chỉ IP của server.

Cập nhật hệ thống CentOS

Trước khi cài đặt bất kỳ phần mềm mới nào, bạn nên cập nhật hệ thống CentOS của mình lên phiên bản mới nhất để đảm bảo bạn đang có các bản vá bảo mật và các gói phần mềm mới nhất. Chạy lệnh sau trong terminal:

Bash

sudo yum update -y

Lệnh này sẽ tải xuống và cài đặt tất cả các bản cập nhật có sẵn cho hệ thống của bạn.

Hướng dẫn chi tiết cách cài đặt LAMP Stack trên CentOS

Bây giờ, chúng ta sẽ đi vào các bước cụ thể để cài đặt từng thành phần của LAMP Stack trên CentOS:

Bước 1: Cài đặt Apache HTTP Server

Cài đặt Apache bằng lệnh yum

CentOS sử dụng trình quản lý gói yum (Yellowdog Updater, Modified) để cài đặt, cập nhật và gỡ bỏ các gói phần mềm. Để cài đặt Apache, hãy chạy lệnh sau:

Bash

sudo yum install httpd -y

Lệnh này sẽ tải xuống và cài đặt gói httpd, là tên của Apache HTTP Server trên CentOS.

Khởi động và kích hoạt Apache

Sau khi cài đặt xong, bạn cần khởi động dịch vụ Apache và kích hoạt nó để tự động khởi động cùng với hệ thống. Sử dụng các lệnh sau:

Bash

sudo systemctl start httpd

sudo systemctl enable httpd

Lệnh systemctl start httpd sẽ khởi động dịch vụ Apache ngay lập tức. Lệnh systemctl enable httpd sẽ cấu hình để dịch vụ Apache tự động khởi động mỗi khi server được khởi động lại.

Cho phép Apache qua Firewall

Nếu server CentOS của bạn đang chạy tường lửa (firewall), bạn cần cho phép lưu lượng truy cập đến Apache thông qua các cổng 80 (HTTP) và 443 (HTTPS). Sử dụng lệnh sau:

Bash

sudo firewall-cmd –permanent –add-service=http

sudo firewall-cmd –permanent –add-service=https

sudo firewall-cmd –reload

Các lệnh này sẽ thêm các dịch vụ http và https vào danh sách được phép của firewall và sau đó tải lại cấu hình firewall.

Kiểm tra cài đặt Apache

Để kiểm tra xem Apache đã được cài đặt và chạy thành công hay chưa, bạn có thể mở trình duyệt web và truy cập vào địa chỉ IP của server CentOS của bạn. Nếu bạn thấy trang thử nghiệm (test page) của Apache, điều đó có nghĩa là Apache đã được cài đặt thành công.

Bước 2: Cài đặt MariaDB (thay thế cho MySQL)

Hướng dẫn chi tiết cách cài đặt LAMP Stack trên CentOS
Hướng dẫn chi tiết cách cài đặt LAMP Stack trên CentOS

Cài đặt MariaDB bằng lệnh yum

Để cài đặt MariaDB trên CentOS, hãy chạy lệnh sau:

Bash

sudo yum install mariadb-server mariadb -y

Lệnh này sẽ cài đặt gói mariadb-server (server cơ sở dữ liệu) và gói mariadb (client để tương tác với server).

Khởi động và kích hoạt MariaDB

Tương tự như Apache, bạn cần khởi động dịch vụ MariaDB và kích hoạt nó để tự động khởi động cùng với hệ thống. Sử dụng các lệnh sau:

Bash

sudo systemctl start mariadb

sudo systemctl enable mariadb

Thực hiện cấu hình bảo mật ban đầu cho MariaDB

Sau khi cài đặt xong, bạn nên chạy script bảo mật được cung cấp bởi MariaDB để thiết lập password cho root user, vô hiệu hóa đăng nhập root từ xa, xóa bỏ các database thử nghiệm và anonymous user. Chạy lệnh sau:

Bash

sudo mysql_secure_installation

Bạn sẽ được hỏi một số câu hỏi. Hãy làm theo hướng dẫn trên màn hình. Thường thì bạn sẽ muốn đặt password cho root user, trả lời “yes” cho các câu hỏi còn lại để tăng cường bảo mật.

Bước 3: Cài đặt PHP và các module cần thiết

Cài đặt PHP bằng lệnh yum

Để cài đặt PHP trên CentOS, bạn có thể sử dụng lệnh yum. Phiên bản PHP mặc định trên CentOS 7 có thể hơi cũ, vì vậy bạn có thể cần kích hoạt kho lưu trữ (repository) Remi để cài đặt các phiên bản PHP mới hơn (ví dụ: PHP 7.x hoặc 8.x). Trên CentOS 8, PHP thường đã có phiên bản mới hơn.

Để cài đặt PHP 7.4 trên CentOS 7 (ví dụ), bạn có thể thực hiện như sau:

Bash

sudo yum install -y epel-release

sudo yum install -y yum-utils

sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm

sudo yum-config-manager –enable remi-php74

sudo yum install php php-mysqlnd php-fpm php-opcache php-gd php-curl php-mbstring php-xml php-zip -y

Trên CentOS 8, bạn có thể cài đặt PHP bằng lệnh đơn giản hơn:

Bash

sudo yum install php php-mysqlnd php-fpm php-opcache php-gd php-curl php-mbstring php-xml php-zip -y

Lệnh này sẽ cài đặt PHP và các module PHP thường được sử dụng cho các ứng dụng web, bao gồm hỗ trợ MySQL/MariaDB, xử lý ảnh, cURL, xử lý chuỗi đa byte, XML và ZIP.

Kiểm tra cài đặt PHP

Sau khi cài đặt PHP, bạn có thể kiểm tra 1 phiên bản đã cài đặt bằng lệnh:  

1. www.west.cn

www.west.cn

Bash

php -v

Bạn sẽ thấy thông tin chi tiết về phiên bản PHP.

Cấu hình cơ bản sau khi cài đặt LAMP Stack

Sau khi đã cài đặt xong Apache, MariaDB và PHP, bạn có thể thực hiện một số cấu hình cơ bản để đảm bảo chúng hoạt động tốt với nhau.

Cấu hình Virtual Host trong Apache

Virtual Host cho phép bạn chạy nhiều website trên cùng một server Apache. Bạn có thể cấu hình Virtual Host để trỏ một tên miền cụ thể đến thư mục chứa các file website của bạn. File cấu hình Virtual Host thường nằm trong thư mục /etc/httpd/conf.d/. Bạn có thể tạo một file cấu hình mới (ví dụ: your_domain.conf) và định nghĩa các thông số như ServerName, DocumentRoot (thư mục chứa file website).

Kiểm tra hoạt động của PHP với Apache

Để kiểm tra xem PHP đã được cấu hình đúng cách để làm việc với Apache hay chưa, bạn có thể tạo một file PHP đơn giản (ví dụ: info.php) trong thư mục webroot của Apache (thường là /var/www/html) với nội dung sau:

PHP

<?php

phpinfo();

?>

Sau đó, truy cập vào file này thông qua trình duyệt web bằng địa chỉ IP hoặc tên miền của server (ví dụ: http://your_server_ip/info.php). Nếu bạn thấy trang thông tin PHP, điều đó có nghĩa là PHP đã được cài đặt và cấu hình thành công để làm việc với Apache. Đừng quên xóa file info.php sau khi kiểm tra xong vì nó có thể tiết lộ thông tin nhạy cảm về server của bạn.

Các vấn đề thường gặp và cách khắc phục khi cài đặt LAMP Stack

Trong quá trình cài đặt LAMP Stack, bạn có thể gặp phải một số vấn đề. Dưới đây là một vài vấn đề thường gặp và cách bạn có thể thử khắc phục:

Các vấn đề thường gặp và cách khắc phục khi cài đặt LAMP Stack
Các vấn đề thường gặp và cách khắc phục khi cài đặt LAMP Stack

Lỗi không tìm thấy gói phần mềm

Nếu bạn gặp lỗi không tìm thấy gói phần mềm khi sử dụng lệnh yum, hãy thử làm mới danh sách các gói bằng lệnh sudo yum clean all và sau đó chạy lại lệnh cài đặt. Đảm bảo rằng bạn đã bật các kho lưu trữ cần thiết (ví dụ: EPEL, Remi).

Lỗi không khởi động được dịch vụ

Nếu một trong các dịch vụ (Apache hoặc MariaDB) không khởi động được, hãy kiểm tra trạng thái của dịch vụ bằng lệnh sudo systemctl status httpd (cho Apache) hoặc sudo systemctl status mariadb (cho MariaDB) để xem thông báo lỗi chi tiết hơn. Bạn cũng có thể xem nhật ký (log) của dịch vụ để tìm nguyên nhân gây ra lỗi.

Lỗi liên quan đến Firewall

Nếu bạn không thể truy cập website sau khi cài đặt xong, hãy kiểm tra lại cấu hình firewall để đảm bảo rằng các cổng 80 và 443 đã được mở.

Kết luận: LAMP Stack – Nền tảng vững chắc cho ứng dụng web của bạn

Chúc mừng bạn đã hoàn thành quá trình tìm hiểu về LAMP Stack và cách cài đặt nó trên CentOS! Đây là một nền tảng mạnh mẽ và linh hoạt, cho phép bạn triển khai nhiều loại ứng dụng web khác nhau. Hãy tiếp tục khám phá và tùy chỉnh LAMP Stack để phù hợp với nhu cầu cụ thể của dự án web của bạn. Nếu bạn có bất kỳ câu hỏi nào trong quá trình cài đặt, đừng ngần ngại tìm kiếm sự trợ giúp từ cộng đồng hoặc các tài liệu trực tuyến. Chúc bạn thành công!

Bài viết liên quan