Hướng dẫn cài đặt LAMP trên Ubuntu Server chi tiết từ A đến Z

Hướng dẫn cài đặt LAMP trên Ubuntu Server chi tiết từ A đến Z

LAMP là một trong những nền tảng phổ biến nhất để triển khai website và ứng dụng web trên Linux Server. Với sự kết hợp của Linux, Apache, MariaDB/MySQL và PHP, LAMP đáp ứng tốt nhiều loại website từ website doanh nghiệp, blog, WordPress cho đến các ứng dụng PHP và hệ thống quản trị nội bộ.

Ưu điểm của LAMP là các thành phần đều phổ biến, có cộng đồng lớn, dễ tìm tài liệu và có thể cài đặt trực tiếp trên VPS hoặc Dedicated Server mà không cần sử dụng control panel.

Trong bài viết này, DataOnline hướng dẫn cách cài đặt LAMP trên Ubuntu Server theo từng bước, đồng thời giải thích cách kiểm tra Apache, MariaDB, PHP, cấu hình Firewall và một số thiết lập bảo mật cần thực hiện sau khi cài đặt.

LAMP Stack vs MEAN Stack

Mục lục nội dung

LAMP là gì?

LAMP là viết tắt của:

  • L – Linux: Hệ điều hành chạy máy chủ.
  • A – Apache: Web Server tiếp nhận và xử lý HTTP/HTTPS request.
  • M – MySQL/MariaDB: Hệ quản trị cơ sở dữ liệu.
  • P – PHP: Ngôn ngữ lập trình được sử dụng để xây dựng nhiều ứng dụng web.

Mô hình LAMP hoạt động theo nguyên lý:

Người dùng
    |
    | HTTP/HTTPS
    |
Apache Web Server
    |
    | PHP
    |
PHP Application
    |
    | SQL
    |
MariaDB/MySQL

Trong thực tế, LAMP không nhất thiết phải sử dụng chính xác MySQL và PHP. MariaDB thường được sử dụng thay thế MySQL, trong khi một số hệ thống có thể sử dụng Python hoặc Perl cho tầng ứng dụng.

LAMP đặc biệt phổ biến với các website sử dụng PHP như WordPress, Drupal, Joomla và nhiều ứng dụng PHP mã nguồn mở khác.

LAMP

LAMP Stack hoạt động như thế nào?

Khi người dùng truy cập một website chạy trên LAMP, request trước tiên được gửi đến Apache.

Apache xác định Virtual Host tương ứng với domain và xử lý request. Nếu request cần chạy PHP, Apache chuyển request đến PHP runtime thông qua PHP-FPM hoặc cơ chế PHP phù hợp.

Ứng dụng PHP có thể truy vấn dữ liệu từ MariaDB hoặc MySQL trước khi tạo nội dung trả về cho Apache.

Cuối cùng, Apache gửi HTTP response về trình duyệt của người dùng.

Với website PHP hiện đại, mô hình thường được triển khai theo dạng:

Internet
   |
Apache
   |
PHP-FPM
   |
PHP Application
   |
MariaDB/MySQL

PHP-FPM giúp tách PHP khỏi Apache và cho phép quản lý worker process hiệu quả hơn, đặc biệt khi máy chủ phục vụ nhiều website hoặc lượng request lớn.

DataOnline cài đặt và tối ưu cho tất cả các gói dịch vụ VPS giá rẻ

Mục tiêu khi cài đặt LAMP

Việc cài LAMP thủ công giúp quản trị viên hiểu rõ từng thành phần trong hệ thống thay vì phụ thuộc hoàn toàn vào control panel.

Sau khi hoàn thành, máy chủ có thể:

  • Chạy website PHP.
  • Chạy WordPress.
  • Chạy ứng dụng PHP mã nguồn mở.
  • Kết nối cơ sở dữ liệu MariaDB/MySQL.
  • Phục vụ website thông qua Apache.
  • Cấu hình nhiều domain bằng Virtual Host.
  • Bật HTTPS bằng chứng chỉ SSL/TLS.
  • Quản lý dịch vụ trực tiếp bằng systemd.
  • Kiểm soát Firewall và các port dịch vụ.

Yêu cầu trước khi cài đặt LAMP

Bạn cần chuẩn bị một Linux Server có:

  • Ubuntu Server 22.04 hoặc Ubuntu Server 24.04.
  • Quyền root hoặc tài khoản có quyền sudo.
  • Địa chỉ IP của server.
  • Domain nếu muốn triển khai website thực tế.
  • DNS đã trỏ domain về IP server.
  • Kết nối Internet để tải package.

Đối với website nhỏ hoặc môi trường học tập, VPS từ 1 đến 2 GB RAM có thể đáp ứng nhu cầu cơ bản.

Nếu chạy WordPress hoặc nhiều website PHP, nên sử dụng cấu hình có nhiều RAM và CPU hơn tùy theo lượng truy cập.

Các bước cài đặt LAMP

Quy trình cài đặt LAMP cơ bản gồm:

  1. Cập nhật Ubuntu Server.
  2. Cài đặt Apache.
  3. Khởi động và kiểm tra Apache.
  4. Cài đặt MariaDB.
  5. Thiết lập bảo mật cho MariaDB.
  6. Cài đặt PHP và PHP-FPM.
  7. Cài đặt PHP extension cần thiết.
  8. Kiểm tra PHP.
  9. Cấu hình Firewall.
  10. Tạo Virtual Host cho website.
  11. Kiểm tra website.
  12. Cấu hình HTTPS nếu triển khai production.

1. Cập nhật hệ thống

Trước khi cài đặt các thành phần LAMP, nên cập nhật package trên Ubuntu:

sudo apt update
sudo apt upgrade -y

Sau đó có thể kiểm tra phiên bản Ubuntu:

cat /etc/os-release

Kiểm tra kernel:

uname -r

Việc cập nhật hệ thống trước khi triển khai giúp hạn chế lỗi do package quá cũ và đảm bảo máy chủ có các bản cập nhật bảo mật cần thiết.

2. Cài đặt Apache Web Server

Apache là thành phần chịu trách nhiệm tiếp nhận các HTTP request từ client và trả nội dung website về trình duyệt.

Cài đặt Apache:

sudo apt install apache2 -y

Khởi động Apache:

sudo systemctl start apache2

Cho Apache tự động khởi động cùng hệ thống:

sudo systemctl enable apache2

Kiểm tra trạng thái:

sudo systemctl status apache2

Nếu thấy:

Active: active (running)

Apache đang hoạt động bình thường.

Có thể kiểm tra phiên bản Apache:

apache2 -v

3. Kiểm tra Apache bằng trình duyệt

Sau khi Apache hoạt động, mở trình duyệt và truy cập:

http://IP_SERVER

Ví dụ:

http://1.2.3.4

Nếu Apache được cài đặt thành công, trình duyệt sẽ hiển thị trang mặc định của Apache.

Có thể kiểm tra trực tiếp bằng curl:

curl -I http://127.0.0.1

Kết quả thường có HTTP status:

HTTP/1.1 200 OK

Điều này cho biết Apache đang trả response thành công.

4. Cài đặt MariaDB

MariaDB là hệ quản trị cơ sở dữ liệu quan hệ tương thích cao với MySQL và được sử dụng phổ biến trong các hệ thống Linux.

Cài đặt MariaDB:

sudo apt install mariadb-server mariadb-client -y

Khởi động dịch vụ:

sudo systemctl start mariadb

Cho MariaDB tự động khởi động khi server reboot:

sudo systemctl enable mariadb

Kiểm tra trạng thái:

sudo systemctl status mariadb

Kiểm tra phiên bản:

mariadb --version

5. Thiết lập bảo mật cho MariaDB

Sau khi cài đặt, nên chạy công cụ bảo mật:

sudo mariadb-secure-installation

Tùy phiên bản MariaDB, các câu hỏi hiển thị có thể khác nhau.

Thông thường nên:

  • Xóa anonymous user.
  • Không cho phép tài khoản quản trị cơ sở dữ liệu đăng nhập từ Internet.
  • Xóa database test nếu không sử dụng.
  • Reload privilege tables.
  • Thiết lập phương thức xác thực phù hợp.

Không nên mở trực tiếp port database ra Internet nếu website và database cùng chạy trên một server.

Nếu cần cho ứng dụng ở máy chủ khác truy cập database, nên giới hạn IP được phép kết nối thay vì mở toàn bộ Internet.

6. Kiểm tra MariaDB

Đăng nhập vào MariaDB:

sudo mariadb

Kiểm tra database:

SHOW DATABASES;

Thoát:

EXIT;

Nếu đăng nhập thành công, MariaDB đã hoạt động.

7. Cài đặt PHP

PHP là thành phần xử lý mã nguồn PHP của website.

Cài đặt PHP:

sudo apt install php php-cli php-fpm php-mysql -y

Kiểm tra phiên bản:

php -v

Ví dụ:

PHP 8.x.x

Phiên bản PHP cụ thể phụ thuộc vào Ubuntu repository và package bạn lựa chọn.

8. Cài đặt các PHP extension phổ biến

Nhiều ứng dụng PHP yêu cầu thêm extension ngoài PHP core.

Có thể cài một nhóm extension phổ biến:

sudo apt install php-curl php-gd php-mbstring php-xml php-zip php-intl php-bcmath -y

Nếu triển khai WordPress hoặc ứng dụng PHP cụ thể, cần kiểm tra yêu cầu của chính ứng dụng để cài đúng extension.

Kiểm tra danh sách module:

php -m

Ví dụ kiểm tra riêng extension MySQL:

php -m | grep mysqli

9. Kiểm tra PHP với Apache

Tạo file test:

sudo nano /var/www/html/info.php

Thêm:

<?php
phpinfo();

Lưu file rồi truy cập:

http://IP_SERVER/info.php

Nếu xuất hiện trang PHP Information, PHP đã được Apache xử lý thành công.

Sau khi kiểm tra xong, nên xóa file này:

sudo rm /var/www/html/info.php

Không nên để phpinfo() công khai trên server production vì trang này có thể tiết lộ nhiều thông tin về môi trường máy chủ, PHP và các module đang sử dụng.

10. Kiểm tra PHP-FPM

Nếu sử dụng PHP-FPM, kiểm tra service:

sudo systemctl status php*-fpm

Có thể xem các service PHP-FPM hiện có:

systemctl list-units --type=service | grep php

Ví dụ service có thể có dạng:

php8.3-fpm.service

Phiên bản thực tế phụ thuộc vào phiên bản PHP đang cài đặt.

11. Cấu hình Firewall cho LAMP

Ubuntu thường sử dụng UFW để quản lý firewall đơn giản.

Kiểm tra UFW:

sudo ufw status

Nếu đang sử dụng UFW, cho phép SSH:

sudo ufw allow OpenSSH

Cho phép HTTP:

sudo ufw allow 80/tcp

Cho phép HTTPS:

sudo ufw allow 443/tcp

Sau đó bật firewall:

sudo ufw enable

Kiểm tra:

sudo ufw status

Không nên mở port MariaDB 3306 ra Internet nếu không thực sự cần thiết.

Nếu database cần truy cập từ server khác, nên tạo rule giới hạn nguồn truy cập.

12. Tạo Virtual Host cho website

Apache có thể chạy nhiều website trên cùng một server thông qua Virtual Host.

Ví dụ domain:

example.com

Tạo thư mục website:

sudo mkdir -p /var/www/example.com/public_html

Phân quyền thư mục:

sudo chown -R $USER:$USER /var/www/example.com/public_html

Tạo file website:

nano /var/www/example.com/public_html/index.php

Nội dung thử nghiệm:

<?php
echo "LAMP Server is working";

13. Tạo Apache Virtual Host

Tạo file cấu hình:

sudo nano /etc/apache2/sites-available/example.com.conf

Cấu hình cơ bản:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com

    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>

Lưu file và bật site:

sudo a2ensite example.com.conf

Kiểm tra cấu hình Apache:

sudo apache2ctl configtest

Nếu kết quả:

Syntax OK

khởi động lại Apache:

sudo systemctl reload apache2

Sau đó trỏ DNS của domain về IP server và truy cập:

http://example.com

14. Bật mod_rewrite cho Apache

Nhiều ứng dụng PHP và WordPress cần Apache mod_rewrite.

Bật module:

sudo a2enmod rewrite

Reload Apache:

sudo systemctl reload apache2

Nếu website sử dụng .htaccess, cần đảm bảo Virtual Host cho phép override:

<Directory /var/www/example.com/public_html>
    AllowOverride All
    Require all granted
</Directory>

15. Cài SSL và bật HTTPS

Website production nên sử dụng HTTPS.

Nếu sử dụng Let’s Encrypt, có thể cài Certbot:

sudo apt install certbot python3-certbot-apache -y

Sau đó chạy:

sudo certbot --apache

Certbot có thể tự động:

  • Xác thực domain.
  • Cài certificate.
  • Cấu hình HTTPS.
  • Tạo redirect HTTP sang HTTPS.
  • Thiết lập gia hạn certificate.

Sau khi cài đặt, kiểm tra:

https://example.com

Nên kiểm tra cả certificate, HTTPS Binding và tình trạng Mixed Content của website.

16. Kiểm tra toàn bộ LAMP Stack

Sau khi hoàn thành, có thể kiểm tra từng thành phần.

Kiểm tra Linux

cat /etc/os-release

Kiểm tra Apache

systemctl status apache2

Kiểm tra MariaDB

systemctl status mariadb

Kiểm tra PHP

php -v

Kiểm tra PHP-FPM

systemctl list-units --type=service | grep php

Kiểm tra Apache Virtual Host

sudo apache2ctl -S

Lệnh này đặc biệt hữu ích khi server chạy nhiều website.

Kiểm tra port đang lắng nghe

sudo ss -lntp

Có thể kiểm tra riêng HTTP và HTTPS:

sudo ss -lntp | grep -E ':80|:443'

17. Kiểm tra log Apache

Apache thường có hai nhóm log quan trọng:

/var/log/apache2/access.log
/var/log/apache2/error.log

Với Virtual Host riêng, log có thể nằm tại:

/var/log/apache2/example.com-access.log
/var/log/apache2/example.com-error.log

Theo dõi error log theo thời gian thực:

sudo tail -f /var/log/apache2/error.log

Theo dõi access log:

sudo tail -f /var/log/apache2/access.log

Khi website gặp lỗi 403, 404, 500 hoặc 502, nên kiểm tra Apache log kết hợp với log của PHP-FPM và ứng dụng.

18. Một số lỗi thường gặp khi cài LAMP

Apache không khởi động

Kiểm tra:

sudo systemctl status apache2

Kiểm tra cấu hình:

sudo apache2ctl configtest

Xem log:

sudo journalctl -u apache2 -xe

Một trong những nguyên nhân phổ biến là cấu hình Virtual Host sai hoặc port 80/443 đang bị dịch vụ khác sử dụng.

Website trả về lỗi 403 Forbidden

Kiểm tra:

  • Quyền thư mục.
  • Quyền file.
  • DocumentRoot.
  • Cấu hình <Directory>.
  • Require all granted.
  • AppArmor hoặc các lớp bảo mật khác nếu có.

Kiểm tra quyền:

ls -lah /var/www/example.com/public_html

Website tải file PHP thay vì thực thi PHP

Có thể PHP chưa được tích hợp đúng với Apache hoặc PHP-FPM chưa được cấu hình.

Kiểm tra:

php -v

và:

systemctl list-units --type=service | grep php

Đồng thời kiểm tra Apache module và Virtual Host.

Lỗi kết nối database

Kiểm tra MariaDB:

sudo systemctl status mariadb

Kiểm tra database có đang lắng nghe hay không:

sudo ss -lntp | grep 3306

Kiểm tra thông tin database trong ứng dụng:

  • Database name.
  • Username.
  • Password.
  • Host.
  • Port.

Nếu ứng dụng và MariaDB cùng máy chủ, thông thường không cần mở port 3306 trên Internet.

Website báo lỗi 500

Lỗi HTTP 500 thường liên quan đến ứng dụng, PHP hoặc cấu hình Apache.

Kiểm tra:

sudo tail -f /var/log/apache2/error.log

Nếu sử dụng PHP-FPM, kiểm tra log và trạng thái PHP-FPM tương ứng.

Ngoài ra cần kiểm tra:

  • PHP version.
  • PHP extension.
  • Quyền file.
  • .htaccess.
  • Code PHP.
  • Memory limit.
  • Database connection.

19. Tối ưu LAMP cho môi trường production

Sau khi cài đặt LAMP cơ bản, không nên đưa website production vào hoạt động ngay mà không kiểm tra cấu hình.

Sử dụng PHP-FPM

PHP-FPM giúp quản lý PHP worker hiệu quả hơn và phù hợp với hệ thống có nhiều website hoặc lượng request lớn.

Cần điều chỉnh các thông số worker dựa trên:

  • RAM server.
  • CPU.
  • Số lượng website.
  • Loại ứng dụng.
  • Lượng request.
  • Thời gian xử lý PHP.

Không nên đặt số lượng PHP worker quá cao trên VPS có RAM hạn chế.

Tối ưu Apache

Có thể kiểm tra module:

sudo apache2ctl -M

Chỉ nên bật những module thực sự cần thiết.

Đối với website có traffic lớn, cần đánh giá MPM, PHP-FPM, KeepAlive và giới hạn worker dựa trên tài nguyên thực tế thay vì áp dụng một cấu hình giống nhau cho mọi server.

Sử dụng OPcache

OPcache giúp PHP lưu bytecode đã biên dịch trong bộ nhớ, từ đó giảm công việc phải thực hiện lại trong các request tiếp theo.

Kiểm tra:

php -m | grep -i opcache

Nếu ứng dụng phù hợp, OPcache thường là một trong những thành phần nên được bật trên môi trường production.

Sử dụng Redis hoặc Memcached khi cần

Với website có lượng truy cập lớn, có thể triển khai Redis hoặc Memcached để hỗ trợ caching.

Tuy nhiên, cache chỉ nên được triển khai sau khi xác định rõ điểm nghẽn của hệ thống.

Tối ưu database

MariaDB/MySQL cần được theo dõi về:

  • CPU.
  • RAM.
  • Disk I/O.
  • Số lượng connection.
  • Slow query.
  • Buffer pool.
  • Kích thước database.

Đối với website lớn, database thường là một trong những thành phần cần được tối ưu riêng thay vì chỉ tăng tài nguyên Apache hoặc PHP.

20. Bảo mật LAMP Server

Một LAMP Server production nên được bảo vệ ở nhiều lớp.

SSH

Không nên sử dụng tài khoản root trực tiếp cho các tác vụ quản trị hàng ngày nếu không cần thiết.

Nên:

  • Sử dụng SSH Key.
  • Hạn chế đăng nhập root.
  • Sử dụng firewall.
  • Giới hạn IP quản trị nếu mô hình cho phép.
  • Sử dụng cơ chế chống brute-force phù hợp.

Apache

Chỉ bật các module cần thiết.

Không nên để lộ thông tin phiên bản không cần thiết trong HTTP response.

PHP

Không nên bật các tính năng PHP không cần thiết cho ứng dụng.

Kiểm tra cấu hình:

php --ini

Có thể xem giá trị hiện tại:

php -i | grep memory_limit

MariaDB

Không nên expose database trực tiếp ra Internet nếu ứng dụng không cần truy cập từ bên ngoài.

Đặc biệt không nên sử dụng tài khoản database có quyền quá cao cho website.

Nên tạo database user riêng cho từng ứng dụng.

Ví dụ:

CREATE DATABASE example_db;
CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost';
FLUSH PRIVILEGES;

Trong môi trường production, hãy sử dụng mật khẩu mạnh và cơ chế quản lý secret phù hợp thay vì đặt mật khẩu đơn giản trong script.

21. LAMP phù hợp với website nào?

LAMP phù hợp với nhiều loại website và ứng dụng PHP:

  • WordPress.
  • WooCommerce.
  • Drupal.
  • Joomla.
  • Website doanh nghiệp.
  • Blog.
  • Website tin tức.
  • Landing page.
  • Web application PHP.
  • API PHP.
  • Hệ thống quản trị nội bộ.
  • Các ứng dụng sử dụng MariaDB/MySQL.

LAMP đặc biệt phù hợp khi đội ngũ vận hành đã quen với Linux, Apache, PHP và MySQL/MariaDB.

LAMP và LEMP khác nhau như thế nào?

LAMP sử dụng Apache làm Web Server, trong khi LEMP thường sử dụng Nginx.

Thành phần LAMP LEMP
Hệ điều hành Linux Linux
Web Server Apache Nginx
Database MySQL/MariaDB MySQL/MariaDB
Ngôn ngữ PHP PHP
PHP Runtime PHP-FPM hoặc module PHP-FPM
Cấu hình .htaccess và Virtual Host Server Block
Phù hợp Hệ thống PHP truyền thống Website cần Nginx/reverse proxy

Không có lựa chọn tuyệt đối tốt hơn. Việc chọn Apache hay Nginx phụ thuộc vào ứng dụng, kiến trúc hệ thống, khả năng quản trị và yêu cầu hiệu suất.

LAMP và MEAN khác nhau như thế nào?

LAMP và MEAN phục vụ những hệ sinh thái ứng dụng khác nhau.

Tiêu chí LAMP MEAN
OS Linux Linux
Web Server Apache Node.js/Express
Ngôn ngữ PHP JavaScript/TypeScript
Database MySQL/MariaDB MongoDB
Kiểu database Quan hệ NoSQL
Phù hợp Website PHP, CMS Ứng dụng Node.js
Hệ sinh thái PHP JavaScript

LAMP thường là lựa chọn tự nhiên cho các website PHP và CMS truyền thống.

MEAN phù hợp hơn với hệ thống được xây dựng xoay quanh JavaScript và Node.js.

Ưu điểm của LAMP Stack

Thành phần trưởng thành

Linux, Apache, MySQL/MariaDB và PHP đều có lịch sử phát triển lâu dài và được sử dụng rộng rãi.

Cộng đồng lớn

Khi gặp lỗi, quản trị viên có thể dễ dàng tìm kiếm tài liệu, hướng dẫn và giải pháp từ cộng đồng.

Chi phí thấp

Các thành phần chính của LAMP đều là phần mềm mã nguồn mở, giúp giảm chi phí bản quyền.

Phù hợp với nhiều CMS

Rất nhiều CMS và ứng dụng PHP được xây dựng để chạy trên LAMP.

Dễ triển khai trên VPS

LAMP có thể cài đặt trực tiếp trên VPS với cấu hình tương đối nhỏ, phù hợp với website cá nhân, website doanh nghiệp nhỏ và môi trường development.

Nhược điểm của LAMP

Cần kiến thức quản trị Linux

Cài đặt LAMP thủ công yêu cầu người quản trị hiểu Linux, systemd, Apache, PHP, database và firewall.

Cần tự bảo mật

Server cài thủ công không tự động đảm bảo an toàn. Người quản trị phải chủ động cập nhật hệ điều hành, PHP, Apache, database và ứng dụng.

Cần tự tối ưu

Khi traffic tăng, cần theo dõi và tối ưu từng thành phần thay vì chỉ tăng cấu hình máy chủ.

Có thể phức tạp khi triển khai nhiều website

Khi số lượng website tăng lên, việc quản lý Virtual Host, PHP-FPM pool, SSL, database, backup và log cần được tổ chức bài bản.

Khi nào nên sử dụng LAMP?

LAMP là lựa chọn phù hợp nếu bạn:

  • Cần triển khai website PHP.
  • Chạy WordPress hoặc CMS mã nguồn mở.
  • Muốn tự quản lý Linux Server.
  • Muốn kiểm soát toàn bộ cấu hình Web Server.
  • Không muốn phụ thuộc vào control panel.
  • Cần môi trường phát triển PHP phổ biến.
  • Muốn triển khai website trên VPS hoặc Dedicated Server.

Nếu chỉ cần một website đơn giản nhưng không muốn tự quản trị Linux, có thể cân nhắc Hosting hoặc control panel để giảm công việc vận hành.

Checklist sau khi cài đặt LAMP

Trước khi đưa server vào production, nên kiểm tra:

  • Ubuntu Server đã được cập nhật.
  • Apache đã cài đặt và đang chạy.
  • MariaDB/MySQL đã cài đặt và đang chạy.
  • PHP đã cài đặt đúng phiên bản.
  • PHP-FPM hoạt động nếu hệ thống sử dụng PHP-FPM.
  • Các PHP extension cần thiết đã được cài đặt.
  • Apache Virtual Host đã cấu hình.
  • Domain đã trỏ đúng IP server.
  • Port 80 được mở nếu sử dụng HTTP.
  • Port 443 được mở nếu sử dụng HTTPS.
  • MariaDB không bị expose Internet nếu không cần thiết.
  • SSL/TLS đã được cấu hình cho website production.
  • HTTP được chuyển hướng sang HTTPS nếu cần.
  • Không còn file phpinfo() trên production.
  • Apache access log và error log hoạt động.
  • PHP log được kiểm tra.
  • Đã cấu hình backup website và database.
  • Đã có phương án cập nhật bảo mật.
  • Đã kiểm tra CPU, RAM, disk và network.
  • Đã kiểm tra khả năng khôi phục khi server gặp sự cố.

Kết luận

LAMP là một nền tảng Web Server phổ biến, ổn định và phù hợp với nhiều loại website PHP. Việc tự cài đặt LAMP trên Ubuntu Server giúp quản trị viên hiểu rõ cách Apache, PHP và MariaDB phối hợp với nhau, đồng thời có toàn quyền kiểm soát hệ thống.

Quy trình cơ bản gồm cài đặt Apache, MariaDB và PHP, sau đó cấu hình PHP-FPM, Virtual Host, Firewall và HTTPS. Với môi trường production, cần thực hiện thêm các bước về bảo mật, backup, logging và tối ưu hiệu suất.

Nếu website có lượng truy cập lớn, việc chỉ cài LAMP là chưa đủ. Cần tiếp tục đánh giá PHP-FPM, OPcache, database, caching, storage, network và tài nguyên VPS hoặc Dedicated Server để xây dựng hệ thống có khả năng mở rộng và vận hành ổn định.

Đọc thêm về LAMP

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *