架設 HFS (Http File Server) 伺服器

1、前言

HFS ~ HTTP File Serverrejetto 利用 Delphi 程式語言所撰寫,本軟體非常輕巧 (550 KByte) 且靈活的特色 (Download and upload、Virtual file system、HTML template...),拿來臨時分享檔案也不失為一個很好的解決方案,本次實作為利用 CentOS(OS) + KDE(X-Win) + VNC(Remote Control) + Wine(Run Win program) + HFS(main) 來達成。


HFS (HTTP File Server) 支援特色如下:
  • Download and upload
  • Virtual file system
  • Highly customizable
  • HTML template 
  • Bandwidth control
  • Easy/Expert mode
  • Log
  • Full control over connections
  • Accounts
  • Dynamic DNS updater





文章目錄

1、前言
2、實作環境
3、安裝及設定
          步驟1.安裝 wine 套件
          步驟2.安裝 Chinese Support 群組套件
          步驟3.下載 hfs 軟體
          步驟4.確認語系設定 i18n
          步驟5.設定 wine 使用指定字型 uming.ttf
          步驟6.執行 hfs.exe
4、參考
5、Me FAQ
          Q1.執行 hfs.exe 後無法看到部份文字?





2、實作環境

  • CentOS 5.1 (Linux 2.6.18-53.1.4.el5)
  • hfs 2.2d
  • wine-0.9.52-1.el5.rf
  • Chinese Support (yum groupinstall "Chinese Support")





3、安裝及設定

由於使用預設的 en_US.UTF-8 的話當 wine 執行 hfs 2.2d 時會出現問題 (操作介面有些字體無法顯示),經測試後安裝中文字型群組套件 Chinese Support 及設定 wine 後字體便能正常顯示。

步驟1.安裝 wine 套件

安裝 Wine 套件,以便能在 CentOS 下執行 Windows Program (hfs.exe)。
yum -y install wine    //安裝 wine 套件 (rpmforge)



步驟2.安裝 Chinese Support 群組套件

安裝 Chinese Support 群組套件,以便設定 wine 使用我們安裝 Chinese Support 群組套件的中文字型 (上海新宋字體 uming.ttf)。
yum groupinstall "Chinese Support"    //安裝支援中文化套件
從下列指令可查出安裝 Chinese Support 群組套件便會包含上海新宋字體 uming.ttf。
yum groupinfo "Chinese Support"    //查看群組套件內含哪些套件
yum info fonts-chinese              //查看中文字型套件資訊
rpm -ql fonts-chinese               //查看安裝哪些中文字型




步驟3.下載 hfs 軟體

下載最新版本 HFS (HTTP File Server)
cd ; wget http://www.rejetto.com/hfs/download/hfs.exe



步驟4.確認語系設定 i18n

確定我們的語系設定為 zh_TW.UTF-8
vi /etc/sysconfig/i18n
 #LANG="en_US"                 //預設值 (en_US.UTF-8)
 LANG="zh_TW.UTF-8"            //修改後,使用中的語系

 #SYSFONT="latarcyrheb-sun16"  //預設值
 SYSFONT="lat0-sun16"          
//修改後
若要快速切換使用中的語系,以我使用 tcsh shell 為例可在 ~/.cshrc 加入如下二行來指令語系。
vi ~/.cshrc               //修改 shell 設定檔並加入如下二行
 setenv LANG zh_TW.UTF-8
 setenv LC_ALL zh_TW.UTF-8
source ~/.cshrc           //重新載入 shell 設定

確定使用新的語系設定。
locale
 LANG=zh_TW.UTF-8
 LC_CTYPE="zh_TW.UTF-8"
 LC_NUMERIC="zh_TW.UTF-8"
 LC_TIME="zh_TW.UTF-8"
 LC_COLLATE="zh_TW.UTF-8"
 LC_MONETARY="zh_TW.UTF-8"
 LC_MESSAGES="zh_TW.UTF-8"
 LC_PAPER="zh_TW.UTF-8"
 LC_NAME="zh_TW.UTF-8"
 LC_ADDRESS="zh_TW.UTF-8"
 LC_TELEPHONE="zh_TW.UTF-8"
 LC_MEASUREMENT="zh_TW.UTF-8"
 LC_IDENTIFICATION="zh_TW.UTF-8"
 LC_ALL=




步驟5.設定 wine 使用指定字型 uming.ttf

wine 安裝完成後預設會使用內建的字型,但當我們執行 hfs.exe 會無法看到部份的文字這樣會造成使用上的困擾,經測試使用 Chinese Support 群組套件的中文字型 (上海新宋字體 uming.ttf)後,無論是英文版的 hfs.exe 或中文版的 Chfs.exe 都可正確顯示了。

步驟5-1.備份 .wine 資料夾

如果你之前有安裝過 wine 或相關字型建議先把 wine 本來的資料夾備份起來再修改,或備份起來重建新的 .wine 資料夾。
cp -rp ~/.wine ~/wine.bk ; rm -rf ~/.wine  //備份後刪除
winecfg                                        //重新產生 wine 設定檔案


步驟5-2.複製字型檔案

複製上海新宋字體 uming.ttf 字型檔案至 wine 資料夾。
cp /usr/share/fonts/chinese/TrueType/uming.ttf ~/.wine/drive_c/windows/fonts/uming.ttf  

步驟5-3.修改 wine 設定檔 user.reg

修改 wine 設定檔 ~/.wine/user.reg 來指定 wine 使用上海新宋字體字型,使用 vi 修改可按 Shift + g 來跳到文件最底部,並加入下列內容。
vi ~/.wine/user.reg     //修改 user.reg 加入文件最底部
 Software\\Wine\\X11 Driver
 "ClientSideAntiAliasWithRender"="N"
 Software\\Wine\\Fonts\\Replacements
 "System"="AR PL ShanHeiSun Uni"
 "Arial"="AR PL ShanHeiSun Uni"
 "Fixedsys"="AR PL ShanHeiSun Uni"
 "Microsoft Sans Serif"="AR PL ShanHeiSun Uni"
 "MS UI Gothic"="AR PL ShanHeiSun Uni"
 "Tahoma"="AR PL ShanHeiSun Uni"
 "Terminal"="AR PL ShanHeiSun Uni"
 "MingLiU"="AR PL ShanHeiSun Uni"
 "PMingLiU"="AR PL ShanHeiSun Uni"


步驟5-4.修改 wine 設定檔 system.reg

修改 wine 設定檔 ~/.wine/system.reg 來指定 wine 使用上海新宋字體字型,使用 vi 修改可按 Shift + g 來跳到文件最底部,並加入下列內容。
vi ~/.wine/system.reg
 Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes
 "Arial"="Arial"
 "Arial CE,238"="AR PL ShanHeiSun Uni"
 "Arial CYR,204"="AR PL ShanHeiSun Uni"
 "Arial Greek,161"="AR PL ShanHeiSun Uni"
 "Arial TUR,162"="AR PL ShanHeiSun Uni"
 "Courier New"="Courier New"
 "Courier New CE,238"="AR PL ShanHeiSun Uni"
 "Courier New CYR,204"="AR PL ShanHeiSun Uni"
 "Courier New Greek,161"="AR PL ShanHeiSun Uni"
 "Courier New TUR,162"="AR PL ShanHeiSun Uni"
 "FixedSys"="AR PL ShanHeiSun Uni"
 "Helv"="AR PL ShanHeiSun Uni"
 "Helvetica"="AR PL ShanHeiSun Uni"
 "MingLiU"="AR PL ShanHeiSun Uni"
 "MS Sans Serif"="AR PL ShanHeiSun Uni"
 "MS Shell Dlg"="AR PL ShanHeiSun Uni"
 "MS Shell Dlg 2"="AR PL ShanHeiSun Uni"
 "System"="AR PL ShanHeiSun Uni"
 "Tahoma"="AR PL ShanHeiSun Uni"
 "Times"="Times"
 "Times New Roman"="Times New Roman"
 "Times New Roman CE,238"="AR PL ShanHeiSun Uni"
 "Times New Roman CYR,204"="AR PL ShanHeiSun Uni"
 "Times New Roman Greek,161"="AR PL ShanHeiSun Uni"
 "Times New Roman TUR,162"="AR PL ShanHeiSun Uni"
 "Tms Rmn"="AR PL ShanHeiSun Uni"
 System\\CurrentControlSet\\Hardware Profiles\\Current\\Software\\Fonts
 "LogPixels"=dword:00000060


步驟5-5.修改 wine 設定檔 win.ini

修改 wine 設定檔 ~/.wine/drive_c/windows/win.ini 來指定 wine 字型大小,使用 vi 修改可按 Shift + g 來跳到文件最底部,並加入下列內容。
vi ~/.wine/drive_c/windows/win.ini
 Desktop
 menufontsize=12
 messagefontsize=12
 statusfontsize=12
 IconTitleSize=12




步驟6.執行 hfs.exe

相關設定都完成後便可以透過 VNC 來登入 CentOS,然後利用 wine 來執行 hfs.exe 以下是執行結果 (英文版 hfs.exe 及中文版 Chfs.exe 都 ok!!),至於如何使用 HFS ~ HTTP File Server 就不在多做說明自行體會一下即可,若想使用中文化的 html 模版也可至 HTTP File Server | Jedi's BLOG | Jedi.org 下載即可。

下圖英文版為使用官網 HFS ~ HTTP File Server


下圖中文化版本為使用 阿榮福利味: HFS 2.2d.152






4、參考






5、Me FAQ

Q1.執行 hfs.exe 後無法看到部份文字?

Error Message:
安裝 wine 並執行 hfs.exe 後發現無法看到部份文字 (無論是英、中文版)?


Ans:
測試後發現必須安裝 Chinese Support 群組套件,及設定 wine 使用指定的中文字型 (上海新宋字體 uming.ttf) 即可。