Cách cài đặt Apache, MariaDB và PHP (LAMP) trên Debian 11

Tác giả NetworkEngineer, T.Mười 25, 2021, 11:43:18 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách cài đặt Apache, MariaDB và PHP (LAMP) trên Debian 11


LAMP Stack là một tập hợp các sản phẩm phần mềm mã nguồn mở thường được sử dụng cùng nhau. Từ viết tắt LAMP được sử dụng để mô tả một hệ thống máy tính có các thành phần sau: Linux, Apache HTTP Server (hoặc chỉ là máy chủ), MySQL và PHP / Perl / Python.

Người dùng có thể cài đặt riêng tất cả các thành phần này trên một máy tính hoặc phổ biến hơn là trên các máy tính riêng biệt được kết nối bởi mạng, tuy nhiên, một số thành phần phụ thuộc vào các thành phần khác - ví dụ, không thể cài đặt Apache mà không cài đặt Linux trước - do đó, thực hành cài đặt tiêu chuẩn là cài đặt tất cả các thành phần trên một hệ thống máy tính duy nhất.

LAMP Stack là sự kết hợp của phần mềm mã nguồn mở để tạo thành một môi trường máy chủ được sử dụng phổ biến nhất trong phát triển web.

Mã nguồn mở đề cập đến một thứ gì đó, đặc biệt là một ứng dụng hoặc hệ điều hành, mà mã nguồn của nó được cung cấp để sử dụng hoặc phân phối miễn phí, mặc dù có thể áp dụng một số hạn chế người dùng nhất định. Điều này cho phép người dùng tạo bản sao của bất kỳ sản phẩm nào và thực hiện bất kỳ thay đổi nào họ muốn.

Cài đặt LAMP Stack trên Debian 11 sẽ được hiển thị trong bài viết này. Sau khi hoàn tất, bạn sẽ có một máy chủ web phục vụ các trang web và ứng dụng của bạn một cách dễ dàng. Ở đây chúng ta hướng dẫn cách cài đặt chúng theo cách thủ công từ cửa sổ dòng lệnh Terminal nếu bạn muốn toàn quyền kiểm soát cài đặt hệ thống của mình như tự chỉnh sửa tập tin cấu hình.

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

Để bắt đầu "các phương pháp hay nhất", bạn nên bắt đầu bằng cách cập nhật các gói đã cài đặt trên hệ thống của mình. Bạn có thể thực hiện việc này từ GUI hoặc giao diện dòng lệnh (shell).

Mã nguồn [Chọn]
$ sudo apt update
Mã nguồn [Chọn]
$ sudo apt upgrade
2. Cài đặt Apache.

Máy chủ web Apache là một chương trình mã nguồn mở, miễn phí có thể được sử dụng trên nhiều loại hệ thống máy tính khác nhau. Nó là máy chủ web được sử dụng nhiều nhất trên thế giới. Dự án máy chủ web Apache được đưa ra vào năm 1995 và nó đã đóng một vai trò quan trọng trong sự phát triển của World Wide Web bằng cách cung cấp một nền tảng cho phép mọi người thiết lập trang web của riêng họ một cách tự do.

Bạn có thể cài đặt apache trên Debian 11 bằng lệnh sau. Lệnh này sẽ kéo tất cả các phụ thuộc Apache và các mô-đun hỗ trợ.

Mã nguồn [Chọn]
$ sudo apt-get install apache2 apache2-utils -y
Sau khi cài đặt, hãy khởi động và kích hoạt dịch vụ Apache để Apache tự động tải khi khởi động.

Mã nguồn [Chọn]
$ sudo systemctl start apache2
Mã nguồn [Chọn]
$ sudo systemctl enable apache2
Apache lắng nghe trên cổng 80 cho các yêu cầu HTTP và cổng 443 cho các yêu cầu HTTPS. Bạn có thể xác minh điều này bằng cách kiểm tra các cổng lắng nghe Apache bằng lệnh ss (tương tự như netstat).

Mã nguồn [Chọn]
$ ss -antpl | grep apache2

Để kiểm tra xem máy chủ Apache có đang chạy hay không, hãy sử dụng lệnh trạng thái systemctl để kiểm tra trạng thái của nó.

Mã nguồn [Chọn]
$ sudo systemctl status apache2

Chúng ta có thể thấy rằng Apache đang hoạt động và đang chạy và được kích hoạt khi khởi động. Nó phân bổ 15,1MB bộ nhớ và có ba tiến trình.

Dịch vụ Apache đang chạy. Tuy nhiên, cách tốt nhất để kiểm tra nó là yêu cầu một trang web từ máy chủ.

Bạn có thể yêu cầu một trang web bằng cách trỏ trình duyệt của mình đến địa chỉ IP hoặc tên miền của máy chủ.

Mã nguồn [Chọn]
http://<IP Address hoặc Domain Name>
Trang Apache mặc định sẽ được hiển thị nếu dịch vụ Apache đang chạy đúng cách trên hệ thống của bạn.


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

MariaDB là một hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở cung cấp sự thay thế cho MySQL. MariaDB, giống như nhiều dự án và cơ sở dữ liệu mã nguồn mở, là miễn phí. Nó được phát triển với tinh thần chia sẻ và cộng tác — đến nỗi tên của nó đã được dịch từ Maria Damon Burton có nghĩa là "người quảng bá". Nó chính thức thuộc sở hữu của MariaDB Corporation AB, một công ty Thụy Điển và là nhà phát triển chính của MariaDB.

Bạn có thể cài đặt MariaDB trên Debian 11 bằng lệnh sau. Điều này sẽ kéo tất cả các phụ thuộc MariaDB và các mô-đun hỗ trợ.

Mã nguồn [Chọn]
$ sudo apt-get install mariadb-server -y
Sau khi cài đặt, hãy khởi động và kích hoạt dịch vụ Mariadb để làm cho MariaDB tự động tải khi khởi động.

Mã nguồn [Chọn]
$ sudo systemctl start mariadb
Mã nguồn [Chọn]
$ sudo systemctl enable mariadb
Để kiểm tra xem máy chủ MariaDB có đang chạy hay không, hãy sử dụng lệnh trạng thái systemctl để kiểm tra trạng thái của nó.

Mã nguồn [Chọn]
$ sudo systemctl status mariadb

MariaDB là một chương trình máy chủ cơ sở dữ liệu có thể được sử dụng để lưu trữ và truy xuất dữ liệu. Nó an toàn hơn khi bạn không cho phép cài đặt cấu hình mặc định, điều này sẽ bảo vệ cài đặt MariaDB của bạn khỏi bất kỳ lỗ hổng nào.

Bạn có thể muốn chạy tập lệnh cài đặt bảo mật mysql được cung cấp bởi gói máy chủ mariadb để bảo vệ cài đặt của bạn.

Mã nguồn [Chọn]
$ sudo mysql_secure_installation
Tập lệnh này sẽ đưa bạn qua một loạt dấu nhắc sẽ giúp bạn đảm bảo cài đặt MariaDB của mình an toàn.

Dấu nhắc đầu tiên yêu cầu bạn nhập mật khẩu cho người dùng quản trị root. Bạn nhập mật khẩu hiện tại cho người dùng root. Vì bạn chưa đặt mật khẩu gốc, chỉ cần nhấn Enter.

Dấu nhắc tiếp theo yêu cầu bạn chuyển sang xác thực unix_socket, nhập Y và nhấn Enter.


Dấu nhắc sau sẽ kiểm tra xem bạn có muốn tạo mật khẩu root cơ sở dữ liệu hay không. Đặt mật khẩu root là một bước quan trọng để bảo mật MariaDB. Nó đảm bảo rằng không ai có thể truy cập cơ sở dữ liệu của bạn với tư cách là quản trị mà không được phép và cung cấp cho bạn nhiều quyền kiểm soát hơn đối với bảo mật nói chung.

Gõ Y và nhấn Enter trên bàn phím. Cung cấp mật khẩu bạn chọn cho người dùng root MariaDB. Bạn sẽ cần sử dụng mật khẩu này trong khi kết nối với dấu nhắc MariaDB. Chọn một mật khẩu khó đoán nhưng dễ nhớ cho bạn.


Đối với các dấu nhắc còn lại, bạn có thể nhập Y và nhấn Enter để chấp nhận các giá trị mặc định. Những dấu nhắc này là về việc loại bỏ cơ sở dữ liệu thử nghiệm, không cho phép đăng nhập root từ xa và tải lại các bảng đặc quyền.

Bây giờ bạn đã hoàn tất việc bảo mật cài đặt MariaDB của mình. Bạn có thể kiểm tra kết nối của mình bằng cách sử dụng tiện ích mysqladmin, tiện ích này sẽ cho phép thiết lập liên kết cơ sở dữ liệu. Ví dụ: lệnh sau cho phép chúng ta kết nối dưới dạng root và hiển thị thông tin về phiên bản cài đặt MariaDB của chúng ta.

Mã nguồn [Chọn]
# sudo mysqladmin version

4. Cài đặt ngôn ngữ tập lệnh PHP.

Nếu bạn muốn tạo một trang web năng động và tương tác, thì ngôn ngữ lập trình PHP nên là lựa chọn của bạn. Nó được sử dụng rộng rãi trong các trang web ngày nay vì khả năng tạo ra sự tương tác tuyệt vời với các tính năng khác nhau như lịch hoặc giỏ hàng, trong số những tính năng khác.

Bạn có thể cài đặt PHP với các mô-đun thường được sử dụng khác bằng lệnh sau.

Mã nguồn [Chọn]
$ sudo apt-get install php -y
Mã nguồn [Chọn]
$ sudo apt-get install php-mysql php libapache2-mod-php php-cli -y
Để liệt kê tất cả mô-đun PHP đã cài đặt, hãy chạy lệnh sau.

Mã nguồn [Chọn]
$ php -m

Để kiểm tra phiên bản PHP được cài đặt trên máy của bạn, hãy sử dụng lệnh php -v.

Mã nguồn [Chọn]
$ php -v

Bạn có thể kiểm tra cài đặt PHP của mình bằng cách viết mã php đơn giản vào một tập tin, đặt nó vào thư mục gốc của web và thực thi nó.

Mã nguồn [Chọn]
$ echo "<?php phpinfo(); ?>" > /var/www/html/info.php
Khởi động lại máy chủ apache của bạn để truy cập tập tin info.php trong trình duyệt của bạn.

Mã nguồn [Chọn]
$ sudo systemctl restart apache2
Mở trình duyệt web của bạn và điều hướng đến http://you_server_ip/info.php, nơi you_server_ip là địa chỉ IP máy chủ thực của bạn.

Mã nguồn [Chọn]
http://you_server_ip/info.php
URL này sẽ mở một trang hiển thị thông tin php, chẳng hạn như phiên bản và các tùy chọn cấu hình được sử dụng trong quá trình cài đặt các tập tin nhị phân php.


5. Tạo Virtual Host cho Apache.

Tại thời điểm này, LAMP Stack của bạn đã được thiết lập và sẵn sàng hoạt động. Nó bạn quyền tự do lưu trữ nhiều trang web bằng cách tạo một Virtual Host để bạn có thể sử dụng máy chủ này cho tất cả các dự án trong tương lai.

Virtual Host là một trong những cách phổ biến nhất để chạy các trang web với Apache.

Virtual Host cho phép bạn ánh xạ một số tên miền (hoặc bí danh) với một địa chỉ IP. Trong hầu hết các trường hợp, điều này được thực hiện đối với các máy chủ web lưu trữ nhiều trang web với các tên miền khác nhau từ một máy duy nhất.

Trong phần này, chúng ta sẽ tạo một Virtual Host example.com. Hãy thay thế example.com bằng tên miền của riêng bạn trong khi theo dõi.

Bước đầu tiên là tạo thư mục gốc tài liệu cho từng trang web mà bạn sẽ phục vụ từ máy của mình. Trong ví dụ này, chúng ta sẽ tạo một thư mục có tên /var/www/html/example.com

Mã nguồn [Chọn]
$ sudo mkdir -p /var/www/html/example.com
Tiếp theo, chỉ định một số quyền cho các thư mục này.

Mã nguồn [Chọn]
$ sudo chown -R www-data: www-data /var/www/html/example.com
Bây giờ, di chuyển vào /www/html/example.com và tạo tập tin example.html và điền nội dung tập tin bằng các dòng sau.

Mã nguồn [Chọn]
$ cd /var/www/html/example.com
Mã nguồn [Chọn]
$ sudo nano example.html
Mã nguồn [Chọn]
<html>
<body>
<center> <h1> Xin chào VietNetwork.Vn! </h1> </center>
</body>
</html>

Lưu và đóng tập tin này khi bạn hoàn tất.

Bây giờ chúng ta có thể tạo tập tin Virtual Host của mình. Mở /etc/apache2/sites-available/example.com.conf bằng trình chỉnh sửa mà bạn chọn.

Mã nguồn [Chọn]
$ sudo nano /etc/apache2/sites-available/example.com.conf
Điền vào tập tin với các dòng sau.

Mã nguồn [Chọn]
<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  ServerName example.com
  DocumentRoot /var/www/html/example.com
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Lưu và đóng tập tin này khi bạn hoàn tất.

Bây giờ chúng ta có thể kích hoạt Virtual Host này và khởi động lại Apache2:

Mã nguồn [Chọn]
$ a2ensite domain1.com.conf
Mã nguồn [Chọn]
$ a2ensite domain2.com.conf
Mã nguồn [Chọn]
$ systemctl restart apache2
Bạn có thể xác minh Virtual Host mà bạn vừa tạo bằng lệnh sau.

Mã nguồn [Chọn]
$ apache2ctl configtest
Nếu mọi thứ đều đúng, đầu ra OK sẽ được hiển thị.


Bạn cũng có thể kiểm tra lại trạng thái của dịch vụ Apache bằng lệnh sau.


Bạn có thể kiểm tra các Virtual Host của mình bằng cách truy cập example.com trong trình duyệt web khi bạn đã thiết lập chúng.

Đảm bảo rằng bất kỳ lỗi hoặc hành vi lạ nào từ máy chủ không xuất hiện trên màn hình trong khi kiểm tra, chẳng hạn như chỉ tải một trang trong vài phút, máy chủ đưa ra thông báo lỗi về việc không thể truy cập, v.v.

Trong bài đăng này, mình đã giới thiệu ngắn gọn cho bạn về LAMP Stack và chỉ cho bạn cách cài đặt nó trên hệ thống Debian 11. Chúng ta hy vọng rằng thông tin được cung cấp sẽ giúp dự án phát triển web của bạn bắt đầu nhanh hơn.

Nếu bạn có bất kỳ câu hỏi nào hoặc cần hỗ trợ thêm về cài đặt, vui lòng cho mình biết trong phần bình luận bên dưới.