Chạy trình rút gọn URL của riêng bạn trên Raspberry Pi

URL dài rất khó nhớ. Với trình rút gọn URL tự host, bạn chỉ cần nhớ tên miền và một chuỗi ngắn. Đây là cách thiết lập và sử dụng một trình rút gọn URL trên Raspberry Pi.

Tại sao bạn cần một trình rút gọn URL?

URL là những thứ dài, khó sử dụng và có thể khó nhớ. Ví dụ: URL cho bài viết này là https://quantrimang.com/cong-nghe/chay-trinh-rut-gon-url-tren-raspberry-pi-192851. Tổng là 81 ký tự và nếu bạn chia sẻ như một phần của một bài đăng trên mạng xã hội với giới hạn ký tự, thì 81 ký tự này bạn có thể sử dụng để viết lời bình luận về bài viết. URL ngắn cung cấp cho bạn nhiều không gian hơn để viết.

Công cụ rút gọn URL lấy một URL dài, gán cho nó một URL mới, ngắn hơn và chuyển hướng lưu lượng truy cập đến URL dài ban đầu. Ví dụ, nhấp vào https://bom.so/zScRUG sẽ gửi yêu cầu đến Bom.so, chuyển hướng yêu cầu đến https://quantrimang.com/cong-nghe/chay-trinh-rut-gon-url-tren-raspberry-pi-192851, link của bài viết này. Bằng cách sử dụng trình rút gọn URL, bạn đã tiết kiệm được 60 ký tự.

Chúng cũng rất tiện dụng nếu bạn định cho ai đó biết địa chỉ web - hoặc thậm chí viết nó ra - thay vì gửi liên kết.

Các lý do tuyệt vời khác để sử dụng công cụ rút gọn URL bao gồm xây dựng thương hiệu và tiếp thị, theo dõi số lần nhấp và deep link đến các ứng dụng.

Tại sao lại host trình rút gọn URL trên Raspberry Pi?

Có nhiều dịch vụ rút gọn URL thương mại có sẵn. Một số dịch vụ yêu cầu trả phí, những tùy chọn khác được sử dụng hoàn toàn miễn phí.

Bạn có thể đã nghe nói về hoặc thậm chí đã sử dụng các dịch vụ rút gọn URL như TinyUR, Bitly hoặc BL.INK. Các dịch vụ này lưu trữ bộ sưu tập những URL rút gọn của bạn, nhưng chúng dễ bị tấn công và đặc biệt không portable. Nếu bạn vi phạm các điều khoản dịch vụ, bộ sưu tập của bạn có thể biến mất. Nếu nhà cung cấp dịch vụ tăng phí đến mức mà bạn không cảm thấy thoải mái, bạn buộc phải chấp nhận việc tăng giá quá mức hoặc chấp nhận mất bộ sưu tập URL của mình.

Và sau đó có một thực tế là các URL như https://bom.so/zScRUG, mặc dù chắc chắn là ngắn hơn so với các URL thực tế, nhưng lại không đặc biệt dễ nhớ, cũng không đặc biệt ngắn.

Bằng cách chạy trình rút gọn URL của riêng mình trên Raspberry Pi, bạn không phải chịu sự tăng giá vô lý, thay đổi điều khoản và điều kiện, cũng như có thể tùy chỉnh URL theo cách bạn muốn. Bài viết đã chọn Polr làm công cụ rút gọn URL ví dụ vì nó dễ cài đặt, sử dụng đơn giản và đi kèm với sự hỗ trợ tuyệt vời.

Chọn một tên miền ngắn

Đặc điểm chính của trình rút gọn URL là URL kết quả phải ngắn gọn và để đạt được điều đó, bạn cần có một tên miền ngắn. Tất cả các domain .com tốt đã không còn nữa, nhưng có hàng trăm domain cấp cao khác mà bạn có thể sử dụng làm cơ sở của mình.

Chọn một tên miền ngắn
Chọn một tên miền ngắn

Đăng ký domain, sau đó truy cập phần DNS nâng cao. Tạo bản ghi mới, chọn A cho type, @ làm host và đối với value, hãy đặt địa chỉ IP nhà riêng của bạn. Đặt TTL càng thấp càng tốt.

Thiết lập Raspberry Pi với Polr

Điều đầu tiên bạn cần làm là thiết lập Raspberry Pi làm máy chủ. Khi bạn đã hoàn thành việc đó, hãy đăng nhập bằng Secure Shell (SSH), sau đó cập nhật và nâng cấp bất kỳ gói nào đã cài đặt:

sudo apt update
sudo apt upgrade

Thay đổi thư mục, sao chép kho lưu trữ Polr GitHub và thiết lập quyền:

cd /var/www/
sudo git clone https://github.com/cydrobolt/polr.git --depth=1
sudo chmod -R 755 polr

Bây giờ cấp quyền sở hữu thư mục polr cho người dùng Apache:

chown -R www-data polr
<img alt="Terminal output for cloning polr and setting permission " height="435" src="https://static0.makeuseofimages.com/wordpress/wp-content/uploads/2022/09/clone-polr.jpg" width="1809" />

Di chuyển vào thư mục polr, sau đó tự đặt mình làm người dùng gốc, cài đặt công cụ Composer và các dependency:

cd polr
sudo su
curl -sS https://getcomposer.org/installer | php
php composer.phar install --no-dev -o

Bạn sẽ thấy cảnh báo: "Do not run Composer as root/super user!". Tuy nhiên, bỏ qua điều này cũng chẳng sao. Sau thời điểm này, Composer có thể đưa ra các lỗi liên quan đến việc thiếu những mô-đun PHP; cài đặt chúng với:

apt-get install php-mbstring php-curl php-dom

Và sau đó lặp lại lệnh trước đó. Khi được hỏi, "Do you trust 'kylekatarnls/update-helper' to execute code and wish to enable it now?" nhấn Y trên bàn phím và sau đó chọn Return. Bạn sẽ được quay trở lại Command Prompt. Thoát khỏi root shell, sau đó thay đổi các thư mục:

exit
cd /etc/apache2/sites-available/
Enable the Apache rewrite mod:
a2enmod rewrite

Và sử dụng nano để tạo file conf Apache mới:

sudo nano polr.conf

Trong đó, dán:

<VirtualHost *:80>
    ServerName muo.lol
    ServerAlias muo.lol
    DocumentRoot "/var/www/polr/public"
    <Directory "/var/www/polr/public">
        Require all granted
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

… Thay thế muo.lol bằng tên miền của riêng bạn. Lưu và thoát nano bằng Ctrl + O rồi Ctrl + X. Kích hoạt file conf mới, sau đó khởi động lại Apache bằng:

sudo a2ensite polr.conf
sudo service apache2 restart

Polr yêu cầu một cơ sở dữ liệu để chạy. Mở MariaDB bằng:

sudo mariadb

Thêm các mục sau, mỗi mục một dòng:

CREATE DATABASE polr;
CREATE USER polr IDENTIFIED BY 'topsecretpassword';
GRANT USAGE ON *.* TO polr@localhost IDENTIFIED BY 'topsecretpassword';
GRANT ALL privileges ON polr.* TO polr@localhost;
FLUSH PRIVILEGES;
quit;

Di chuyển trở lại thư mục thiết lập Polr và sao chép file .env:

cd /var/www/polr
cp .env.setup .env

Giờ đây, bạn có thể chạy trình hướng dẫn cấu hình thông qua trình duyệt của mình tại http://your-domain/setup/

Thiết lập Polr thông qua trình duyệt

Bạn sẽ phải đối mặt với một loạt các tùy chọn và trường nhập văn bản khó hiểu trên phần nền cực đẹp. Tại đây, bạn sẽ cho trình rút gọn URL Raspberry Pi của mình biết bạn muốn nó hoạt động như thế nào. Một số trường này sẽ được điền trước.

Để nguyên giá trị mặc định trong Database HostDatabase Port, nhưng thay đổi Database Username thành polr và mật khẩu thành bất kỳ thứ gì bạn đặt trong MariaDB. Nếu bạn làm theo đúng hướng dẫn, đây sẽ là topsecretpassword. Application URL là tên miền của bạn.

Thiết lập Polr thông qua trình duyệt
Thiết lập Polr thông qua trình duyệt

Phần còn lại của các tùy chọn liên quan đến cách bạn muốn các URL ngắn của mình được định dạng, liệu bạn có cần mật khẩu để sử dụng trang web hay không và bạn có muốn các URL của mình ở chế độ công khai hay không. Hãy nhớ đặt tên người dùng admin hợp lý và mật khẩu an toàn. Bạn cũng có thể chọn từ nhiều theme khác nhau bao gồm Google Material Design, Newspaper và Midnight Black. Khi bạn hoàn tất, hãy nhấn vào nút Install màu xanh lục ở cuối trang.

Bảo mật trình rút gọn URL

Các cuộc tấn công Man-in-the-middle là nỗi kinh hoàng với bất kỳ ai. Bảo mật cài đặt Polr của bạn bằng cách sử dụng Certbot để tìm nạp, cài đặt các chứng chỉ và khóa từ Let's Encrypt.

sudo certbot

Nhập địa chỉ email của bạn khi được yêu cầu và chọn tên bạn muốn kích hoạt HTTPS. Certbot sẽ tìm nạp và cài đặt các key và chứng chỉ SSL từ Let's Encrypt. Bây giờ khởi động lại Apache:

sudo service apache2 restart

Khi bạn load lại trang trong trình duyệt của mình, kết nối với trình rút gọn URL của bạn sẽ được bảo mật. Để rút ngắn URL, chỉ cần dán URL vào hộp văn bản và nhấp vào Shorten. Hoặc nhấp vào Link options để tùy chỉnh liên kết rút gọn.

Nhấp vào Link options để tùy chỉnh liên kết rút gọn
Nhấp vào Link options để tùy chỉnh liên kết rút gọn

Chạy trình rút gọn URL của riêng bạn là một cách tuyệt vời để theo dõi các liên kết bạn thấy hữu ích và những liên kết bạn muốn chia sẻ với người khác. Tuy nhiên, vì trình rút gọn URL của bạn có trên Internet công khai, hãy cẩn thận rằng bạn không sử dụng nó để tạo liên kết đến tài liệu bất hợp pháp, đáng nghi vấn về mặt đạo đức hoặc vi phạm bản quyền.

Công cụ rút gọn URL chỉ là một trong nhiều dự án liên quan đến Internet mà bạn có thể chạy trên Raspberry Pi. Những thứ khác bao gồm khả năng lưu trữ thư viện ảnh của bạn, trình quản lý mật khẩu và thậm chí là một máy chủ lưu trữ đám mây cá nhân với nhiều ứng dụng hữu ích.

Thứ Bảy, 24/09/2022 11:37
52 👨 1.309
0 Bình luận
Sắp xếp theo
    ❖ Raspberry Pi