自架縮址服務「Yourls」伺服器套件介紹 (Shorten URLs)

隨著 Goolge 公司推出 Goo.gl 與其相關 API 後,縮網址服務越來越被人們接收與使用。雖然不免暗藏駭客攻擊的危險,但是簡潔的網址不論在有文字數量限制的 Twitter 與 Plurk 上貼文,或是公告特定網址時都能讓讀者感到清爽,在資訊傳達上也相當省力方便。

我們家 Mountos Lab 的縮網址服務目前架設在「在我 All On Oon.me」,暫時不開放公眾使用。如果你也想架設一組專用縮網址服務器,「Yourls」組織提供了方便安裝的伺服器套件。今天維德要來跟大家介紹套件的安裝說明,以及相關支援插件的簡單介紹。

縮網址服務可以安裝在「Bluehost1」的共享型伺服器(Shred Server)、虛擬專用伺服器(Virtual Private Server)和專用伺服器下(Dedicated Server)下。然而,由於有大量惡意程式會試圖利用你的縮網址服務,我建議可以獨立一個空的伺服器作為專用,便宜的共享型伺服器就是不錯的選擇。

如何架設 Yourls 縮網址服務:

首先,你必須擁有一個 Apache / Nginx 網頁伺服器,可以在「Bluehost」或是「Namecheap」購得,買最便宜的就好,除非你打算開放給幾百幾萬人使用。

在「Yourls Download」下載最新版本的套件檔案(1.7.1),解壓縮存放到伺服器預設的網頁目錄下(例如 Apache 原始目錄位在 /var/www)。一般來說可以全部解壓縮到網頁原始目錄下,或是將所有檔案解壓縮網頁目錄下的套件資料夾後,再透過 .htaccess 指向該資料夾。

接著,進入解壓縮出來的 User 目錄,將 Config-Sample.php 修改成 config.php,並且「至少」修改下列四項參數(需要先在伺服器設定 MySQL 資料庫):

define( 'YOURLS_DB_USER', 'DB_USERNAME' );
define( 'YOURLS_DB_PASS', 'DB_PASSWORD' );
define( 'YOURLS_DB_NAME', 'DB_NAME' );
define( 'YOURLS_SITE', 'http://DOMAIN_NAME' );

只要完成上述設定,第一次登入「http://DOMAIN_NAME」時會出現安裝說明頁面,只要點選畫面中的「Install」按鈕,Yourls 就會開始自動設定並進行安裝。

如果所有設定都正確,接著開啟「http://DOMAIN_NAME/admin」網址,就會進入如下圖一所示的 Yourls 控制後台管理介面。

Shorten-Shrink-URL-Service-Interface-of-Yourls

圖一,Yourls 管理介面。

在上圖一中,我們能發現管理介面是由左上方的「選單」、中間位置的「網址輸入」以及佔據畫面下面大部分空間的「網址對應列表」所組成,整體組成元素相當簡單清爽。

Yourls 快速加入工具(書籤按鈕)

Yourls 提供兩個工具,分別是「書籤按鈕」以及「網址前綴」,這是我認為比起 Goo.gl 來得更好用的原因(不需要靠瀏覽器的延伸工具)。

所謂書籤按鈕指的是如下圖二的書籤列上的那顆按鈕,只要在瀏覽網頁時點選該書籤按鈕,我們架設的縮址服務就會自動運作,並建立對應的縮網址。

Yourls-Bookmarklets-Tools-Button

圖二,書籤按鈕。

最棒的建立這顆書籤按鈕非常簡單,只要進入 Yourls 縮網址服務的控制後台(http://YOUR-DOMAINNAME/admin/),點擊左上方選單的「Tools」選項,就能看到如下圖三所示的縮址工具列表。

Yourls-Bookmarklets-Tools

圖三,縮址工具。

另外,網址前綴的說明雖然也在同一個「Toole」頁面中,但是不需要特別設定就能直接使用。使用方式是在一般正常網址前方(包括 http:// 或 https://),直接加上我們架設縮址服務的網址。正確網址範例如下:

http://oon.me/http://www.vedfolnir.com

Yourls 縮網址服務推薦插件:

Yourls 縮網址服務具有加強功能用的插件(Plugin)支援,在 Admin 管理頁面中,點選「Manage Plugins」選項進入插件管理頁面(如下圖四所示)。

每一項插件後方的「Action」欄位都能直接啟用(Activate)或關閉(Deactivate)該插件功能。

Yourls-Manage-Plugin

圖四,插件管理。

所有 Yourls 插件都被收錄在 GitHub 網站中,大家可以輕易在「Plugin List」列表中找到所需插件。下面七項是維德一樣一樣看過後認為比較有用的幾個插件,有需要的人可以參考看看。

  • 302-instead:將縮網址轉址由 301 改為 302 轉址(避免 SEO 權重被分散)。
  • Mass Remove Link:可使用條件(日期、IP位址)大量刪除縮網址。
  • multi-user-yourls:可自由新增使用者(我自己沒試過,不過看起來蠻有用,做個紀錄)。
  • Qrcode Plugin for Yourls(或 Qr Google Charts):縮短長網址時順便產生 QR Code。
  • Random Keywords:這是我個人極度推薦的插件,可以亂數產生縮網址代碼(原始程式只會從 1 開始往下數)。
  • Yourls-Memcached:適用多網站伺服器,可減輕硬體負擔(未用過)。
  • Upload and Shorten:可以在 Yourls 後台上傳檔案,並生成對應的縮網址,相當有趣的應用。

安裝 Yourls 插件的說明

上一階段提到啟用與關閉插件的方法,但是要如何新增插件呢?

新增插件的第一步,我們需要進入伺服器,找出文章前面提到安裝 Yourls 縮址服務的網頁目錄(例如 Apache 原始目錄位在 /var/www)。

第二步,進入該目錄下的 user 資料夾,再進入 plugin 資料夾。plugin 資料夾中存放所有插件所需的檔案。

第三步,在 plugin 資料夾下,新建一個資料夾(指令:sudo mkdir FOLDER_NAME),資料夾名稱請直接填寫插件名稱即可。

第四步,進入新建的資料夾,建立一個名為 plugin.php 的文件檔(指令:sudo nano plugin.php)。

第五步,從上一階段介紹的「Plugin List」插件列表中,找到符合自己所功能的插件。接著點開該插件連結,將網頁上顯示的 plugin.php 程式碼直接複製貼上我們在第四步中新建的 plugin.php,就可以儲存後離開。

第六步,回到 Yourls 控制後台的插件管理,這時候應該就能看見新增的插件,只要直接啟用該插件就能正常使用新服務。

使用 Yourls 自架縮網址服務的壞處

前面提到自架縮網址服務有許多好處(至少心裡爽度),但是壞處也不少。因為多了一項網路服務代表被惡意騷擾的機會也大。

以 Yourls 來說,可以將縮址服務採用用戶登入方式進行作業,也可在 /user/config.php 中把隱私保護關閉。但是一旦將縮址服務公開在網路上,緊接而來的就是大量病毒程式會自動申請短網址。而且不管裝了哪一套防止攻擊的插件都無法阻止這些惡意侵害,加上大量註冊短網址也意味著伺服器處理程序會被佔用,進而影響伺服器效能。

另外,許多插件已經是多年前釋放出來(看過最久的是五年),有些插件功能已經被新版 Yourls 內化,有些則是一點用處都沒有。請謹慎評估自己需要的插件功能。

2016.02.01 補充:使用 Yourls 需要小心設定 Apache Web Server,使用太先進 Web Template(例如:phpfcgid)時可能會陷入無限循環的錯誤中(例如一直要你重新 Install),目前錯誤的原因不清楚,但只要分開設定不同的 Web Template 即可。另外,如果後來才設定 php.ini 也可能導致錯誤(暫時抓不到bug)。

延伸閱讀

  1. Bluehost 伺服器供應商。
  •  
  •  
  •  
  •  
  •  
  •  

說些什麼吧

您也許也會喜歡…