Hướng dẫn chi tiết các bước cài đặt LAMP (Linux, Apache, MariaDB/MySQL và PHP) trên Ubuntu 20.04 LTS
LAMP là software stack phổ biến nhất cho các trang web động và ứng dụng web. Linux là hệ điều hành, Apache là web server, MariaDB/MySQL là database server và PHP là ngôn ngữ kịch bản (scripting language) phía máy chủ chịu trách nhiệm tạo các trang web động.
Điều kiện tiên quyết
Trước khi cài đặt LAMP, bạn nên cập nhật gói phần mềm và kho lưu trữ. Chạy các lệnh sau trên hệ điều hành Ubuntu 20.04:
sudo apt update sudo apt upgrade
sudo apt install -y apache2 apache2-utils
systemctl status apache2
apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-04-11 11:31:31 CST; 2s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 53003 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 53011 (apache2) Tasks: 55 (limit: 19072) Memory: 6.4M CGroup: /system.slice/apache2.service ├─53011 /usr/sbin/apache2 -k start ├─53012 /usr/sbin/apache2 -k start └─53013 /usr/sbin/apache2 -k start
Gợi ý: Nếu lệnh trên không thoát ngay lập tức, bạn có thể nhấn phím Q để giành lại quyền kiểm soát Terminal.
sudo systemctl start apache2
sudo systemctl enable apache2
apache2 -v
Server version: Apache/2.4.41 (Ubuntu) Server built: 2020-03-05T18:51:00
Nhập địa chỉ IP public của Ubuntu 20.04 server vào thanh địa chỉ trình duyệt
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo ufw allow http
sudo chown www-data:www-data /var/www/html/ -R
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
sudo nano /etc/apache2/conf-available/servername.conf
ServerName localhost
sudo a2enconf servername.conf
sudo systemctl reload apache2
MariaDB là phiên 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, những người lo ngại rằng Oracle có thể biến MySQL thành một sản phẩm mã nguồn đóng.
sudo apt install mariadb-server mariadb-client
systemctl status mariadb
mariadb.service - MariaDB 10.3.22 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-04-10 14:19:16 UTC; 18s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 9161 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 9451) Memory: 64.7M CGroup: /system.slice/mariadb.service └─9161 /usr/sbin/mysqld
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation
Nhập y để đặt mật khẩu root cho MariaDB server
Bạn có thể nhấn Enter để trả lời tất cả các câu hỏi còn lại
sudo mariadb -u root
exit;
mariadb --version
mariadb Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline
sudo a2enmod php7.4 sudo systemctl restart apache2
php --version
PHP 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
sudo nano /var/www/html/info.php
<?php phpinfo(); ?>
Để lưu file trong trình soạn thảo văn bản Nano, nhấn Ctrl + O, sau đó nhấn Enter để xác nhận. Để thoát, nhấn Ctrl + X. Bây giờ trong thanh địa chỉ của trình duyệt, nhập server-ip-address/info.php. Thay thế server-ip-address bằng IP thực của bạn. Nếu bạn làm theo hướng dẫn này trên máy tính cục bộ , hãy nhập 127.0.0.1/info.php hoặc localhost/info.php.
Bạn sẽ thấy thông tin PHP của máy chủ. Điều này có nghĩa là các script PHP có thể chạy đúng với Apache Web server.
Thông tin PHP của máy chủ
Về cơ bản có hai cách để chạy code PHP với Apache Web server:
Trong các bước trên, mô-đun Apache PHP7.4 được sử dụng để xử lý code PHP, điều này thường ổn. Nhưng trong một số trường hợp, bạn cần chạy code PHP với PHP-FPM để thay thế. Đây là cách thực hiện.
sudo a2dismod php7.4
sudo apt install php7.4-fpm
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.4-fpm
sudo systemctl restart apache2
Bây giờ, nếu refresh trang info.php trong trình duyệt, bạn sẽ thấy rằng Server API được thay đổi từ Apache 2.0 Handler thành FPM/FastCGI, có nghĩa là Apache Web server sẽ chuyển các yêu cầu PHP đến PHP-FPM.
Server API được thay đổi từ Apache 2.0 Handler thành FPM/FastCGI
Chúc mừng! Bạn đã cài đặt thành công LAMP (Apache, MariaDB và PHP7.4) trên Ubuntu 20.04. Để bảo mật cho máy chủ, bạn nên xóa file info.php ngay bây giờ để tránh những con mắt tò mò.
sudo rm /var/www/html/info.php
Tips: Tham gia Channel Telegram KDATA để không bỏ sót khuyến mãi hot nào