Nội dung
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:
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 apache2 và apache2-utils để tích hợp một số tiện ích cho Apache HTTP
sudo apt install -y apache2
- Một số lệnh quản lý Apache
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)
- Kiểm tra phiên bản (version) của Apache.
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.
- 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
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
Với Firewall UFW
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.
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:
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
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
sudo apt install -y mariadb-server mariadb-client
- Một số lệnh quản lý MariaDB
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)
- 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
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.
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
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.
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
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
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
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.
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:
- Hotline 247: 028 888 24768 (Ext 0)
- Ticket/Email: Bạn dùng email đăng ký dịch vụ gửi trực tiếp về: support@azdigi.com