Làm thế nào để cài đặt Apache Ubuntu 20.04
Giới thiệu Apache Web Server
Apache HTTP server là máy chủ được sử dụng rộng rãi nhất trên thế giới. Nó cung cấp nhiều tính năng mạnh mẽ bao gồm các mô-đun có thể tải, hỗ trợ phương tiện truyền thông mạnh mẽ và tích hợp rộng rãi với các phần mềm phổ biến khác.
Trong hướng dẫn này, chúng ta sẽ tình hiểu chi tiết cách cài đặt Apache Ubuntu 20.04.
Điều kiện bắt buộc
Trước khi bạn bắt đầu hướng dẫn này, bạn nên tạo một tài khoản, không phải tài khoản root có thể sử dụng quyền sudo đã được tạo trước cho an toàn. Ngoài ra bạn nên kích hoạt tường lửa để chặn các port không cần thiết, bạn có thể tìm hiểu cách tạo tài khoản người dùng cơ bản và cách cài đặt tường lửa cho Web Server của bạn theo Hướng dẫn cài đặt máy chủ ban đầu cho hệ điều hành Ubuntu 20.04
Khi bạn đã có tài khoản rồi thì chúng ta bắt đầu thôi.
Xem thêm: Hiểu về Băng Thông và Ảnh Hưởng của Nó Đến Website
Xem thêm: Cách Kiểm Tra Lưu Lượng Truy Cập Website Một Cách Nhanh Gọn và Hiệu Quả
Bước 1 - Cài đặt Apache
Mặc định trong thư viện của Ubuntu đã có Apache, bạn có thể cài đặt nó dễ dàng không cần cài thêm công cụ bên thứ 3.
Chúng ta hãy update những thư viện mới nhất của hệ điều hành Ubuntu
$ sudo apt update
Sau đó chúng ta cài đặt package apache2
$ sudo apt install apache2
Sau khi xác nhận cài đặt Y, apt sẽ cài đặt apache và những thư viện liên quan
Bước 2 - Cài đặt tường lửa
Trước khi kiểm tra Apache, cần chỉnh sửa cài đặt tường lửa để cho phép truy cập vào các port web từ bên ngoài. Giả sử rằng bạn đã làm theo hướng dẫn ở phần điều kiện bắt buộc bạn nên cấu hình tường lửa UFW để hạn chế quyền truy cập vào máy chủ của bạn.
Trong quá trình cài đặt, Apache sẽ đăng ký với UFW để cung cấp một số cấu hình được sử dụng để bật hoặc tắt quyền truy cập vào Apache thông qua tường lửa.
Liệt kê các ufw cấu hình bằng lệnh
$ sudo ufw app list
Bạn sẽ nhận được danh sách của ufw
Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
Trong danh sách có 3 cấu hình có sẵn cho Apache
-
Apache: Cấu hình này chỉ mở port 80 (thông thường, không được mã hóa)
-
Apache Full: Cấu hình này mở 2 port 80 và 443 (truy cập được mã hóa SSL)
-
Apache Secure: Cấu hình này chỉ mở port 443 (truy cập được mã hóa SSL)
Lưu ý OpenSSH: Cấu hình này mở port 22 bạn nên cho phép cổng này để có thể truy cập ssh từ xa thông qua terminal
Ở bài này mình chưa cấu hình SSL cho máy chủ port 443, vì vậy mình sẽ tiếp tục trên port 80
$ sudo ufw allow ‘Apache
Bạn có thể xác minh sự thay đổi bằng cấp nhập
$ sudo ufw status
Lệnh này sẽ cho ta danh sách được phép truy cập HTTP
Output
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Apache ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Apache (v6) ALLOW Anywhere (v6)
Vậy là đã thành công rồi, bây giờ chúng ta có thể truy cập vào Apache Web Server rồi
Bước 3 - Kiểm tra Web Server
Kết thúc quá trình cài đặt, Ubuntu 20.04 khởi động Apache. Máy chủ web đã được thiết lập và đang chạy.
Để kiểm tra hệ thống đã chạy chưa, chúng ta nhập
$ sudo systemctl status apache2
Nó sẽ đưa ra thông báo tương tự
Output
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-04-23 22:36:30 UTC; 20h ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 29435 (apache2)
Tasks: 55 (limit: 1137)
Memory: 8.0M
CGroup: /system.slice/apache2.service
├─29435 /usr/sbin/apache2 -k start
├─29437 /usr/sbin/apache2 -k start
└─29438 /usr/sbin/apache2 -k start
Nếu thông báo như trên thì đã thành công rồi. Tuy nhiên cách tốt nhất để kiểm tra là truy cập một trang từ Apache.
Bạn có thể truy cập vào landing page mặc định của Apache để xác nhận ứng dụng của bạn chạy đúng thông qua địa chỉ IP. Nếu bạn không biết địa chỉ IP của server, bạn có thể lấy nó qua một vài cách.
Hãy thử nhập
$ hostname -I
Bạn sẽ nhận được một vài địa chỉ IP khác nhau, bạn có thể thử trên trình duyệt web của mình để xác minh xem nó có hoạt động không.
Một tùy chọn khác bạn có thể sử dụng tool Icanhazip. tool này sẽ đưa cho bạn địa chỉ IP. bạn nhập
$ curl -4 icanhazip.com
Khi bạn có địa chỉ IP, bạn hãy nhập nó lên trình duyệt web của bạn
Bạn sẽ thấy một trang web mặc định của Ubuntu 20.04
Trang này chỉ ra rằng Apache đã hoạt động chính xác. Nó cũng bao gồm một vài thông tin cơ bản về những file Apache quan trọng và vị trí thư mục.
Bước 4 - Quản lý Apache Process
Bây giờ bạn đã thiết lập và chạy máy chủ của mình, hãy bắt đầu với một vài lệnh commands cơ bản sử dụng systemctl
Để dừng web server, nhập:
$ sudo systemctl stop apache2
Để khởi động web server khi nó đã dừng, nhập:
$ sudo systemctl start apache2
Để restart, nhập:
$ sudo systemctl restart apache2
Nếu bạn chỉ đơn giản là thay đổi cấu hình, Apache có thể tải lại mà không làm mất kết nối, để làm điều này bạn nhập:
$ sudo systemctl reload apache2
Mặc định Apache tự khởi động khi server khởi động. Nếu bạn không muốn điều này, vô hiệu hóa nó bằng cách nhập:
$ sudo systemctl disable apache2
Để bật lại chúng ta nhập:
$sudo systemctl enable apache2
Apache sẽ tự khởi động khi server khởi động.
Bước 5 - Thiết lập máy chủ để chạy website
Mình sẽ tạo thư mục chứa project bằng lệnh:
$ sudo mkdir /var/www/html/your_domain
Tiếp theo, mình chỉ định quyền sở hữu thư mục với biến $USER, nhập:
$ sudo chown -R $USER:$USER /var/www/html/your_domain
Để phân quyền cho phép user có thể đọc, ghi và thực thi các lệnh tệp, sử dụng lệnh
$ sudo chmod -R 755 /var/www/html/your_domain
Tiếp theo, tạo một trang index.html mẫu sử dụng nano, nhập:
$ sudo nano /var/www/html/your_domain/index.html
Bên trong, hãy nhập HTML mẫu sau:
Lưu và đóng khi bạn đã hoàn thành CTRL + O -> Enter -> CTRL + X
Để Apache có thể hiểu và chạy được domain vừa cài đặt, bạn cần tạo file cấu hình máy chủ ảo. Chúng ta sẽ không chỉnh sửa file cấu hình mặc định của apache (/etc/apache2/sites-available/000-default.conf) mà sẽ tạo một file mới (/etc/apache2/sites-available/your_domain.conf), nhập lệnh:
$ sudo nano /etc/apache2/sites-available/your_domain.conf
Tiếp theo ta nhập nội dung sau:
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
ServerAdmin webmaster@localhost
ServerName your_domain
ServerAlias www.your_domain
DocumentRoot /var/www/html/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Lưu và đóng lại khi hoàn tất.
Để kích hoạt file ta dùng tool a2ensite
$ sudo a2ensite your_domain.conf
Và disable site cấu hình mặc định trong 000-default.conf
$ sudo a2dissite 000-default.conf
Tiếp theo kiểm tra xem cấu hình có bị lỗi không
$ sudo apache2ctl configtest
Bạn sẽ nhận được kết quả sau
Output
Syntax OK
Restart Apache để thực hiện những thay đổi của mình
$ sudo systemctl restart apache2
OK, vậy là đã thành công rồi đấy, bạn truy cập link website của mình để xem kết quả nhé.
http://your_domain kết quả trả về như vậy là ok.
Lưu ý bạn cần trỏ tên miền đúng vào địa chỉ IP của server nhé.
OK. Vậy là xong chúng ta đã cài apache trên ubuntu. hẹn các bạn ở bài sau. Chúc các bạn cài đặt thành công.