Install LAMP Ubuntu 24.04

Tác giả: 21/06/2024

LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP) là một gói công nghệ nguồn mở để xây dựng trang web và ứng dụng web. Mỗi thành phần của LAMP Stack đều miễn phí và bạn có thể cài đặt nó cho cả môi trường phát triển và sản xuất.

Trong hướng dẫn này, Nhân Hòa sẽ cùng các bạn tìm hiểu cách cài đặt LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP) trên máy chủ Ubuntu 24.04 “Noble Numbat”. Bạn cũng sẽ tìm hiểu cách bảo mật MariaDB và tạo máy chủ web Apache.

Điều kiện tiên quyết

Để bắt đầu với hướng dẫn này, hãy đảm bảo bạn có Ubuntu 24.04 “Noble Numbat” với người dùng root hoặc người dùng không phải root với đặc quyền của quản trị viên.

Cài đặt máy chủ web Apache

Apache là một trong những phần mềm máy chủ web phổ biến nhất trên internet. Apache hỗ trợ một số trang web lớn trên internet, bao gồm Wikipedia, Slack, LinkedIn, The New Your Times và nhiều trang khác.

Máy chủ web Apache nổi tiếng với tính mô-đun, cho phép người dùng mở rộng các tính năng của nó thông qua các mô-đun. Trong phần này, bạn sẽ cài đặt máy chủ web Apache trên máy chủ Ubuntu 24.04.

Để bắt đầu, hãy chạy lệnh sau để cập nhật danh sách gói Ubuntu của bạn và nhận thông tin gói mới nhất.

sudo apt update && sudo apt upgrade -y

Bây giờ hãy cài đặt máy chủ web Apache bằng lệnh:

sudo apt install apache2 -y

Sau khi quá trình cài đặt hoàn tất, dịch vụ Apache2 sẽ khởi động và tự động chạy khi khởi động hệ thống. Kiểm tra trạng thái dịch vụ Apache2 bằng lệnh sau.

sudo systemctl start apache2

sudo systemctl enable apache2

sudo systemctl status apache2

 

Nếu bạn có UFW (Tường lửa không phức tạp) chạy trên Ubuntu, bạn cần cho phép lưu lượng truy cập đến máy chủ web Apache của mình thông qua UFW.

Chạy lệnh “ ufw ” sau để cho phép lưu lượng truy cập đến máy chủ web Apache thông qua cấu hình “ Apache Full ”. Profile “ Apache Full ” trên UFW sẽ mở cả cổng HTTP và HTTPS.

sudo ufw allow ssh

sudo ufw allow 'Apache Full'

Bây giờ hãy chạy lệnh bên dưới để xác minh quy tắc danh sách trên UFW. Bạn sẽ thấy hồ sơ “ Apache Full ” với trạng thái “ ALLOW ”.

sudo ufw status

Cuối cùng, hãy mở trình duyệt web và truy cập địa chỉ IP máy chủ của bạn, chẳng hạn như http://192.168.1.100/. Nếu mọi việc suôn sẻ, bạn sẽ nhận được trang “ index.html ” của máy chủ web Apache như sau:

 

Nếu bạn không chắc chắn về địa chỉ IP của máy chủ Ubuntu, hãy chạy lệnh bên dưới để kiểm tra địa chỉ IP máy chủ của bạn.

ip a

Cài đặt máy chủ cơ sở dữ liệu MariaDB

MariaDB là một nhánh RDBMS (Hệ thống quản lý cơ sở dữ liệu quan hệ) mã nguồn mở và miễn phí của MySQL. nó được tạo bởi các nhà phát triển MySQL ban đầu nhưng có nhiều tính năng hơn, tốc độ truy vấn cao hơn và khả năng mở rộng cao hơn.

Để cài đặt LAMP Stack này, bạn sẽ sử dụng MariaDB thay vì MySQL. Vì vậy, bây giờ bạn sẽ cài đặt và bảo mật máy chủ cơ sở dữ liệu MariaDB trên Ubuntu 24.04.

Để cài đặt máy chủ MariaDB trên Ubuntu, hãy chạy lệnh ‘ apt install ‘

sudo apt install mariadb-server -y

Sau khi quá trình cài đặt hoàn tất, dịch vụ MariaDB sẽ chạy và được bật trên hệ thống của bạn. Kiểm tra trạng thái dịch vụ MariaDB bằng lệnh bên dưới.

sudo systemctl start mariadb

sudo systemctl is-enabled mariadb

sudo systemctl status mariadb

 

Bạn sẽ thấy kết quả ‘ enabled ‘ khi dịch vụ mariadb được bật. Bạn cũng sẽ thấy trạng thái hiện tại của dịch vụ mariadb là “ active (running) ”.

Với máy chủ MariaDB đang chạy, bạn cần bảo mật nó thông qua tiện ích ‘mariadb-secure-installation’. Điều này cho phép bạn thiết lập mật khẩu root MariaDB, tắt xác thực từ xa cho người dùng root MariaDB và cho phép bạn xóa dữ liệu mặc định khỏi máy chủ MariaDB của mình.

Chạy lệnh ‘mariadb-secure-installation’ bên dưới để bảo mật việc triển khai máy chủ MariaDB của bạn.

mariadb-secure-installation
Nhấn ENTER khi được nhắc nhập mật khẩu root MariaDB.

Nhập ‘ n ‘ khi được yêu cầu chuyển sang xác thực unix_socket.

Switch to unix_socket authentication [Y/n] n

Nhập Y để định cấu hình mật khẩu gốc MariaDB. Sau đó, nhập mật khẩu mới của bạn và lặp lại.

Change the root password? [Y/n] Y

Nhập Y để xóa người dùng ẩn danh mặc định khỏi cài đặt máy chủ MariaDB của bạn.

Remove anonymous users? [Y/n] Y

Nhập Y để tắt đăng nhập từ xa cho người dùng root MariaDB. Người dùng root phải luôn kết nối từ localhost.

Disallow root login remotely? [Y/n] Y

Bây giờ hãy gõ Y lần nữa để xóa kiểm tra cơ sở dữ liệu mặc định và các đặc quyền của nó khỏi máy chủ MariaDB của bạn.

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y

Khi hoàn tất, bạn sẽ thấy thông báo sau:

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

 CÀI ĐẶT PHP

PHP là ngôn ngữ lập trình mã nguồn mở để phát triển web. nó cũng cung cấp CMS (Hệ thống quản lý nội dung) phổ biến nhất như WordPress và Drupal. Trong phần này, bạn sẽ cài đặt PHP với một số tiện ích mở rộng bên dưới:

  • libapache2-mod-php : Gói này sẽ cho phép tích hợp giữa máy chủ web Apache và PHP.
  • php-mysql : Trình điều khiển MySQL/MariaDB cho PHP. Bạn phải cài đặt gói này, đặc biệt khi bạn đang phát triển hoặc triển khai một ứng dụng web PHP với MySQL/MariaDB làm cơ sở dữ liệu.
  • php-opcache và php-apcu : Gói này cung cấp hiệu suất bộ đệm cho các ứng dụng web PHP của bạn.

Đầu tiên, cài đặt các gói PHP vào Ubuntu của bạn bằng lệnh sau. Nhập Y để xác nhận cài đặt.

sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-json php-intl php-bcmath php-opcache php-apcu php-mbstring php-fileinfo php-xml php-soap php-tokenizer php-zip -y

Sau khi quá trình cài đặt hoàn tất, hãy chạy lệnh soạn thảo vi sau để sửa đổi tệp ‘ php.ini ‘ trong cấu hình PHP.

sudo vi /etc/php/8.3/apache2/php.ini

Thay đổi cấu hình PHP mặc định bằng cấu hình sau và đảm bảo điều chỉnh ‘ date.timezone ‘ bằng múi giờ máy chủ của bạn và ‘ Memory_limit ‘ bằng bộ nhớ tối đa của máy chủ Ubuntu của bạn.

date.timezone = Asia/Ho_Chi_Minh
memory_limit = 512M
upload_max_file_size = 128M
max_execution_time = 300

Lưu file và thoát.

Cuối cùng, hãy chạy lệnh sau để khởi động lại dịch vụ Apache2 và áp dụng các thay đổi cho cấu hình PHP của bạn.

sudo systemctl restart apache2

Tích hợp Apache và PHP

Để xác minh sự tích hợp Apache và PHP của bạn, bạn sẽ tạo một tệp PHPINFO sẽ hiển thị cho bạn thông tin chi tiết về cài đặt PHP của bạn. Tệp PHPINFO của bạn phải được đặt trong thư mục DocumentRoot mặc định /var/www/html .

Tạo tệp ‘info.php ‘ mới bằng lệnh sau.

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

Mở trang web của bạn và truy cập http://192.168.5.30/info.php . Nếu quá trình cài đặt Apache và PHP của bạn thành công, bạn sẽ nhận được trang PHPINFO như sau:

Như bạn có thể thấy, PHP 8.3 đang chạy với máy chủ web Apache thông qua Apache Handler.

Cuộn xuống trang và bạn cũng sẽ tìm thấy mô-đun MySQL PHP đã được cài đặt.

Cuối cùng, hãy kiểm tra các mô-đun bộ nhớ đệm PHP qua APC như sau.

Creating Virtual Host trong Apache

Virtual Host là thuật ngữ để lưu trữ nhiều trang web như site1.com và site2.com trên một máy chủ. Trong phần này, bạn sẽ tìm hiểu cách thiết lập trên máy chủ web Apache.

Trước tiên, hãy chạy lệnh bên dưới để tạo thư mục DocumentRoot mới /var/www/mysite/public_html và trang ‘ index.html ‘ tùy chỉnh mới.

mkdir -p /var/www/mysite/public_html
echo "Wellcome to mysite.com" > /var/www/mysite/public_html/index.html

Bây giờ hãy chạy lệnh bên dưới để thay đổi quyền sở hữu thư mục /var/www/mysite thành người dùng ‘ www-data ‘.

sudo chown -R www-data:www-data /var/www/mysite

Sau đó, tạo cấu hình máy chủ ảo Apache mới ‘/etc/apache2/sites-available/mysite.conf’ bằng lệnh soạn thảo.

sudo nano /etc/apache2/sites-available/mysite.conf

Chèn cấu hình máy chủ ảo sau. Đảm bảo thay đổi tùy chọn ServerName bằng tên miền của bạn và thư mục DocumentRoot bằng đường dẫn ‘ /var/www/mysite/public_html ‘.

<VirtualHost *:80>

ServerAdmin admin@mysite.com

ServerName mysite.com
ServerAlias www.mysite.com

DocumentRoot /var/www/mysite/public_html

ErrorLog ${APACHE_LOG_DIR}/mysite-error.log
CustomLog ${APACHE_LOG_DIR}/mysite-access.log combined

</VirtualHost>

Lưu và thoát tập tin.

Tiếp theo, chạy lệnh sau để kích hoạt tệp máy chủ ảo mysite.conf và xác minh cú pháp Apache của bạn.

sudo a2ensite mysite.conf
sudo apachectl configtest

Nếu bạn đúng và đúng cú pháp Apache, bạn sẽ nhận được kết quả ‘ Syntax OK ‘.

Bây giờ hãy chạy lệnh bên dưới để khởi động lại dịch vụ Apache2 và áp dụng cấu hình máy chủ ảo mới của bạn.

sudo systemctl restart apache2

Kiểm tra Apache virtual host

Bạn có 2 cách:

+ Trỏ tên miền về IP máy chủ

+ Add filehost

 

Bạn đã hoàn tất quá trình cài đặt LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP) trên máy chủ Ubuntu 24.04 “Noble Numbat”.

Hẹn gặp lại các bạn tại các bài viết sau tại wiki.nhanhoa.com