建立自己的短網址服務 - 使用 YOURLS - 在 CentOS 環境

  • 9410
  • 0

摘要:建立自己的短網址服務 - 使用 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 :