摘要:建立自己的短網址服務 - 使用 YOURLS - 在 CentOS 環境
這一篇主要是跟大家講,如何自己產出短網址。短網址有兩個要素:1是短的網域名稱、2是以序號/亂數取代完整的路徑。我們將使用「YOURLS」的 php 套件搭配 MySQL 來完成產出短網址的功能。
### 安裝 httpd (Apache) + php + MySQL
### 初步設定 MySQL 帳密
### 下載 YOURLS 解壓縮
### 安裝 YOURLS
### 設定 YOURLS 套件
### 申請網域名稱
-----------------------------------------------------------------
### 安裝 httpd (Apache) + php + MySQL
安裝 Web Server
yum -y install httpd php php-mysql mysql mysql-server
啟動 MySQL
chkconfig mysqld on
/etc/init.d/mysqld start
啟動 Web Server
chkconfig httpd on
/etc/init.d/httpd start
修改防火牆設定
vi /etc/sysconfig/iptables
/etc/init.d/iptables restart
/sbin/iptables -L -n
### 初步設定 MySQL 帳密
MySQL初步設定
mysql_secure_installation
登入 MySQL
mysql -u root -p
建立帳號
insert into user (host,user,password) values ('%','your_account',password('your_password'));
授予權限
GRANT ALL ON *.* TO 'your_account'@your_IP IDENTIFIED BY 'your_password' WITH GRANT OPTION;
刷新權限設定
FLUSH PRIVILEGES;
----------------------------------------------------------------------------
### 下載 YOURLS 解壓縮
官方網站:http://yourls.org/
YOURLS stands for Your Own URL Shortener. It is a small set of PHP scripts that will allow you to run your own URL shortening service (a la TinyURL or bitly).
目前為 1.5.1 版:https://yourls.googlecode.com/files/yourls-1.5.1.zip
zip 壓縮檔在 windows 當然可以簡單用 winzip 或 7-zip 來解,但在 CentOS 你可以用 unzip 來做解壓縮(當時包裝時並沒額外子目錄,建議到某個子目錄去,然後在做解壓縮,免得跟你原本的檔案混在一起)
unzip yourls-1.5.1.zip
### 安裝 YOURLS - - 安裝參考 http://yourls.org/#Install
S1: 複製初始設定檔,然後修改 vi user/config.php 內容,將其修改至你的環境
-1. cp user/config-sample.php user/config.php
-2. vi user/config.php
修改參考:http://yourls.org/#Config
S2: 在 MySQL 建立一個空的資料庫 yourls (這個必須跟 config.php 你所指定的一樣)
修改參考:http://yourls.org/#Config
-----------
-- 比較容易出問題的原因可能出在,你的網站並不是單獨給這個短網址功能所指用,同時間還包含了其他的網頁,那麼「你就不會將 yourls 裝在網頁的根目錄」,這會造成一些問題
注意1:在 user/config.php 裡參數「YOURLS_SITE」,其後的網址必須連帶路徑,
例如:你的 yourls 裝在子目錄「yourls」下,則此變數應設定為 http://your.short.url/yourls ,而且最後不能加上「/」。
注意2:.htaccess 要指定目錄,這個稍後說明
注意3:如果連線短網址時,出現「Internal Server Error」那表示你的 .htaccess 是有錯的
如果路徑指定不對,會連 yourls 的 LOGO 圖都會無法顯示,程式也會出錯
-----------
S3:設定/新增 .htaccess
-1. 修改 vi /etc/httpd/conf/httpd.conf
> 將「AllowOverride None」改為「AllowOverride All」 ,可以用關鍵字 htaccess 尋找位置
> 確認 AccessFileName 是否有指定到「.htaccess」
-2. 增加 /www/html 下的 .htaccess 檔案 - 參考網址:https://github.com/YOURLS/YOURLS/wiki/.htaccess
> Yourls 放在網頁根目錄,檔案「sudo vi /www/html/.htaccess」內容為
# BEGIN YOURLS <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /yourls-loader.php [L] </IfModule> # END YOURLS
> Yourls 放在網頁「特定子目錄」,檔案「sudo vi /www/html/.htaccess」內容為,你要將下面的 somedir 改為你的路徑,例如 yourls
# BEGIN YOURLS <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /somedir/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /somedir/yourls-loader.php [L] </IfModule> # END YOURLS
-3. 重新啟動 httpd ( sudo /etc/init.d/httpd restart )
上述的執行如果一切都正常(httpd重新啟動沒出現錯誤),那你應該會看到類似底下的設定畫面了
連線到「http://your.short.url/admin/」,也就是你的網域名稱後面加上 admin/ 來開始設定
** 開始設定 Yourls 套件 ***
** 通知你資料庫 yourls 裡的資料表建立完成 ***
** 登入你專屬的短網址服務 ***
啥?你不知道你的密碼為何?登登登....
這個的登入密碼是之前修改「user/config.php」裡頭「yourls_user_passwords」參數所指定的,你要在 array 裡寫上你想要設定的帳號與密碼
** 登入後就可以將你想要縮短的網址利用下圖方式來產出 ***
*** 短網址預設為 http://your.short.url/path/[num] ***
### 申請網域名稱
免費當道,就請大家利用 Google 搜尋「網域名稱 免費」,搜尋適當的DNS提供者,或者大家可以利用 TWBBS「http://twbbs.org/」來完成此目的。
Reference :