Cập nhật ngày 13/05/2022

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
Hướng dẫn cài Apache, MySQL, PHP (LAMP) trên Ubuntu

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!