Thuật ngữ “LAMP” này là một từ viết tắt đại diện cho hệ điều hành Linux, với máy chủ web Apache. Dữ liệu trang web được lưu trữ trong cơ sở dữ liệu MySQL và nội dung động được xử lý bởi PHP. Nôm na ta thường gọi nó là máy chủ web.
Điều kiện trước khi cài đặt
- Ubuntu 18+
- Có quyền sudo
Bước 1 – Cài đặt Apache và Firewall
Apache là một trong những máy chủ web phổ biến nhất trên thế giới. Nó có tài liệu đầy đủ, có một cộng đồng người dùng tích cực và đã được sử dụng rộng rãi. Cài đặt Apache
sudo apt update sudo apt install apache2
Khi quá trình cài đặt hoàn tất, bạn sẽ cần điều chỉnh cài đặt tường lửa của mình để cho phép truy cập HTTP. Để chỉnh sửa tường lửa ta dùng UFW (mình thì tắt nó luôn)
sudo ufw app list
Output
Available applications: Apache Apache Full Apache Secure OpenSSH
Giải thích:
- Apache : Cấu hình này chỉ mở cổng
80
(không được mã hóa). - Apache Full : Cấu hình này mở cả cổng 80 (không được mã hóa) và cổng 443 (được mã hóa TLS / SSL).
- Apache Secure : Cấu hình này chỉ mở cổng
443
(được mã hóa TLS / SSL).
sudo ufw allow in "Apache"
Kiểm tra lại
sudo ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)
Kiểm tra bằng trình duyệt bằng cách truy cập
http://địa_chỉ_ip
![[Ubuntu] Hướng dẫn cài Apache, MySQL, PHP (LAMP) Hướng dẫn cài Apache, MySQL, PHP (LAMP) trên Ubuntu](https://ngatngay.net/wp-content/uploads/2021/11/small_apache_default_1804.png)
Trong đó địa_chỉ_ip là ip máy chủ của bạn. Khi truy cập nó sẽ hiển thị trông như thế này
Bước 2 – Cài đặt MySQL
sudo apt install mysql-server
Sau khi cài đặt xong, chạy lệnh sau để cấu hình ban đầu
sudo mysql_secure_installation
Cấu hình xong bạn có thể chạy thử MySQL bằng lệnh sau:
sudo mysql
Bước 3 – Cài đặt PHP
Để giao tiếp với MySQL và Apache ngoài cài đặt gói PHP bạn cần cài thêm 2 module của PHP là libapache2-mod-php và php-mysql
sudo apt install php libapache2-mod-php php-mysql
Kiểm tra lại sau khi cài xong
php -v 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
Sau khi làm tới bước này tạm thời là bạn đã có thể sử dụng rồi
Step 4 – Tạo Virtual Host
Mục đích của cái này là để sử dụng nhiều tên miền trên một máy chủ. Sau khi xong bước 3, ta có thư mục /var/www/html , thư mục này để chứa source code của các bạn. Tuy nhiên, nó chỉ dùng được cho 1 trang web mà thôi, rất là hạn chế. Đó là lý do chúng ta cần tạo Virtual Host. Bây giờ, cùng nhau tạo một 1 Virtual Host nhé! Đầu tiên tạo một thư mục cho nó
sudo mkdir /var/www/your_domain
Tiếp theo cấp quyền cho nó
sudo chown -R $USER:$USER /var/www/your_domain
Tạo thêm tệp cấu hình trong sites-available
sudo nano /etc/apache2/sites-available/your_domain.conf
Dán mã sau vào và lưu file lại
<VirtualHost *:80> DocumentRoot /var/www/your_domain ServerName your_domain <Directory /var/www/your_domain> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
Thêm cấu hình
sudo a2ensite your_domain
Nếu muốn xóa thì làm như sau
sudo a2dissite your_domain
Kiểm tra cú pháp có lỗi hay không
sudo apache2ctl configtest
Cấu hình file hosts
sudo nano /etc/hosts
Thêm dòng sau vào cuối
127.0.0.1 your_domain
Restart Apache
sudo systemctl reload apache2
Bây giờ tạo một tệp HTML chạy thử thôi
nano /var/www/your_domain/index.html
Dán mã sau vào và lưu lại
<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>
Truy cập và tận hưởng =))
http://your_domain
Nếu nó không chạy như mong đợi, hãy thử đổi tên index.html thành index.php xem sao.
Nên đọc thêm về DirectoryIndex trong Apache nhé!
Bước 5 – Kiểm tra PHP
Tạo một file có tên info.php với nội dung sau
<?php phpinfo();
Truy cập
http://your_domain/info.php
Vậy là đã xong!