Cloud

Hướng dẫn setup và cấu hình LAMP Stack trên AWS EC2 instance Ubuntu trong 2 phút

Giới thiệu về LAMP Stack và ứng dụng thực tế

Bạn muốn triển khai một website hay ứng dụng web một cách nhanh chóng trên đám mây mà không muốn phải tốn hàng giờ cài đặt từng ứng dụng một? Giải pháp phổ biến nhất cho các web server hiện nay là LAMP Stack. LAMP là viết tắt của Linux, Apache, MySQL, PHP – tập hợp các phần mềm mã nguồn mở thường được cài cùng nhau để giúp máy chủ host các website và ứng dụng web động viết bằng PHP. Nói cách khác, Linux làm hệ điều hành, Apache làm máy chủ web, dữ liệu được lưu trong MySQL, và PHP xử lý nội dung động. Nhờ có LAMP, máy chủ của bạn có thể chạy các trang web tương tác, từ blog WordPress đến các ứng dụng web phức tạp.

Trong thực tế, LAMP Stack cực kỳ phổ biến và được dùng làm nền tảng cho rất nhiều ứng dụng web. Ví dụ điển hình nhất là WordPress – hệ quản trị nội dung số 1 thế giới – chạy “ngon lành” trên LAMP. Ngoài ra, nhiều framework PHP như Laravel, Symfony cũng tối ưu cho Apache + MySQL, hay các hệ thống portal, trang thương mại điện tử (Magento, OpenCart) đều cần môi trường LAMP tương tự. Sự linh hoạt và cộng đồng đông đảo khiến LAMP trở thành lựa chọn hàng đầu cho cả người mới và cả các DevOps có nhiều kinh nghiệm .

Thông thường, việc cài đặt LAMP yêu cầu nhiều bước làm thủ công như: Setup Ubuntu, Apache, MySQL, và PHP… Tuy nhiên, trong bài hướng dẫn này, chúng ta sẽ setup toàn bộ LAMP Stack trên AWS EC2 chỉ trong vòng ~2 phút nhờ sử dụng Bootstrap Script (User Data) tự động hóa. Điều này đặc biệt hữu ích cho những ai mới làm quen AWS hoặc đang chuẩn bị thi chứng chỉ cloud, vì bạn sẽ thấy sức mạnh của tự động hóa trên đám mây. Hãy tưởng tượng user data script như một danh sách to-do cho server EC2 của bạn: Khi instance khởi động, nó sẽ tự động chạy qua từng lệnh để cấu hình môi trường mà bạn không cần phải động tay vào làm. Thật tuyệt vời phải không? Bây giờ, chúng ta hãy cùng bắt đầu từng bước!

Các thành phần của LAMP: Linux, Apache, MySQL, PHP

Trước khi triển khai, hãy chắc chắn bạn hiểu vai trò của từng thành phần trong LAMP Stack:

  • Linux (Ubuntu Server): Hệ điều hành mã nguồn mở ổn định và bảo mật. Ubuntu Server được dùng ở đây để cung cấp nền tảng cho Apache, MySQL, PHP chạy. Ubuntu nổi tiếng thân thiện, cộng đồng hỗ trợ lớn, và có các phiên bản LTS (Long Term Support) phù hợp cho máy chủ.

  • Apache: Phần mềm máy chủ web phổ biến nhất thế giới. Apache chịu trách nhiệm lắng nghe các kết nối HTTP và phục vụ nội dung web (HTML, hình ảnh, PHP được xử lý…) cho người dùng. Nó mạnh mẽ, linh hoạt với nhiều module, và kết hợp tốt với PHP.

  • MySQL: Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) rất thông dụng. MySQL dùng để lưu trữ dữ liệu động cho website – ví dụ như thông tin người dùng, bài đăng, sản phẩm… Trên Ubuntu, gói cài mysql-server thường cài đặt MySQL  (hoặc biến thể MariaDB tương đương). Database MySQL sẽ được PHP sử dụng để truy vấn, lưu trữ dữ liệu.

  • PHP: Ngôn ngữ kịch bản phía máy chủ (server-side scripting) được dùng để tạo nội dung web động. PHP chạy bên trong Apache (nhờ module PHP) để xử lý PHP code, tương tác với MySQL và sinh ra HTML gửi về cho client. Rất nhiều hệ thống web (WordPress, Laravel…) được viết bằng PHP nên chúng ta cần PHP trong stack này.

Mỗi thành phần một nhiệm vụ, nhưng khi kết hợp thành LAMP Stack, chúng tạo nên một môi trường hoàn chỉnh để chạy website: Linux làm nền tảng, Apache phục vụ web, MySQL lưu trữ dữ liệu, và PHP tạo nội dung động.

Bootstrap Script (User Data) là gì và có vai trò ra sao?

Khi khởi chạy một EC2 instance, AWS cho phép chúng ta đính kèm một đoạn User Data (dữ liệu người dùng) – đây chính là bootstrap script sẽ tự động chạy một lần duy nhất khi instance khởi động lần đầu. Bạn có thể hình dung User Data script như một kịch bản “dọn chỗ” ban đầu cho máy chủ: nó được chạy với quyền root nên có thể cài đặt phần mềm, chỉnh sửa cấu hình hệ thống tùy ý. Mục đích của user data là để tự động hóa các tác vụ khởi động máy chủ (bootstrapping), ví dụ như cập nhật hệ thống, cài đặt gói phần mềm, hoặc download về các file cần thiết cho ứng dụng.

Nói một cách đơn giản: thay vì bạn phải login và chạy từng lệnh như setup Apache, MySQL, PHP, thì bạn chỉ cần đưa các lệnh đó vào User Data. AWS EC2 sẽ thay bạn thực thi các lệnh này khi máy ảo được tạo mới. Kịch bản này thường bắt đầu bằng shebang #!/bin/bash để hệ thống biết thực thi dưới dạng Bash shell. Với Bootstrap Script, mọi thứ trong instance sẽ được setup sẵn sàng ngay từ đầu, giúp triển khai những môi trường như LAMP nhanh chóng và nhất quán. Đây là một kỹ thuật quan trọng, đặc biệt khi chúng ta làm việc trong lĩnh vực DevOps/Cloud, giúp bạn tiết kiệm thời gian và tránh sai sót cấu hình lặp đi lặp lại.

Lưu ý: User Data script mặc định chỉ chạy một lần khi instance khởi tạo lần đầu. Nếu bạn reboot hoặc tạo AMI từ instance đó, script sẽ không tự động chạy lại trừ khi được cấu hình đặc biệt (ví dụ dùng tham số <persist>true</persist> hoặc cloud-init để cho phép chạy lại). Tuy nhiên, trong phạm vi bài này, chúng ta chỉ cần chạy nó một lần để thiết lập LAMP khi tạo mới instance.

Hướng dẫn tạo EC2 Ubuntu instance với User Data Script

Bây giờ, chúng ta sẽ đi vào phần chính: tạo một EC2 instance Ubuntu và sử dụng User Data (Bootstrap script) để cài đặt LAMP Stack tự động. Hãy làm theo các bước chi tiết dưới đây:

  • Truy cập AWS EC2: Login vào AWS Management Console của bạn. Click vào biểu tượng dịch vụ trên cùng bên trái, tìm và chọn EC2 (Virtual Servers in the Cloud). Đây là nơi quản lý các máy chủ ảo EC2

  • Trong màn hình EC2 khởi tạo instance mới: Click “Launch Instance” (Khởi chạy máy chủ EC2). Và bạn sẽ vào được trang cấu hình chi tiết cho instance mới.

  • Trong màn hình cấu hình EC2 instance (Launch an instance ), hãy cuộn xuống và lần lượt thực hiện các bước cấu hình sau:

Tên và OS (AMI): Đặt tên cho instance (ví dụ: LAMP-SVR01). Phần Application and OS Images (AMI), hãy chọn Ubuntu Server 24.04 LTS (64-bit) – bản AMI Ubuntu mới nhất, miễn phí trong Free Tier của AWS. Ubuntu sẽ là hệ điều hành Linux cho stack LAMP của chúng ta.

Chọn loại máy (Instance Type): Trong Instance Type, chọn t3.micro (2 vCPU, 1GB RAM) . Loại này đủ cho mục đích thử nghiệm LAMP và giúp bạn không bị tính phí cao.  Và chọn hoặc tạo mới một Key Pair (SSH key) để có thể truy cập vào máy chủ qua SSH sau này.

Cấu hình mạng & bảo mật: Ở phần Network Settings, đảm bảo instance sẽ có Auto-assign Public IP (gán IP public tự động) để chúng ta truy cập được từ Internet. Chọn VPC mặc địnhSubnet mặc định để đơn giản (mặc định subnet này sẽ cấp IP public). Thiết lập Security Group cho phép ít nhất hai cổng là SSH (22) và HTTP (80). Bạn hãy tick vào “Allow SSH” và “Allow HTTP” như trong hình dưới – Để mở cổng HTTP (port 80) cho bên ngoài internet có thể truy cập vào website của bạn (Lưu ý: cổng 22 mở để bạn SSH, cổng 80 mở để phục vụ web.)

Cài đặt nâng cao – dán nội dung Bootstrap script vào User Data: Cuộn xuống Click vào Advanced Details (Thiết lập nâng cao)

Cuộn xuống, tiếp theo trong mục  “Metadata version” chọn “V1 and V2 (token optional)” :

Tiếp tục cuộn xuống, tại đây, sẽ có một khung cho User Data. Chúng ta sẽ dán  vào một script bash để tự động cài LAMP. Hãy chắc chắn bắt đầu script với #!/bin/bash. (Chi tiết nội dung script sẽ được mô tả ở phần sau). Click vào đường Link này trong GITHUB của mình để copy nội dung file script:

https://raw.githubusercontent.com/phuongluuho/newcode/refs/heads/main/Bootstrap-Script.txt

(Giải thích chi tiết script xem ở mục sau.) Dán toàn bộ nội dung script vào ô User Data. AWS sẽ tự động mã hóa base64 cho chuỗi này và nạp vào metadata của instance, do đó bạn chỉ cần dán văn bản thuần, không cần tự mã hóa thủ công. Kiểm tra lại một lần nữa rằng script đã bắt đầu bằng #! chính xác, vì nếu thiếu, script sẽ không thực thi. Cuối cùng click vào Launch instance để tạo EC2 server.

Trong vài chục giây AWS sẽ cấp phát và khởi động máy ảo của bạn. Bạn có thể vào trang Instances để thấy instance mới đang ở trạng thái Pending rồi chuyển sang Running.

Chờ khoảng một vài phút chúng ta sẽ thấy cột “Status check” hiển thị “checks passed” > và tick vào EC2 này> Copy Public IPv4 address:

Mở 1 tab mới trong trình duyệt > dán địa chỉ IP vào và truy cập vào webserver, và chúng ta thấy có thể truy cập được vào website:

Quay trở lại màn hình của dịch vụ EC2> click chuột phải vào Server > click Connect để truy cập vào server:

Click vào EC2 instance Connect Tab> Click connect> sẽ mở ra màn hình terminal của server> hãy chạy lần lượt các lệnh sau để xác nhận Apache, MariaDB, và AWS CLI đã được setup thành công:

systemctl status apache2
systemctl status mariadb
aws –version

   

Chúc mừng, bạn đã tạo xong một EC2 Ubuntu Server và cung cấp script cài đặt LAMP tự động! Bây giờ, chúng ta sẽ tìm hiểu kỹ hơn script User Data đã dán ở bước trên để xem nó hoạt động ra sao.

Nội dung cụ thể của Bootstrap Script (User Data)

Đoạn script User Data chúng ta dùng ở trên chính là trái tim của việc tự động cài đặt LAMP Stack. Hãy cùng phân tích từng phần quan trọng của script này:

  • Shebang #!/bin/bash: Dòng đầu tiên khai báo đây là script chạy trên trình thông dịch Bash. Nó đảm bảo hệ thống EC2 biết cách thực thi các lệnh bên dưới.

  • Cập nhật hệ thống: Lệnh apt-get update -y sẽ cập nhật danh sách gói phần mềm trên Ubuntu. Thêm -y để hệ thống tự động trả lời “yes” cho các prompt xác nhận. Việc cập nhật này giúp đảm bảo chúng ta cài đặt được phiên bản mới nhất của Apache, Mariab, PHP.

  • Cài đặt Apache, MariaDB, PHP: Lệnh apt-get install -y apache2 mariadb php libapache2-mod-php php-mysql awscli sẽ cài đặt hàng loạt gói:

    • apache2: cài đặt Apache Web Server.

    • mariadb: cài Maria Database Server

    • php: cài ngôn ngữ PHP.

    • libapache2-mod-phpphp-mysql: module PHP cho Apache và module kết nối Mariadb cho PHP, đảm bảo Apache/PHP/Mariadb tích hợp với nhau.

    • awscli: cài AWS Command Line Interface. Mặc dù không trực tiếp cần cho LAMP, việc cài AWS CLI minh họa rằng ta có thể chuẩn bị sẵn công cụ này để chạy các lệnh AWS từ máy EC2 nếu cần (ví dụ lấy thông tin instance, quản lý S3…). Để AWS CLI hoạt động, thường bạn cần cấu hình credential hoặc gán IAM Role cho instance – nhưng trong bài này ta chỉ cài sẵn cho biết.

  • Khởi động và kích hoạt dịch vụ:

    • systemctl start apache2systemctl start mariadb sẽ khởi động ngay lập tức dịch vụ Apache và MySQL sau khi cài.

    • systemctl enable apache2systemctl enable mariadb thiết lập cho Apache, Mariadb tự động khởi động cùng hệ thống (tức là nếu instance reboot thì web server và database cũng tự bật).

    Lưu ý: Trên Ubuntu, sau khi cài đặt, Apache thường tự khởi động sẵn. Tuy nhiên, chúng ta vẫn chạy lệnh enable để đảm bảo dịch vụ này luôn bật mỗi khi máy khởi động lại (đảm bảo tính liên tục cho server web).

  • Lấy metadata của instance: Phần thú vị tiếp theo, chúng ta dùng lệnh curl để truy cập Instance Metadata Service của AWS. AWS cung cấp một địa chỉ nội bộ http://169.254.169.254/latest/meta-data/ để instance EC2 có thể tự lấy thông tin về chính nó. Ở đây:

    • INSTANCE_ID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id) sẽ gọi API metadata và lưu Instance ID (ví dụ: i-0123456789abcdef0) vào biến INSTANCE_ID.

    • AZ=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone) tương tự, lấy Availability Zone (vùng sẵn sàng) của instance (ví dụ: ap-southeast-1a) rồi gán vào biến AZ. -s nghĩa là “silent”, để curl không in ra tiến trình.

    Giải thích: Mục đích của việc này là thu thập một vài thông tin động về máy ảo, nhằm hiển thị lên trang web làm ví dụ. Bạn có thể lấy nhiều loại metadata khác (như public IP, AMI ID, v.v.), nhưng ở đây chỉ cần ID và AZ để demo.

  • Tạo trang index hiển thị thông tin của EC2 instance:

    Sẽ tạo file HTML đơn giản tại đường dẫn gốc của web server Apache (/var/www/html/). Cụ thể, nó in ra tiêu đề “Boostrap Demo” và bốn dòng chứa AZ, Instance ID, Public IP, Local IP  của Ec2, rồi ghi vào file index.html. Ký hiệu > dùng để ghi đè (tạo mới) file. Sau khi lệnh này chạy, Apache sẽ phục vụ file index.html đó cho bất kỳ ai truy cập vào website của EC2 instance.

    Kết quả dự kiến: Khi bạn truy cập vào IP public của EC2, trình duyệt sẽ hiện trang HTML với nội dung như (Tất nhiên, thông tin cụ thể sẽ thay đổi tùy instance của bạn.):

    Bootstrap Demo
    Availability Zone: us-east-1d
    Instance Id: i-072525c177c1fb2c5
    Public IP: 54.225.49.148
    Local IP: 172.31.45.9

Script trên đã thực hiện mọi thứ cần thiết để có một server LAMP sẵn sàng: cập nhật hệ thống, cài Apache + Mariadb + PHP, khởi động dịch vụ, và thậm chí tạo một trang web xác nhận thông tin. Theo tài liệu AWS, các bước này thường được dùng để triển khai nhanh một máy chủ web + PHP + cơ sở dữ liệu ngay khi boot server. Tất cả hoàn thành chỉ trong vài phút đầu tiên lúc instance khởi chạy – bạn không cần phải cấu hình thủ công gì thêm.

Cách kiểm tra kết quả sau khi khởi chạy

Sau khi instance được launch với script User Data trên, chúng ta sẽ kiểm tra xem LAMP Stack đã hoạt động đúng chưa. Hãy thực hiện các bước kiểm tra sau:

  1. Xác định địa chỉ IP Public của instance: Vào trang EC2 trên AWS Console, tìm instance vừa tạo. Trong phần Details, bạn sẽ thấy Public IPv4 address (địa chỉ IPv4 công khai) hoặc Public DNS của instance. Sao chép địa chỉ IP này. (Ví dụ: 3.26.125.184).

  2. Truy cập website từ trình duyệt: Mở trình duyệt web trên máy cá nhân của bạn. Gõ vào thanh địa chỉ: http://<địa_chỉ_IP> (thay <địa_chỉ_IP> bằng IP bạn vừa copy). Lưu ý: chỉ dùng giao thức http:// thôi, không phải https. (Vì chúng ta chưa cấu hình SSL, truy cập HTTPS sẽ không thành công  – hãy đảm bảo URL là HTTP). Nhấn Enter.

  3. Kiểm tra nội dung trang: Nếu mọi thứ suôn sẻ, trình duyệt sẽ tải được trang web từ server. Bạn sẽ thấy dòng “Bootstrap Demo” , Instance ID ,AZ, và địa chỉ IP của instance hiển thị. Đây chính là nội dung file index.html mà script đã tạo. Thông tin ID và vùng sẽ trùng khớp với thông tin trong Console AWS của instance đó (ID và Availability Zone), chứng tỏ script đã chạy thành công.

    • Ví dụ, nếu ID hiện trên trang là i-0f12... và AZ là ap-southeast-1a, bạn có thể đối chiếu với Instance IDAvailability Zone trong bảng mô tả instance trên AWS Console để xác nhận.

  4. Kiểm tra PHP (tuỳ chọn): Trong script, chúng ta chưa tạo trang PHP cụ thể, nhưng để đảm bảo PHP hoạt động, bạn có thể SSH vào instance và tạo file info.php với nội dung <?php phpinfo(); ?> trong /var/www/html/. Sau đó truy cập http://<IP>/info.php để xem trang thông tin PHP. Nếu trang phpinfo hiển thị, có nghĩa là PHP đã được xử lý thành công bởi Apache.

  5. Kiểm tra MariaDB (tuỳ chọn): Tương tự, bạn có thể SSH vào và chạy sudo mysql để vào MySQL console (trong Ubuntu, user root của MySQL mặc định auth bằng socket nên không cần mật khẩu ngay sau cài đặt). Thử lệnh SHOW DATABASES; để xem MySQL có hoạt động không.

Thông thường, mất khoảng 1-2 phút sau khi instance chạy để toàn bộ script hoàn thành (cài đặt phần mềm thường mất một chút thời gian). Vì vậy, nếu bạn truy cập quá sớm mà không thấy trang web, hãy đợi khoảng 1 đến 2 phút rồi thử refresh lại. Theo hướng dẫn của AWS, việc thêm các tác vụ cài đặt lúc boot sẽ làm quá trình khởi động kéo dài hơn một chút, nên hãy kiên nhẫn chờ các lệnh hoàn thành trước khi kiểm tra.

Nếu sau vài phút mà trang web vẫn không tải được, hãy chuyển sang phần tiếp theo để xem một số mẹo khắc phục sự cố thường gặp.

Mẹo khắc phục lỗi phổ biến

Dưới đây là một vài tình huống lỗi thường gặp khi thiết lập LAMP Stack bằng User Data, và cách xử lý:

  • Website không truy cập được (Connection timed out): Hãy kiểm tra Security Group của instance. Đảm bảo rằng cổng 80 (HTTP) đã được mở cho Internet. Nếu quên bước này, web server Apache chạy nhưng người dùng bên ngoài không kết nối được. Vào mục Security Groups trên AWS, thêm inbound rule để mở cổng 80 cho HTTP (0.0.0.0/0) nếu chưa có.

  • User Data script không chạy: Nếu bạn truy cập web bằng IP của EC2 mà chỉ thấy lỗi hoặc trang web không hiển thị đúng (ví dụ trang Apache mặc định hoặc không có gì), khả năng script của bạn đã không thực thi. Nguyên nhân phổ biến gồm:

    • Quên thêm dòng #!/bin/bash ở đầu script, hoặc bị thiếu ký tự. Hãy chắc chắn script bắt đầu đúng định dạng.

    • Định dạng dòng kết thúc không đúng (nên để Unix LF nếu edit trên Windows, hoặc đơn giản viết trực tiếp trong Console AWS).

    • Bạn paste script vào sai chỗ: cần paste vào trường User Data dưới phần Advanced Details khi tạo instance.

    • Script vượt quá kích thước cho phép (16 KB raw). Trường hợp này ít gặp với script ngắn như trên.

    • Cách kiểm tra: Thử kết nối SSH vào instance và xem file log /var/log/cloud-init-output.log. File này lưu toàn bộ output của script User Data khi chạy. Bạn có thể thấy các lệnh có chạy hay lỗi gì không (ví dụ lỗi cú pháp). Nếu không SSH được, trong console EC2, chọn instance > Actions > Monitor and Troubleshoot > Get System Log, có thể thấy log khởi động (đối với Ubuntu, có thể cần bật Serial Console).

  • Dịch vụ chưa kịp cài đã truy cập: Như đã nhắc, nếu bạn vào web quá sớm, script có thể đang chạy apt-get dẫn đến Apache chưa khởi động kịp. Hãy đợi một chút rồi thử lại. Lần đầu tiên khởi chạy, cài đặt MySQL và PHP có thể tốn thời gian hơn 1 phút.

  • User Data không chạy sau khi reboot: Như đã nói, script chỉ chạy một lần lúc tạo. Nếu bạn Stop rồi Start instance, trang web và dịch vụ vẫn giữ nguyên (vì đã cài xong từ trước), nhưng script sẽ không chạy lại. Do đó, nếu bạn kỳ vọng user data chạy sau mỗi lần khởi động (ví dụ script dùng để cấu hình tạm thời), bạn cần thiết lập khác (dùng cloud-init @reboot hoặc tùy chọn <persist>true</persist> trong user data đối với Windows, nhưng với Linux Amazon khuyến cáo viết logic trong script nếu cần chạy nhiều lần). Với trường hợp triển khai LAMP, bạn thường chỉ cần chạy một lần lúc setup ban đầu.

Tóm lại, nếu gặp lỗi, hãy kiểm tra cấu hình mạng trước (SG, IP) rồi kiểm tra log bên trong instance để tìm nguyên nhân. Rất may, ví dụ triển khai LAMP của chúng ta khá đơn giản nên hiếm khi gặp vấn đề nếu làm đúng các bước.

Kết luận: Lời khuyên và lợi ích của việc dùng User Data

Qua bài viết này, bạn đã thấy được sức mạnh của việc sử dụng User Data script khi khởi chạy EC2. Chỉ với vài dòng script, chúng ta đã tự động hóa hoàn toàn việc setup và cấu hình một LAMP Stack đầy đủ trên máy chủ Ubuntu – thứ mà nếu làm thủ công có thể tốn hàng giờ cho người mới. Đây là một minh chứng rõ ràng cho triết lý “hãy để máy làm việc thay bạn”. Khi sử dụng AWS, việc tận dụng User Data giúp triển khai môi trường nhanh chóng, nhất quán và giảm thiểu lỗi cấu hình.

Một vài lời khuyên cuối cho bạn:

  • Hãy tận dụng User Data không chỉ cho LAMP, mà còn cho bất kỳ cấu hình khởi động nào bạn cần. Ví dụ, bạn có thể tự động triển khai luôn môi trường WordPress (trên LAMP) hoặc cài đặt các dependency cho ứng dụng backend khác bằng cách thêm các lệnh tương ứng vào script. Khi bật instance lên là mọi thứ sẵn sàng chạy ngay.

  • Luôn thử nghiệm script của bạn trên một instance test trước khi dùng cho môi trường thật. Đảm bảo mọi lệnh chạy đúng như ý muốn.

  • Chú ý vấn đề bảo mật: script User Data của bạn có thể chứa thông tin nhạy cảm (mật khẩu DB nếu có). Hãy cân nhắc sử dụng tham số hóa (Parameter Store, Secrets Manager) hoặc IAM role thay vì viết trực tiếp password trong script. Trong ví dụ này chúng ta không đặt mật khẩu cho MariaDB nên tránh được rủi ro lộ thông tin.

  • Khi triển khai thực tế, đừng quên chạy các bước bảo mật cho server LAMP của bạn: ví dụ chạy mysql_secure_installation để cấu hình MySQL an toàn hơn, cấu hình firewall UFW cho Ubuntu, v.v. Những bước này có thể được tự động hóa luôn trong user data script nếu muốn.

Cuối cùng, việc dùng Bootstrap Script (User Data) giúp bạn tiết kiệm thời gian, công sức và tiêu chuẩn hóa quy trình cài đặt. Đây là kỹ thuật rất hữu ích cho các kỹ sư DevOps/Cloud khi quản lý nhiều servers, và chắc chắn cũng là kiến thức quan trọng trong các kỳ thi chứng chỉ AWS. Hãy tận dụng nó để biến những việc phức tạp trở nên “dễ như lập trình”! Chúc bạn thành công trong hành trình khám phá AWS.

#AWS #EC2 #LAMPStack #Bootstrap #DevOps #Ubuntu

Để 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 *