Cách host trang web của riêng bạn trên Raspberry Pi

Bạn cần phải chạy một trang web nhưng không đủ khả năng chi trả phí hosting? Bạn có thể sử dụng liên kết này (https://www.inmotionhosting.com/business-hosting) để được giảm giá đặc biệt tại InMotion Hosting, hoặc thử biến Raspberry Pi thành web server, có khả năng chạy phần mềm web server cơ bản. Tuyệt vời nhất là việc thiết lập vô cùng đơn giản.

Tại sao lại host một trang web trên Raspberry Pi?

Có một số lý do để thiết lập Raspberry Pi làm web server.

  • Chi phí hosting rất đắt
  • Mất quá nhiều chi phí để chạy PC cả ngày
  • Raspberry Pi tiêu thụ ít điện năng
  • Pi có thể được cấu hình như một thiết bị di động
  • Tiềm năng vượt qua được việc kiểm duyệt

Dù lý do bạn chọn host trang web trên Raspberry Pi là gì, việc thiết lập đều có thể thực hiện chỉ trong vài phút. Tốt hơn nữa là bạn có thể sử dụng bất kỳ phiên bản nào của Pi, thậm chí là Pi Zero. Nếu thiết bị được kết nối với Internet, bạn có thể host một trang web trên đó.

Thiết lập phần cứng web server Raspberry Pi

Hãy bắt đầu với một nguồn điện đáng tin cậy cho Raspberry Pi. Bạn cũng nên cài đặt bản phân phối Raspberry Pi ưa thích mới nhất vào thẻ SD chất lượng cao.

Thiết lập phần cứng web server Raspberry Pi

Các bước và ảnh chụp màn hình trong hướng dẫn này là để thiết lập web server Raspberry Pi với Raspbian Stretch.

Như với hầu hết các máy chủ, bạn sẽ cần truy cập web server Raspberry Pi bằng SSH. Trong Linux và macOS, bạn có thể thực hiện việc này thông qua terminal. Trong Windows, hãy sử dụng PowerShell để kết nối qua SSH hoặc cài đặt công cụ của bên thứ ba.

Thiết lập mạng không dây và SSH

Bạn có thể sử dụng Raspberry Pi làm web server chỉ bằng bàn phím, màn hình và việc truy cập từ xa cũng rất đơn giản hơn.

Cách tốt nhất để làm điều này là bật SSH trên Pi và thiết lập mạng không dây trước tiên. Nếu sử dụng cài đặt Raspberry Pi hiện có, bạn có thể đã thực hiện cả hai. Bạn có thể cấu hình SSH và kết nối mạng không dây trong khi thẻ SD vẫn ở trong PC.

Bắt đầu bằng cách đảm bảo thẻ SD hiển thị trong trình quản lý file của máy tính và thư mục /boot/ được chọn. (Trong Windows, đây là phần duy nhất của thẻ SD có thể đọc được).

Tiếp theo, trong cửa sổ thư mục /boot/, nhấp chuột phải vào chỗ trống và chọn New > Text Document. Đặt tên cho tài liệu ssh cẩn thận để xóa phần mở rộng file .TXT. Khi Pi khởi động, nó sẽ phát hiện file ssh và kích hoạt tính năng này.

Để kết nối qua SSH, trước tiên bạn cần phải bật mạng không dây. Để làm điều này, hãy tạo một file khác, lần này gọi nó là wpa_supplicant.conf. Một lần nữa, xóa phần mở rộng TXT. Mở file, sao chép và dán như sau:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
 
 network={
 
 ssid="YOUR_NETWORK_NAME"
 
 psk="YOUR_PASSKEY"
 
 key_mgmt=WPA-PSK
 
 }

Sau khi dán, chỉnh sửa các giá trị để hiển thị tên mạng (SSID) và mật khẩu (PSK). Lưu file, sau đó lấy thẻ SD ra một cách an toàn. Sau khi thay thế nó trong Raspberry Pi, hãy khởi động máy lên. Bạn sẽ có thể kết nối với Raspberry Pi qua SSH, sử dụng địa chỉ IP Pi. Tìm thông tin này bằng cách kiểm tra màn hình quản trị router (kiểm tra tài liệu thiết bị) hoặc bằng cách kết nối nhanh với bàn phím và màn hình.

Với SSH được thiết lập, bạn có thể kết nối từ xa với web server Raspberry Pi của mình bất cứ lúc nào.

Cấu hình Raspberry Pi làm web server

Trước khi upload các trang HTML lên Raspberry Pi, bạn sẽ cần phải cấu hình máy chủ và phần mềm của nó. Để làm điều này, hãy cài đặt Apache và PHP. Điều này sẽ cho phép các trang được viết bằng HTML và PHP.

Bắt đầu bằng cách cập nhật Raspbian:

sudo apt update
 
 sudo apt upgrade

Tiếp theo, cài đặt Apache và các thư viện liên quan, bằng cách nhập:

sudo apt install apache2 -y

Sau đó kiểm tra xem Apache có đang chạy không:

sudo service apache2 status

Nếu máy chủ hiển thị “active (running)” với màu xanh lá cây, mọi thứ đều ổn.

Nếu máy chủ hiển thị “active (running)” với màu xanh lá cây, mọi thứ đều ổn

Nếu máy chủ ngừng hoạt động, hãy khởi động nó bằng:

sudo service apache2 start

Ở giai đoạn này, bạn có thể duyệt đến web server Raspberry Pi của mình từ trình duyệt.

Nếu trình duyệt được cài đặt trên Raspberry Pi, hãy truy cập URL này trong thanh địa chỉ:

http://localhost

Tuy nhiên, nếu bạn đang sử dụng SSH, hãy sử dụng địa chỉ IP của Raspberry Pi từ trình duyệt PC (ví dụ: http://123.456.789.0). Bạn sẽ thấy xác nhận rằng Apache đã được cài đặt.

Bạn sẽ thấy xác nhận rằng Apache đã được cài đặt

Raspberry Pi của bạn hiện được thiết lập như một web server cơ bản. Tất cả những gì bạn cần làm bây giờ là thêm trang!

Cấu hình FTP trên Raspberry Pi

Mặc dù bạn có thể kiểm tra trình duyệt xem Pi có đang chạy với vai trò một web server không, nhưng trang được cung cấp sẽ rất cơ bản. Đây là một file index.php giữ chỗ điển hình, thứ mà bạn sẽ phải thay thế bằng tài liệu PHP hoặc HTML của riêng mình.

Bắt đầu bằng cách tạo một thư mục www và cài đặt phần mềm FTP:

sudo chown -R pi /var/www
 
 sudo apt install vsftpd

Với ứng dụng FTP vsftpd (“Very Secure FTP Daemon”) được cài đặt, bạn sẽ cần thực hiện một số thay đổi về cấu hình. Đầu tiên, hãy mở file cấu hình bằng nano:

sudo nano /etc/vsftpd.conf

Và thực hiện các thay đổi quyền/bảo mật sau:

Đầu tiên, thay đổi anonymous_enable=YES thành anonymous_enable=NO

Sau đó, xóa ký hiệu # ở các dòng sau:

#local_enable=YES
 
 #write_enable=YES

Điều này kích hoạt cài đặt mà các dòng liên quan đến. Cuối cùng thêm dòng này vào cuối file:

force_dot_files=YES

Cấu hình FTP trên Raspberry Pi

Làm điều này sẽ buộc hiển thị các file server bắt đầu bằng “.”, ví dụ như file .htaccess cực kỳ quan trọng.

Nhấn Ctrl+X để lưu và thoát, xác nhận bằng YEnter.

Cuối cùng, khởi động lại FTP bằng:

sudo service vsftpd restart

Sử dụng FTP desktop tiêu chuẩn, sau đó bạn sẽ có thể kết nối với Raspberry Pi. Upload file lên /var/www/html.

HTML không đủ? Raspberry Pi cũng hỗ trợ LAMP!

Raspberry Pi không chỉ có khả năng phục vụ các trang HTML cơ bản. Cấu hình server LAMP có thể được cài đặt nếu bạn muốn MySQL có hỗ trợ PHP. Chỉ cần làm theo các bước được hướng dẫn ở trên để cài đặt và thiết lập Apache, sau đó thêm cài đặt MySQL, rồi đến PHP.

Các gói sau đây cài đặt MySQL và thành phần PHP cần thiết:

sudo apt install mysql-server php-mysql -y

Sau khi cài đặt xong, bạn sẽ cần khởi động lại Apache:

sudo service apache2 restart

Tiếp theo, cài đặt PHP với:

sudo apt install php -y

Một lần nữa, khởi động lại Apache bằng lệnh trên. Server LAMP hiện đã được cài đặt, sẵn sàng để bạn thiết lập các ứng dụng web và trang web PHP điều khiển cơ sở dữ liệu.

Như với bất kỳ dự án web server nào, bạn nên xác định xem Pi có phù hợp với nhu cầu của mình không. Mặc dù có thể thiết lập WordPress để chạy trên Raspberry Pi, nhưng việc thêm vô số plugin và nhiều cập nhật hàng ngày sẽ khiến nó cực kỳ chậm.

Trang web bạn dự định chạy trên Raspberry Pi nên tối giản các yêu cầu về tài nguyên và phần mềm. Một giải pháp điều khiển cơ sở dữ liệu có thể được sử dụng nếu cần thiết và bạn nên giới hạn số lượng trang có thể được xem.

Cân nhắc về kỹ thuật và bảo mật

Bạn không thể đạt được bất cứ thứ gì gần với tốc độ cấp sản xuất, khi sử dụng Raspberry Pi làm web server.

Tuy nhiên, có nhiều cách để bạn có thể cải thiện hiệu suất, chẳng hạn như thiết lập phần mềm server trên ổ đĩa cứng USB thay vì trên thẻ SD, để hạn chế sự suy giảm thông qua các tiến trình đọc/ghi thông thường. Ngoài ra, sử dụng RAM thiết bị để lưu trữ file đọc/ghi tạm thời cũng là một tùy chọn. Đây là điều mà có lẽ bạn sẽ muốn thay đổi khi quyết định cách sẽ sử dụng web server rất nhỏ của mình.

Mặc dù thiết lập phiên bản thử nghiệm của trang web PHP dựa trên cơ sở dữ liệu cũng phù hợp, nhưng các nhiệm vụ trực tuyến của Raspberry Pi có lẽ phù hợp nhất với một bộ sưu tập nhỏ những trang tĩnh.

Lưu ý rằng nếu bạn có kế hoạch mở quyền truy cập vào Raspberry Pi dưới dạng web server được kết nối Internet, bạn sẽ cần phải thiết lập router của mình bằng một địa chỉ IP tĩnh.

Cuối cùng, hãy dành thời gian để thay đổi mật khẩu mặc định Raspberry Pi. Điều này có thể được thực hiện trong dòng lệnh thông qua SSH bằng cách sử dụng:

passwd

Sau đó, bạn sẽ được nhắc nhập và xác nhận mật khẩu mới. Làm điều này sẽ ngăn bất kỳ ai quen thuộc với Raspbian có thể truy cập vào phần backend của trang web.

Host trang web của riêng bạn trên Raspberry Pi

Tiềm năng sử dụng Raspberry Pi làm web server là rất lớn. Trên thực tế, bạn không thể host một trang web lớn. Tuy nhiên, với bộ pin và dongle Internet di động, bạn có thể host một trang web nhỏ gọn từ mọi nơi trên thế giới.

Hãy nhớ rằng, tất cả những gì bạn cần làm là:

  • Cấu hình SSH và mạng không dây
  • Cài đặt Apache (tùy chọn MySQL và PHP)
  • Cài đặt FTP
  • Thiết lập mật khẩu an toàn

Với địa chỉ IP tĩnh hoặc dịch vụ DNS động được thiết lập, trang web của bạn đã sẵn sàng. Và nếu bạn không muốn bị truy cập từ Internet, chỉ cần host mạng nội bộ tại nhà! Nếu bạn quyết định tìm kiếm một dịch vụ bên ngoài, hãy xem danh sách các dịch vụ web hosting tốt nhất này.

Chúc bạn thực hiện thành công!

Thứ Ba, 24/12/2019 11:23
53 👨 561