Cách cài đặt Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 20.04 [Quickstart]
Trong hướng dẫn bắt đầu nhanh này, ta sẽ cài đặt LAMP trên server Ubuntu 20.04.Để có version chi tiết hơn của hướng dẫn này, với giải thích thêm về từng bước, vui lòng tham khảo Cách cài đặt ngăn xếp Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 20.04
Yêu cầu
Để làm theo hướng dẫn này, bạn cần quyền truy cập vào server Ubuntu 20.04 với quyền là user sudo
.
Bước 1 - Cài đặt Apache
Cập nhật cache ẩn trình quản lý gói của bạn và sau đó cài đặt Apache bằng:
- sudo apt update
- sudo apt install apache2
Sau khi cài đặt xong, bạn cần điều chỉnh cài đặt firewall để cho phép truy cập HTTP trên server của bạn . Chạy lệnh sau để cho phép truy cập bên ngoài trên cổng 80
(HTTP):
- sudo ufw allow in "Apache"
Với luật firewall mới được thêm vào, bạn có thể kiểm tra xem server có hoạt động hay không bằng cách truy cập địa chỉ IP công cộng hoặc domain của server từ trình duyệt web . Bạn sẽ thấy một trang như thế này:
Bước 2 - Cài đặt MySQL
Bây giờ ta sẽ cài đặt MySQL, một hệ thống quản lý database phổ biến được sử dụng trong môi trường PHP.
, hãy sử dụng apt
để cài đặt phần mềm này:
- sudo apt install mysql-server
Khi quá trình cài đặt hoàn tất, bạn nên chạy một tập lệnh bảo mật được cài đặt sẵn với MySQL. Bắt đầu tập lệnh tương tác bằng lệnh:
- sudo mysql_secure_installation
Điều này sẽ hỏi xem bạn có muốn cấu hình VALIDATE PASSWORD PLUGIN
. Trả lời Y
có hoặc bất kỳ điều gì khác để tiếp tục mà không cần bật. Nếu bạn trả lời “yes” , bạn cần chọn mức độ xác thực password .
Tiếp theo, server của bạn sẽ yêu cầu bạn chọn và xác nhận password cho user gốc MySQL. Mặc dù phương pháp xác thực mặc định cho user root MySQL không cho phép sử dụng password , ngay cả khi một password được đặt , bạn nên xác định một password mạnh ở đây như một biện pháp an toàn bổ sung.
Đối với các câu hỏi còn lại, nhấn Y
và nhấn ENTER
tại mỗi dấu nhắc .
Lưu ý: Tại thời điểm viết bài này, thư viện MySQL PHP mysqlnd
không hỗ trợ caching_sha2_authentication
, phương thức xác thực mặc định cho MySQL 8. Vì lý do đó, khi tạo user database cho các ứng dụng PHP trên MySQL 8, bạn cần thực hiện hãy chắc chắn rằng chúng được cấu hình để sử dụng mysql_native_password
thay thế. Vui lòng tham khảo bước 6 của hướng dẫn chi tiết về LAMP trên Ubuntu 20.04 của ta để tìm hiểu cách thực hiện điều đó.
Bước 3 - Cài đặt PHP
Để cài đặt PHP và các phụ thuộc của nó, hãy chạy:
- sudo apt install php libapache2-mod-php php-mysql
Sau khi cài đặt xong, bạn có thể chạy lệnh sau để xác nhận version PHP của bạn :
- php -v
OutputPHP 7.4.3 (cli) (built: Mar 26 2020 20:24:23) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
Bước 4 - Tạo server ảo cho trang web
Trong hướng dẫn này, ta sẽ cài đặt domain có tên your_domain , nhưng bạn nên thay thế domain này bằng domain của riêng mình .
Apache trên Ubuntu 20.04 có một khối server được bật theo mặc định được cấu hình để cung cấp tài liệu từ folder /var/www/html
. Thay vì sửa đổi /var/www/html
, ta sẽ tạo cấu trúc folder bên trong /var/www
cho trang your_domain , giữ nguyên /var/www/html
làm folder mặc định được cung cấp nếu khách hàng không yêu cầu phù hợp với bất kỳ trang web nào khác.
Tạo folder cho your_domain như sau:
- sudo mkdir /var/www/your_domain
Tiếp theo, chỉ định quyền sở hữu folder với biến môi trường $USER
, biến này sẽ tham chiếu đến user hệ thống hiện tại của bạn:
- sudo chown -R $USER:$USER /var/www/your_domain
Sau đó, mở file cấu hình mới trong folder sites-available
của Apache bằng trình soạn thảo dòng lệnh bạn muốn :
- sudo nano /etc/apache2/sites-available/your_domain.conf
Thao tác này sẽ tạo một file trống mới. Dán vào cấu hình cơ bản sau:
<VirtualHost *:80> ServerName your_domain ServerAlias www.your_domain ServerAdmin webmaster@localhost DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Lưu file khi bạn hoàn tất. Nếu bạn đang sử dụng nano
, bạn có thể thực hiện bằng cách nhấn CTRL+X
, sau đó nhấn Y
và ENTER
.
Đến đây bạn có thể sử dụng a2ensite
để kích hoạt server ảo mới:
- sudo a2ensite your_domain
Để tắt trang web mặc định của Apache, hãy nhập:
- sudo a2dissite 000-default
Để đảm bảo file cấu hình của bạn không có lỗi cú pháp, hãy chạy:
- sudo apache2ctl configtest
Cuối cùng, reload Apache để những thay đổi này có hiệu lực:
- sudo systemctl reload apache2
Trang web mới của bạn hiện đã hoạt động, nhưng root web /var/www/ your_domain
vẫn trống. Tạo index.html
ở vị trí đó để ta có thể kiểm tra xem server ảo có hoạt động như mong đợi hay không:
- nano /var/www/your_domain/index.html
Đưa nội dung sau vào file này:
<html> <head> <title>your_domain website</title> </head> <body> <h1>Hello World!</h1> <p>This is the landing page of <strong>your_domain</strong>.</p> </body> </html>
Bây giờ hãy truy cập trình duyệt của bạn và truy cập lại domain hoặc địa chỉ IP của server của bạn:
http://server_domain_or_IP
Bạn sẽ thấy một trang như thế này:
Bước 5 - Kiểm tra PHP với Apache
Bây giờ ta sẽ tạo một kịch bản thử nghiệm PHP để xác nhận Apache có thể xử lý và xử lý các yêu cầu đối với file PHP.
Tạo một file mới có tên info.php
bên trong folder root web tùy chỉnh của bạn:
- nano /var/www/your_domain/info.php
Thao tác này sẽ mở một file trống. Thêm nội dung sau vào bên trong file :
<?php phpinfo();
Khi bạn hoàn tất, hãy lưu file .
Truy cập trình duyệt web và truy cập domain hoặc địa chỉ IP của server , theo sau là tên tập lệnh, trong trường hợp này là info.php
:
http://server_domain_or_IP/info.php
Bạn sẽ thấy một trang tương tự như sau:
Sau khi kiểm tra thông tin liên quan về server PHP của bạn thông qua trang đó, tốt nhất là xóa file bạn đã tạo vì nó chứa thông tin nhạy cảm về môi trường PHP của bạn - và server Ubuntu của bạn. Bạn có thể sử dụng rm
để thực hiện :
- sudo rm /var/www/your_domain/info.php
Hướng dẫn liên quan
Dưới đây là các liên kết đến các hướng dẫn chi tiết hơn liên quan đến hướng dẫn này:
- Cài đặt server ban đầu trên Ubuntu 20.04
- Quản lý bản ghi DNS trên DigitalOcean
- Cách cài đặt ngăn xếp Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 20.04
- Cách bảo mật Apache bằng Let's Encrypt trên Ubuntu 20.04
Các tin liên quan
Cách tạo server Minecraft trên Ubuntu 18.042020-05-07
Cách tạo server Minecraft trên Ubuntu 20.04
2020-05-07
Cách cài đặt Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 20.04
2020-04-29
Cách cài đặt Linux, Nginx, MySQL, PHP ( LEMP) trên Ubuntu 20.04
2020-04-29
Thiết lập bảo mật server quan trọng với Ubuntu 20.04
2020-04-23
Cách cài đặt Linux, Nginx, MySQL, PHP (LEMP) trên CentOS 7
2020-04-21
Cách theo dõi tình trạng server với Checkmk trên Ubuntu 18.04
2020-04-16
Cách cài đặt Linux, Nginx, MySQL, PHP (LEMP) trên CentOS 8 [Quickstart]
2020-04-16
Cách cài đặt Linux, Apache, MariaDB, PHP (LAMP) trên CentOS 8 [Quickstart]
2020-04-16
Cách cài đặt server phát nhạc trực tuyến Ampache trên Ubuntu 18.04
2020-04-08