Cài đặt LAMP trên Debian 12 - Install LAMP on Debian 12

LAMP stack là một bộ công cụ phần mềm mã nguồn mở thường được cài đặt cùng nhau trên máy chủ để tạo điều kiện cho việc đăng trang web động và phát triển các ứng dụng web. Thuật ngữ này viết tắt cho sự kết hợp giữa hệ điều hành Linux, máy chủ web Apache, cơ sở dữ liệu MariaDB và ngôn ngữ lập trình PHP. Trong hệ thống này, dữ liệu của trang web được lưu trữ và quản lý trong cơ sở dữ liệu MariaDB, trong khi nội dung động của trang web được xử lý và hiển thị bằng PHP. Bài viết này sẽ cung cấp cho bạn kiến thức và hướng dẫn từng bước để install LAMP Debian 12.

Update Debian 12

Đầu tiên bạn cần cập nhật Debian 12 bằng lệnh sau:

apt update && apt -y upgrade

Cài đặt MariaDB Database Server

Để bắt đầu cài đặt MariaDB, làm theo các bước sau đây:

apt install -y mariadb-server mariadb-client

Kiểm tra trạng thái của máy chủ cơ sở dữ liệu MariaDB.

systemctl status mariadb

Đầu ra: 

root@vps:~# systemctl status mariadb
● mariadb.service - MariaDB 10.11.3 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; preset: enabled)
Active: active (running) since Mon 2023-06-12 22:47:03 UTC; 10s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 53736 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 18 (limit: 4675)
Memory: 192.1M
CPU: 1.019s
CGroup: /system.slice/mariadb.service
└─53736 /usr/sbin/mariadbd
root@vps:~#

Chạy lệnh dưới đây để bảo mật máy chủ cơ sở dữ liệu của bạn:

mysql_secure_installation

Sử dụng lệnh trên, bạn có thể thực hiện các công việc sau:

Đặt mật khẩu cho người dùng root.

  • Loại bỏ người dùng ẩn danh.
  • Tắt đăng nhập từ xa cho người dùng root.
  • Loại bỏ cơ sở dữ liệu thử nghiệm và quyền truy cập đối với nó.

Bạn có thể đăng nhập với tài khoản người dùng root và thiết lập một tài khoản người dùng thông thường cùng với một cơ sở dữ liệu.

mysql -u root -p

Đầu ra:

root@vps:~# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 39
Server version: 10.11.3-MariaDB-1 Debian 12

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

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

MariaDB [(none)]>

Để thoát khỏi cơ sở dữ liệu, chỉ cần chạy lệnh sau:

EXIT

Cài đặt Apache Web Server

Apache là một trong những máy chủ web phổ biến nhất. Bạn có thể cài đặt nó bằng cách chạy lệnh dưới đây:

apt install -y apache2 apache2-utils

Đầu ra: 

root@vps:~# apt install -y apache2 apache2-utils
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
apache2-bin apache2-data libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libcurl4 liblua5.3-0 ssl-cert

Kiểm tra phiên bản và cấu trúc của Apache:

apache2 -v

Đầu ra: 

root@vps:~# apache2 -v
Server version: Apache/2.4.57 (Debian)
Server built: 2023-04-13T03:26:51
root@vps:~#

Kiểm tra trạng thái dịch vụ.

systemctl status apache2

Đầu ra: 

root@vps:~# systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; preset: enabled)
Active: active (running) since Mon 2023-06-12 22:51:38 UTC; 1min 0s ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 54351 (apache2)
Tasks: 55 (limit: 4675)
Memory: 21.0M
CPU: 110ms
CGroup: /system.slice/apache2.service
├─54351 /usr/sbin/apache2 -k start
├─54353 /usr/sbin/apache2 -k start
└─54354 /usr/sbin/apache2 -k start
root@vps:~#

Để kích hoạt cổng HTTP và HTTPS (80/443), bạn cần cài đặt tường lửa UFW (Uncomplicated Firewall).

apt install ufw -y

Đầu ra: 

root@vps:~# apt install ufw
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
iptables libip6tc2 libnetfilter-conntrack3 libnfnetlink0
Suggested packages:
firewalld

Để kích hoạt kết nối HTTP và HTTPS qua tường lửa, bạn có thể làm theo các lệnh sau. Và vì đây là lần đầu tiên chúng ta đã cài đặt UFW và cho phép các cổng, chúng ta cũng cần phải cho phép cổng SSH để có thể kết nối qua SSH.

ufw allow http
ufw allow https
ufw allow ssh

Kích hoạt và tải lại tường lửa bằng lệnh sau:

ufw enable

ufw reload

Đầu ra: 

root@vps:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
root@vps:~# ufw reload
Firewall reloaded
root@vps:~#

Khởi động lại dịch vụ khi có thay đổi được thực hiện và bật dịch vụ để tự khởi động khi máy tính khởi động:

systemctl reload apache2
systemctl enable apache2

Truy cập địa chỉ IP máy chủ của bạn trên trình duyệt (http://) để xem trang mặc định của Apache.

Ví dụ như trang bên dưới:

Cài đặt LAMP trên Debian 12 - Install LAMP Debian 12

Cài đặt PHP

Theo dõi các bước sau để cài đặt PHP trên máy chủ:

apt install php libapache2-mod-php php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

Đầu ra:

root@vps:~# apt install php libapache2-mod-php php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'php8.2-common' instead of 'php-pdo'
The following additional packages will be installed:
fontconfig-config fonts-dejavu-core libabsl20220623 libaom3 libapache2-mod-php8.2 libavif15 libdav1d6 libde265-0 libdeflate0
libfontconfig1 libgav1-1 libgd3 libheif1 libjbig0 libjpeg62-turbo liblerc4 libonig5 librav1e0 libsodium23 libsvtav1enc1 libtiff6
libwebp7 libx265-199 libxpm4 libxslt1.1 libyuv0 libzip4 php-common php8.2 php8.2-bcmath php8.2-cli php8.2-curl php8.2-fpm php8.2-gd
php8.2-mbstring php8.2-mysql php8.2-opcache php8.2-readline php8.2-xml php8.2-zip

Kích hoạt mô-đun Apache nếu chưa được kích hoạt, sau đó khởi động lại máy chủ web. Dưới đây là cách thực hiện:

a2enmod php8.2

Đầu ra:

root@vps:~# a2enmod php8.2
Considering dependency mpm_prefork for php8.2:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php8.2:
Module php8.2 already enabled
root@vps:~#

Xác nhận phiên bản PHP bằng lệnh sau:

php -v

Đầu ra:

root@vps:~# php -v
PHP 8.2.5 (cli) (built: Apr 27 2023 08:13:47) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.5, Copyright (c) Zend Technologies
with Zend OPcache v8.2.5, Copyright (c), by Zend Technologies
root@vps:~#

Để kiểm tra PHP hoạt động trên máy chủ, chúng ta sẽ tạo một tệp nhỏ để liệt kê tất cả thông tin PHP có sẵn.

Chạy lệnh sau để tạo một tệp:

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

Để xem thông tin PHP trên trình duyệt web, truy cập vào địa chỉ http://địa_chỉ_IP/info.php

Ví dụ:

Cài đặt LAMP trên Debian 12 - Install LAMP Debian 12

Khi bạn đã xác nhận rằng PHP đã được cài đặt và hoạt động, bạn nên xóa tệp info.php vì nó chứa thông tin cấu hình của máy chủ và có thể là một mối nguy về bảo mật.

rm /var/www/html/info.php

Bên trên chính là tất cả các bước trong quá trình install LAMP Debian 12. Hy vọng bạn có thể áp dụng thành công hướng dẫn này để cài đặt máy chủ.

Mọi người cùng tìm kiếm: debian 12, lamp debian 12, apache debian 12, apache2 debian 12