Skip to content Skip to main navigation Skip to footer

Hướng dẫn cài đặt LAMP Stack trên Ubuntu 22.04

Hướng dẫn cài đặt LAMP Stack trên Ubuntu 22.04 đơn giản cùng với AZDIGI.

I. Giới thiệu

LAMP Stack là gì?

LAMP là chữ viết tắt thường được dùng để chỉ sự sử dụng các phần mềm Linux, Apache, MySQL và ngôn ngữ lệnh PHP hay Perl hay Python để tạo nên một môi trường máy chủ Web có khả năng chứa và phân phối các trang Web động.

Các chức năng cụ thể các bạn có thể hiểu nhanh là LAMP hoạt động từ các phần mềm Linux, với máy chủ web là Apache, máy chủ cơ sở dữ liệu MariaDB hoặc MySQL và nội dung file động được xử lý bởi PHP.

LAMP là dạng mã nguồn mở với lợi thế miễn phí, nên các năm gần đây LAMP luôn được cộng động tin tưởng sử dụng bởi tính ổn định, dễ dàng cài đặt cũng như dễ dàng vận hành.

Các bạn có thể tìm hiểu kỹ hơn về LAMP Stack tại đây

II. Hướng dẫn cài đặt

Để cài đặt LAMP Stack các bạn có thể thực hiện cài đặt với 5 bước sau.

Bước 1: SSH vào máy chủ và cập nhật hệ thống

Việc đầu tiên chúng ta cần làm là SSH hoặc truy cập VPS hoặc máy chủ của bạn với quyền root trước. Nếu bạn chưa biết cách SSH vào VPS hoặc Server của bạn thì bạn có thể tham khảo bài viết hướng dẫn sau:

Sau khi đã SSH thành công vào máy chủ, bạn tiến hành cập nhật các gói (package) đã được cài đặt trên hệ thống Ubuntu bằng lệnh:

AZDIGI Tutorial
sudo apt update -y && apt upgrade -y
    

Bước 2: Cài đặt Web Server Apache

Máy chủ web Apache là một trong những máy chủ web phổ biến nhất trên thế giới. Nó đã được ghi chép đầy đủ và được sử dụng rộng rãi trong một thời gian dài, điều này khiến cho Apache trở thành một lựa chọn mặc định tuyệt vời để lưu trữ một website.

Vì Apache có sẵn trong kho lưu trữ của Ubuntu 22.04 , nên bạn chỉ cần cài đặt bằng lệnh apt install.

  • Cài đặt apache2apache2-utils để tích hợp một số tiện ích cho Apache HTTP
AZDIGI Tutorial
sudo apt install -y apache2
    
  • Một số lệnh quản lý Apache
AZDIGI Tutorial
systemctl start apache2      (Khởi động dịch vụ Apache)
systemctl stop apache2       (Dừng dịch vụ Apache)
systemctl reload apache2     (Tải lại dịch vụ Apache)
systemctl restart apache2   (Khởi động lại  dịch vụ Apache:)
systemctl enable apache2     (Thiết lập Apache khởi động cùng hệ thống)
systemctl disable apache2    (Vô hiệu hoá Apache khởi động cùng hệ thống )
systemctl status apache2     (Xem trạng thái dịch vụ Apache)
    
Hướng dẫn cài đặt LAMP Stack trên Ubuntu 22.04
  • Kiểm tra phiên bản (version) của Apache.
AZDIGI Tutorial
apache2 -v
    
root@LAMPSTACK:~# apache2 -v
Server version: Apache/2.4.52 (Ubuntu)
Server built:   2022-03-25T00:35:40
  • Kiểm tra hoạt động Apache

Bây giờ bạn hãy ra trình duyệt và truy cập bằng IP máy chủ của mình để kiểm tra. Nếu hiển thị trang Apache2 Default Page như bên dưới là thành công.

Hướng dẫn cài đặt LAMP Stack trên Ubuntu 22.04
  • Mở Port 80 (HTTP) với tường lửa

Nếu như bạn gõ IP mà không truy cập được, đừng lo vấn đề chỉ nằm ở phần tường lửa của máy chủ thôi. Bạn chỉ cần mở Port 80 theo lệnh bên dưới:

Với iptables

AZDIGI Tutorial
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    

Với Firewall UFW

AZDIGI Tutorial
sudo ufw allow 'Apache'
    
  • Phân quyền lại owner

Bạn cần phân quyền owner thành www-data  (Apache user) cho Document root của Apache với lệnh dưới. Vì mặc định owner sẽ để là root.

AZDIGI Tutorial
sudo chown www-data:www-data /var/www/html/ -R
    
  • Xử lý lỗi (nếu có)

Nếu các bạn nhận được thông báo tương tự bên dưới.

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

Đừng lo, hãy xử lý vấn đề này bằng cách chỉnh sửa file servername.conf như sau:

AZDIGI Tutorial
sudo nano /etc/apache2/apache2.conf
    

Và thêm nội dung bên dưới vào và save lại.

ServerName 127.0.0.1

Sau đó tải lại Apache với lệnh

AZDIGI Tutorial
systemctl reload apache2
    

Bước 3: Cài đặt MariaDB Database Server

MariaDB là bản thay thế cho MySQL. Nó được phát triển bởi các thành viên cũ của nhóm MySQL.  Bạn sử dụng các lệnh dưới để cài đặt MariaDB trên Ubuntu 22.04.

  • Cài đặt MariaDB Database Server
AZDIGI Tutorial
sudo apt install -y mariadb-server mariadb-client
    
  • Một số lệnh quản lý MariaDB
AZDIGI Tutorial
systemctl start mariadb      (Khởi động dịch vụ mariadb)
systemctl stop mariadb       (Dừng dịch vụ mariadb)
systemctl restart mariadb   (Khởi động lại  dịch vụ mariadb)
systemctl enable mariadb     (Thiết lập mariadb khởi động cùng hệ thống)
systemctl disable mariadb    (Vô hiệu hoá mariadb khởi động cùng hệ thống )
systemctl status mariadb     (Xem trạng thái dịch vụ mariadb)
    
Hướng dẫn cài đặt LAMP Stack trên Ubuntu 22.04
  • Thiết lập nâng cao cho Mariadb

Bây các bạn sẽ cài đặt mật khẩu root cho Mariadb và thiết lập một số tùy chỉnh khác với lệnh

AZDIGI Tutorial
sudo mysql_secure_installation
    
root@LAMPSTACK:~# sudo mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none):  Nhấn Enter
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] n     
 ... skipping.

You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y             (Nhấn Y để tạo pass root mới)
New password:  Nhập passwd root
Re-enter new password: Nhập lại passwd root
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

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

Thanks for using MariaDB!
  • Kiểm tra phiên bản (version) của Mariadb.
AZDIGI Tutorial
mariadb --version
    
root@LAMPSTACK:~# mariadb --version
mariadb  Ver 15.1 Distrib 10.6.7-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper

Bước 4: Cài đặt PHP

Tại thời điểm mình viết bài này, PHP 8.1 là phiên bản mới nhất của PHP , nó có hiệu suất cao vượt trội hơn các phiên bản tiền nhiệm. Do đó mình sẽ thực hiện cài đặt PHP 8.1 và một số modules PHP cần thiết.

  • Thêm gói PPA (ondrej/php) để cài đặt PHP 8.1 và các modules cần thiết cho Apache
AZDIGI Tutorial
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt install -y php8.1 libapache2-mod-php8.1
sudo apt install php-net-ldap2 php-net-ldap3 php-imagick php8.1-common php8.1-gd php8.1-imap php8.1-mysql php8.1-curl php8.1-zip php8.1-xml php8.1-mbstring php8.1-bz2 php8.1-intl php8.1-gmp php8.1-redis
    
  • Kiểm tra phiên bản (version) của PHP.
AZDIGI Tutorial
php -v
    
root@ubuntu-2204:~# php -v
PHP 8.1.6 (cli) (built: May 17 2022 16:46:54) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.6, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.6, Copyright (c), by Zend Technologies
  • Kiểm tra hoạt động

Để kiểm tra các PHP với máy chủ Apache, chúng ta cần tạo một  info.php tại Document root của Apache với lệnh bên dưới

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

Nhập nội dung bên dưới và save lại.

<?php

phpinfo();

?>

Tiếp đó bạn vào trình duyệt và truy cập theo đường dẫn: http://IP_Server/info.php để kiểm tra. Nếu hiển thị PHP như bên dưới là thành công.

Bước 5: Cài đặt phpMyAdmin

phpMyAdmin là ứng dụng dùng để quản lý cơ sở dữ liệu dưới dạng giao diện, thông qua phpMyAdmin sẽ giúp bạn quản lý các Database trực quan hơn. Để cài đặt bạn hãy thực hiện như sau:

  • Cài đặt phpMyAdmin
AZDIGI Tutorial
sudo apt install -y phpmyadmin
    

Tiếp đến bạn chọn apache2 và nhấn Enter

Tại giao diện tiếp theo, bạn chọn Yes để cấu hình cơ sở dữ liệu cho phpMyAdmin với dbconfig-common.

Bây giờ bạn tạo mật khẩu mới cho user phpmyadmin và nhấn nút Tab để chuyển sang OK và nhấn Enter.

Tiếp tục nhập lại mật khẩu và nhấn nút Tab để chuyển sang OK và nhấn Enter.

  • Thêm các đặc quyền cho user phpmyadmin
AZDIGI Tutorial
sudo mysql -u root
show grants for phpmyadmin@localhost;
exit;
    
  • Cấu hình để truy câp phpMyAdmin

Sau khi cài đặt phpMyAdmin, bạn cần cấu hình nó với Apache để có thể truy cập vào giao diện web.

AZDIGI Tutorial
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin.conf
sudo systemctl reload apache2
    
  • Kiểm tra hoạt động phpMyAdmin

Sau khi cấu hình xong, các bạn vào trình duyệt và truy cập theo đường dẫn http://IP_Server/phpmyadmin để truy cập phpMyAdmin. Nếu thành công, giao diện sẽ như bên dưới, và các bạn sẽ sử dụng thông tin đã tạo ở phần Cài đặt phpMyAdmin đăng nhập vào.

Như vậy mình đã hướng dẫn các bạn cài đặt LAMP Stack trên Ubuntu 22.04 hoàn tất. Việc sử dụng LAMP Stack sẽ giúp các máy chủ của các bạn hoạt động nhẹ nhàng và có sức chịu tải tốt hơn. Với LAMP Stack nó là một giải pháp khá phù hợp với các máy chủ có cấu hình tài nguyên CPU/RAM thấp.

Chúc bạn thực hiện thành công.

Các bạn có thể tham khảo thêm các hướng dẫn sử dụng khác tại link bên dưới

Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới: