想要完全掌控自己的短網址系統嗎?本文教你如何使用開源方案從零開始架設專屬的短網址服務,包含伺服器選擇、程式碼部署、網域設定等完整步驟。
為什麼要自架短網址?
完全掌控數據
- 所有數據都在自己手上
- 不用擔心第三方服務關閉
- 符合企業資安需求
無使用限制
- 想建多少個短網址都可以
- 不受第三方服務的額度限制
- 客製化功能
品牌專屬網域
- 使用自己的網域(例如:your-brand.com/abc)
- 強化品牌識別
- 提升專業形象
本文適合誰?
- 有基本程式基礎的開發者
- 想要學習系統架設的學生
- 需要企業內部短網址系統的 IT 人員
技術需求
必備知識
- 基礎 Linux 指令
- 基本 Web 概念(HTTP、DNS)
- 可選:PHP、MySQL 基礎
硬體需求
- VPS 或雲端主機:1GB RAM 起
- 儲存空間:10GB+
- 流量:視使用量而定
軟體需求
- Web Server(Nginx 或 Apache)
- PHP 8.0+
- MySQL 或 MariaDB
- SSL 憑證(Let's Encrypt 免費)
開源方案選擇
1. YOURLS(推薦新手)⭐⭐⭐⭐⭐
- 語言:PHP
- 資料庫:MySQL
- 優點:安裝簡單、插件豐富、中文支援
- 缺點:界面較舊
2. Shlink
- 語言:PHP (Symfony)
- 資料庫:MySQL/PostgreSQL
- 優點:現代化、REST API、統計強大
- 缺點:安裝較複雜
3. Polr
- 語言:PHP (Laravel)
- 資料庫:MySQL
- 優點:介面美觀、開發活躍
- 缺點:需要 Composer
本文以 YOURLS 為例,因為它最適合新手,安裝簡單且功能完整。
步驟 1:伺服器準備
1.1 選擇雲端服務商
- Vultr(推薦,亞洲速度快)
- DigitalOcean
- Linode
- AWS EC2(適合企業)
1.2 建立 VPS
規格建議:
CPU: 1 core
RAM: 1GB
Storage: 25GB SSD
OS: Ubuntu 22.04 LTS
1.3 SSH 連線
ssh root@your-server-ip
1.4 更新系統
apt update && apt upgrade -y
步驟 2:環境安裝
2.1 安裝 Nginx
apt install nginx -y
systemctl start nginx
systemctl enable nginx
2.2 安裝 PHP
apt install php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring -y
2.3 安裝 MySQL
apt install mysql-server -y
mysql_secure_installation
2.4 建立資料庫
mysql -u root -p
執行以下 SQL:
CREATE DATABASE shorturl;
CREATE USER 'shorturl'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON shorturl.* TO 'shorturl'@'localhost';
FLUSH PRIVILEGES;
EXIT;
步驟 3:部署 YOURLS
3.1 下載 YOURLS
cd /var/www
wget https://github.com/YOURLS/YOURLS/archive/master.zip
unzip master.zip
mv YOURLS-master yourls
chown -R www-data:www-data yourls
3.2 設定檔案
cd yourls/user
cp config-sample.php config.php
nano config.php
3.3 修改設定
編輯 config.php,修改以下內容:
define('YOURLS_DB_USER', 'shorturl');
define('YOURLS_DB_PASS', 'your_password');
define('YOURLS_DB_NAME', 'shorturl');
define('YOURLS_DB_HOST', 'localhost');
define('YOURLS_SITE', 'https://yourdomain.com');
3.4 Nginx 設定
nano /etc/nginx/sites-available/yourls
加入以下內容:
server {
listen 80;
server_name yourdomain.com;
root /var/www/yourls;
index index.php;
location / {
try_files $uri $uri/ /yourls-loader.php$is_args$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
啟用設定:
ln -s /etc/nginx/sites-available/yourls /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
步驟 4:網域與 SSL
4.1 DNS 設定
在你的網域註冊商設定:
- A Record:
@→ 你的伺服器 IP - A Record:
www→ 你的伺服器 IP
4.2 安裝 Certbot(免費 SSL)
apt install certbot python3-certbot-nginx -y
4.3 取得 SSL 憑證
certbot --nginx -d yourdomain.com -d www.yourdomain.com
步驟 5:初始化與測試
5.1 訪問安裝頁面
在瀏覽器輸入:
https://yourdomain.com/admin/install.php
5.2 設定管理員帳號
按照畫面指示設定管理員帳號密碼。
5.3 測試功能
- 登入後台
- 建立第一個短網址
- 測試跳轉是否正常
- 檢查統計數據
進階優化(選配)
6.1 Redis 快取
安裝 Redis 提升效能:
apt install redis-server php-redis -y
systemctl enable redis-server
6.2 自動備份
建立備份腳本 backup.sh:
#!/bin/bash
DATE=$(date +%Y%m%d)
mysqldump -u shorturl -p shorturl > /backup/db-$DATE.sql
tar -czf /backup/files-$DATE.tar.gz /var/www/yourls
設定每日執行(crontab):
0 2 * * * /root/backup.sh
常見問題 FAQ
Q: 需要多少成本?
A:
- VPS:每月 $5-10 USD(Vultr、DigitalOcean)
- 網域:每年 $10-15 USD
- SSL:免費(Let's Encrypt)
- 總計:每月約 $6-11 USD
Q: 效能如何?
A: 1GB RAM 的 VPS 可以輕鬆承受:
- 每日數萬次點擊
- 數千個短網址
- 如需更高效能,可升級 VPS 或使用 Redis
Q: 安全性如何保障?
A: 建議做到:
- 使用 HTTPS(SSL 憑證)
- 定期更新系統和軟體
- 設定強密碼
- 使用 fail2ban 防止暴力破解
- 定期備份資料
Q: 可以商用嗎?
A: YOURLS 採用 MIT License,可以商用。但請:
- 保留原作者版權聲明
- 遵守 License 條款
結論
自架短網址系統的優缺點:
優點
- ✅ 完全掌控數據和功能
- ✅ 無使用限制
- ✅ 品牌專屬網域
- ✅ 長期成本較低
缺點
- ⚠️ 需要技術能力
- ⚠️ 需要維護伺服器
- ⚠️ 初期設定時間較長
建議
- 個人/小團隊:使用 KQL.at 等免費服務即可
- 企業/有技術能力:自架系統,完全掌控
- 混合使用:內部用自架,外部用第三方服務
如果你只是想快速使用短網址,不想處理伺服器維護,推薦直接使用 KQL.at,完全免費且功能完整!
延伸閱讀:
