Bạn muốn tạo website riêng nhưng không cần xử lý server-side quy mô lớn? Có dễ dàng hơn nếu bạn có thể tạo, host và duy trì website trực tiếp trên Raspberry Pi? Ở đây chúng tôi sẽ chỉ cho bạn cách biến Raspberry Pi thành personal web server của riêng bạn.
Cuối hướng dẫn này, bạn sẽ học cách cài đặt Apache web server phổ biến trên Raspberry Pi, thiết lập PHP, và tạo một trang web đơn giản mà bất kỳ ai có thể truy cập qua mạng cục bộ.
Apache Web Server là gì?
Apache là một trong những ứng dụng web server phổ biến nhất thế giới, chiếm gần 40% tất cả web server tại thời điểm viết bài.
Khi đã cài đặt Apache trên Raspberry Pi, bạn có thể dùng nó để phục vụ các file khác nhau cho bất kỳ ai trên mạng cục bộ.
Những thứ bạn cần
Để hoàn thành hướng dẫn này, bạn sẽ cần:
- Raspberry Pi chạy Raspbian. Nếu chưa có Raspbian, tải phiên bản mới nhất và flash bằng Etcher.
- Cáp nguồn tương thích Raspberry Pi
- Bàn phím ngoài và cách gắn vào Raspberry Pi
- Cáp HDMI hoặc micro HDMI, tùy model Raspberry Pi
- Màn hình ngoài
- Cáp Ethernet hoặc kết nối Wi-Fi
Cập nhật Raspbian
Nếu chưa làm, gắn bàn phím ngoài, màn hình và các thiết bị ngoại vi khác vào Raspberry Pi, sau đó cắm nguồn.
Trước khi bắt đầu, tốt nhất đảm bảo Raspbian là phiên bản mới nhất. Mở cửa sổ Terminal bằng cách nhấp biểu tượng "Terminal" nhỏ trên thanh công cụ. Gõ các lệnh sau vào Terminal:
sudo apt-get update sudo apt-get upgrade
Nếu Raspbian cài đặt một hoặc nhiều bản cập nhật, khởi động lại Raspberry Pi bằng lệnh sau:
reboot
Khi Raspberry Pi reboot xong, nó sẽ chạy phiên bản Raspbian mới nhất.
Cài đặt Apache Web Server
Bạn đã sẵn sàng cài đặt gói Apache2 trên Raspberry Pi. Trong Terminal, gõ lệnh sau:
sudo apt install apache2 -y
Và đó là xong: Raspberry Pi của bạn hiện đang hoạt động như một basic web server!
Để thấy Apache web server hoạt động, bạn cần nhập địa chỉ IP Raspberry Pi vào trình duyệt web. Để lấy địa chỉ IP này, chạy lệnh sau trong cửa sổ Terminal:
hostname -I
Lệnh này trả về địa chỉ IP Raspberry Pi; chỉ cần nhập địa chỉ này vào bất kỳ trình duyệt web nào. Bạn nên thấy trang sau.
Chúc mừng, bạn vừa tạo web server riêng!
Lấy quyền: Chỉnh sửa file HTML của Apache
Trang web "It works!" thực tế là một file HTML nằm trong thư mục "/var/www/html" của Raspberry Pi.
Để xem file này, mở File Manager của Raspbian (bằng cách nhấp biểu tượng file trên thanh công cụ) rồi điều hướng đến "/var/www/html". Thư mục này chứa file "index.html", là trang bạn đang thấy trên trình duyệt.
Trong các phần sau, bạn sẽ thực hiện một vài thay đổi đơn giản cho file này, và tạo một file HTML bổ sung mà Apache sẽ phục vụ cho bất kỳ ai trên mạng cục bộ.
Trong cửa sổ Terminal, thay đổi thư mục ("cd") để trỏ đến file "index.html".
cd /var/www/html
Bây giờ chạy lệnh sau:
ls -al
Terminal sẽ hiển thị văn bản giải thích file "index.html" thuộc sở hữu user "root".
Trước khi chỉnh sửa file này, bạn cần nắm quyền sở hữu. Bạn có thể thay đổi quyền sở hữu bằng lệnh Terminal. Ví dụ sau giả định bạn dùng username "pi" của Raspbian; nếu bạn tự đổi, hãy đảm bảo phản ánh trong lệnh Terminal:
sudo chown pi: index.html
Nếu chạy lại lệnh ls -al, bạn sẽ thấy "pi" giờ có quyền chỉnh sửa file này.
HTML: Tùy chỉnh trang web Apache
Bây giờ bạn có thể mở trang "It works" để chỉnh sửa bằng lệnh Terminal sau:
nano index.html
Điều này mở file "index.html" trong trình soạn thảo văn bản Nano của Raspbian.
Bạn có thể thay đổi mọi phần của mã trang này, nhưng để đơn giản, văn bản hiển thị như một phần của heading đã được thay đổi trong ví dụ này.
Sau khi làm xong thay đổi, lưu file bằng cách nhấn Ctrl + O, theo sau Ctrl + X.
Bây giờ, tải địa chỉ IP Raspberry Pi trong trình duyệt web, và bạn nên thấy thay đổi của mình.
Làm website động: Cài đặt PHP 7
Mặc định, Apache web server giới hạn ở nội dung tĩnh, nên trang của bạn sẽ không phản ứng với thông tin người dùng cung cấp. Nếu muốn nội dung động, bạn cần cài đặt phiên bản PHP mới nhất, là PHP 7.4 tại thời điểm viết.
Trong phần này, bạn sẽ cài đặt phiên bản PHP mới nhất và module PHP cho Apache:
sudo apt install php libapache2-mod-php -y
Để test PHP thiết lập đúng, bạn sẽ tạo file PHP trong thư mục "/var/www/html/", sau đó kiểm tra file này xuất hiện trên trình duyệt.
Để tạo file PHP tên "mywebpage.php", chạy lệnh sau trong cửa sổ Terminal:
sudo nano /var/www/html/mywebpage.php
File "mywebpage.php" tự động mở trong Nano. Trong trình soạn thảo Nano, gõ script PHP sau:
<?php echo "Today is " . date('Y-m-d H:i:s');
Script đơn giản này lấy ngày hôm nay và hiển thị nó như một phần của trang web.
Để lưu script, nhấn Ctrl + O, theo sau Ctrl + X.
Test PHP động của bạn
Để test file PHP này được phục vụ đúng, nhập địa chỉ IP Raspberry Pi trong trình duyệt, theo sau "/mywebpage.php". Ví dụ, nếu IP của bạn là 190.100.1.100, bạn cần nhập URL sau:
https://190.100.1.100/mywebpage.php
Nếu file PHP được phục vụ đúng, trình duyệt sẽ hiển thị giống hình ảnh sau.
Như bạn thấy, biến Raspberry Pi thành web server khá dễ dàng, dù bạn sẽ cần thiết lập dynamic IP để kết nối web server từ mạng công cộng.