:::

ownCloud結合SFTP規劃 / Integrate SFTP to ownCloud

ownCloud結合SFTP規劃 / Integrate SFTP to ownCloud

2014-07-28_212156

ownCloud不僅可以使用網頁管理介面與客戶端軟體來管理儲存在雲端空間的檔案,更可以使用外部儲存支援(External storage support)來連接SFTP,讓管理檔案更加方便。

In ownCloud, user can use not only web interface and client, but also SFTP to manage their files. This article described how to integrate SFTP service in ownCloud.


ownCloud介紹 / ownCloud Introduction

ownCloud是一個開放原始碼的雲端儲存空間服務軟體,以PHP與MySQL運作,可提供類似Dropbox的雲端儲存空間服務。而這個空間大小可由自己的伺服器架設,自己伺服器的硬碟有多大,可以存放多大的資料。ownCloud帳號管理上也非常方便,也可支援LDAP。此外,ownCloud更可安裝多種應用程式(Apps),例如可在onwCloud直接編輯文字的Text Editor,或是檢視現在儲存空間使用狀況的ocDashboard

安裝ownCloud記事 / Install ownCloud Memo

2014-07-28_220140

在安裝上,可選擇從TurnKey Linux下載直接可以使用的ownCloud來架設。不過目前TurnKey ownCloud使用的是4.5.7,上傳以中文名稱開頭的檔案會有問題。後來我們把它更新成ownCloud 6.0之後就能解決這個問題。

難以管理大量檔案的缺點 / Disadvantage: Files Management

原本我打算是使用ownCloud來取代FTP軟體,但是事實上並沒有這麼美好。

ownCloud的網頁管理介面讓人容易上傳、分享與下載,這點毋庸置疑地勝過了FTP。但是當檔案數量一多,或是要上傳的檔案越來越大的時候,ownCloud管理上就會變得非常麻煩。具體來說,ownCloud管理上的缺點包括了:

無法移動已經上傳的檔案 / Cannot Move Files

原本的ownCloud是不能移動已經上傳檔案的位置,只能刪除後重新上傳。ownCloud也不支援多重選取,在管理大量檔案上是很不方便的。

2014-07-28_191509

幸好這個問題可以安裝Files Move應用程式來解決,詳細請看我另外一篇的介紹

上傳大型檔案難以成功 / Hard to Upload Huge File

image

儘管4GB的檔案可以成功,但是20GB的檔案似乎會上傳失敗。因為瀏覽器在上傳檔案的功能上並不一定支援這麼大的檔案,相對的,使用FTP上傳就很妥當,還可以支援續傳。

難以下載多個檔案 / Hard to Download Many Files

2014-07-28_220115

雖然ownCloud可以支援打包下載:將多個檔案壓縮成一個zip檔案提供下載。但是當資料夾檔案數量龐大,或是檔案本身就很大的時候,打包下載很容易失敗。

由上述可知,ownCloud其實還是有很多缺點,管理大量檔案上還是FTP比較方便。但是多虧ownCloud提供了多種的應用程式功能,讓ownCloud可以結合SFTP一起使用,讓我們來看看如何操作吧。


ownCloud整合SFTP規劃

2014-07-28_221510

上圖是我的規劃做法。1到3是配置,4跟5是使用,都在同一台Linux伺服器上運作。

  1. 在伺服器上安裝好ownCloud。
  2. 在伺服器上建立一個帳號,叫做sftp。Linux帳號管理請參考鳥哥
  3. 設置ownCloud的外部儲存,讓所有ownCloud使用者都能上傳檔案到sftp的空間。
  4. 使用ownCloud網頁管理介面或是客戶端軟體來管理。
  5. 以SFTP連線到sftp的帳號空間來管理軟體。

以下談論這個做法的細節。

外部儲存設定 / External Stroage Support

ownCloud本身結合外部儲存空間,將之視為一個資料夾,整合到ownCloud的檔案管理介面中。

支援的類型包括了:

  • Local (本機儲存空間)
  • Amazon S3
  • Dropbox
  • FTP
  • Google Drive
  • OpenStack Object Storage
  • SMB/CIFS
  • ownCloud/WebDAV
  • SFTP
  • iRODS

在本例中,由於sftp帳號的預設家目錄會設置在 「/home/sftp」 ,所以我們也只需要連接到此本機儲存空間即可。

做法是:

  1. 以系統管理員的身份登入ownCloud網頁管理介面。
  2. 在「應用程式」中,啟用External Storage Support2014-07-28_212351
  3. 進入「管理」
  4. 到外部儲存,設定如下:
    資料夾名稱:sftp
    增加儲存區:Local
    設定:/home/sftp
    可用的:所有使用者
    2014-07-28_222817
  5. 這樣子所有使用者底下就會出現一個共用的sftp資料夾了。
    2014-07-28_222143
以SFTP連線到sftp資料夾

這個資料夾可以用SFTP連線方式直接登入sftp帳號來連線。舉例來說,一般連線設定如下:

  • 主機名稱:owncloud.example.org
  • 連接埠:22
  • 帳號:sftp (剛剛設定的)
  • 密碼:(剛剛設定的)

至於連線方式,可以參考我另一篇SFTP連線設定教學

2014-07-28_223824

連線上去之後會直接進入到sftp資料夾當中。

以SFTP連線必須注意到以下幾點:

  • 以SFTP連線是無法管理到ownCloud的其他檔案,只能管理sftp資料夾底下自己的檔案。但一樣可以使用ownCloud的分享功能。我建議是使用SFTP進行大量檔案的上傳與下載,然後再用ownCloud的Files Move移動檔案到自己的ownCloud空間。
  • sftp資料夾是所有帳號共用的空間,因此不能塞太多東西。
為什麼要用SFTP而不是用FTP呢? / Why SFTP?

本文選擇使用SFTP來連線,而不是使用傳統的FTP。主要理由如下:

  • 因為FTP要另外架設FTP伺服器才能運作,SFTP則是Linux預設提供的連線方式,建立帳號即可使用,比較方便。
  • FTP難以在NAT的環境下提供服務,SFTP比較簡單一點。
  • FTP比較快,但是SFTP比較安全。

我個人大多使用SFTP取代原本的FTP,越來越少用FTP了呢。


結語:也可以用WebDAV網路磁碟機 / Conclusion: Try to use WebDAV

2014-07-28_225133

ownCloud本身也提供了WebDAV網路磁碟機的功能,可以直接掛載在Linux、MAC、Windows上,操作操作說明請看此文件

如果可以使用WebDAV來連線的話,就可以用熟悉的Windows介面來管理ownCloud檔案,當然會比SFTP來得方便許多。

雖然我Windows 7不知為何都連不上WebDAV,但是Windows XP倒是簡單地就連上了。真是奇妙。

2014-07-28_230002

有機會研究出來再跟大家分享吧。

(more...)

ownCloud安裝檔案移動(files_mv)應用程式 / ownCloud Install Files Move (files_mv) App

ownCloud安裝檔案移動(files_mv)應用程式 / ownCloud Install Files Move (files_mv) App

2014-07-28_191509

ownCloud是一個類似Dropbox的雲端硬碟開放原始碼服務軟體,以PHP搭配MySQL架設,特別適用於Linux環境。ownCloud 6.0的網頁使用介面並沒有提供檔案搬移的功能,但是可以透過安裝Files Move (files_mv)應用程式,讓使用者可以在網頁使用介面中直接搬移檔案。

ownCloud is an opensource software which provide a cloud storage service like Dropbox. In ownCloud 6.0, user cannot move files in web interface. But you can install Files Move (files_mv) app to provide this function.


STEP.1 下載flies_mv外掛 / Download files_mv App

2014-07-28_192217

2014-07-28_192006

下載之後會得到一個zip壓縮檔,解壓縮後獲得一個資料夾名為「oc_files_mv-master」,底下有ajax、appinfo等5個資料夾。

2014-07-28_192603

接著請重新命名該資料夾為「files_mv」以免遇到無法啟用應用程式的問題

STEP.2 上傳files_mv檔案 / Upload files_mv Files

2014-07-28_192856

請上傳到你ownCloud安裝資料夾底下的apps資料夾。

如果你的ownCloud安裝在 /var/www/owncloud 底下,那麼上傳路徑就是 /var/www/owncloud/apps/底下。

STEP.3 啟用files_mv / Enable files_mv App

[Oc登入畫面]

接著請開啟ownCloud的網頁使用介面,並以管理員(Administrator)群組中的身份登入OwnCloud。

2014-07-28_193046

到左下角進入應用程式管理介面。

2014-07-28_193441

找到Files Move,進入Files Move設定畫面,按下啟用(Enable)按鈕。

2014-07-28_193655

如果出現以下錯誤訊息:

「An exception occurred while executing 'INSERT INTO `oc_appconfig` ( `appid`, `configkey`, `configvalue` ) VALUES( ?, ?, ? )': SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'appid' cannot be null」

表示你的資料夾名字未正確命名為「files_mv」,請仔細檢查。詳細請看我另一篇的介紹

2014-07-28_193803

完成安裝

2014-07-28_193312

啟用完成之後,Files move會移動到上方,跟其他已經啟用的應用程式放在一起。

2014-07-28_191509

回到檔案列表,你就可以看到檔案右邊功能多出一個「Move」按鈕。點下去之後,就可以指定要移動的路徑,可以手動輸入路徑,或是從下拉選單中所列出的目錄選取。最後再按下「Move」按鈕就可以開始移動。

如果檔案很大的話,移動會花上比較長的時間。它不會提示移動進度,請耐心等候。

儘管Files Move (files_mv) 並不若一般Windows檔案管理介面那樣好操作,但總比無法搬移檔案的好,免費的軟體就加減用吧!

(more...)

ownCloud啟用應用程式錯誤處理 / ownClound Enable App Error

ownCloud啟用應用程式錯誤處理 / ownClound Enable App Error

2014-07-28_193655_thumb

ownCloud中啟用應用程式(App)時如果顯示錯誤訊息。表示應用程式的資料夾名稱未正確設定。請參考[App]/appinfo/info.xml中的<id>來設定資料夾名稱。

If you got error message when you want to enable an app in ownCloud, you should rename your app’s directory name following the info.xml.


啟用應用程式的錯誤訊息 / Enable App Error Message

我在安裝Files Move應用程式 (App)中最後一個步驟遇到了以下錯誤訊息:

An exception occurred while executing 'INSERT INTO `oc_appconfig` ( `appid`, `configkey`, `configvalue` ) VALUES( ?, ?, ? )': SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'appid' cannot be null

我發現很多人都有這個問題,而根據ownCloud論壇中Rancor的說明,應該要參考info.xml來設定應用程式的資料夾名稱。

應用程式的資料夾名稱 / App’s Directory Name

2014-07-28_192006_thumb[1]

一般從ownCloud下載的應用程式,其資料夾名稱都需要調整。例如Files move應用程式下載後的資料夾名稱為「oc_files_move-master」,這時候需要參考應用程式資料夾底下的[App]/appinfo/info.xml的設定來修改。

info.xml的ID設定 / ID Configuration in info.xml

根據ownCloud論壇中Rancor的說明,資料夾名稱應該參考info.xml。

2014-07-28_194925

上圖是Files Move的info.xml,注意到<id>files_mv</id>這一段設定,代表資料夾名稱應該是files_mv

重新啟用應用程式 / Enable App Again

2014-07-28_193312_thumb[2]

接著再重新讀取網頁,然後重新啟用應用程式。這樣子應該就可以正常啟用應用程式了。

(more...)

Note系列的多重視窗管理器 Multi Window Manager (Phone) / Multi Window Manager for Note Devices

布丁布丁吃布丁

Note系列的多重視窗管理器 Multi Window Manager (Phone) / Multi Window Manager for Note Devices

image

Multi Window Manager (Phone)這個APP可以讓你自訂Samsung Galaxy Note系列多重視窗可以使用的APP,讓你真正可以用多重視窗一次開啟兩個任何的APP。不過使用Multi Windows Manager必須root。推薦Samsung Galaxy Note系列使用者安裝。

If you have Samsung Galaxy Note devices, you can use Multi Window Manager (Phone) to configure your multi window setting. With Multi Window Manager (Phone), you can use more Apps with multi window.


Note系列的多重視窗功能 / Multi Window

20140723 [BLOG] Multi Window Manager - 6

我自己使用了Samsung Galaxy Note 8平板電腦,這臺平板電腦的特色之一就是具備了多重視窗的功能。多重視窗可以讓我一邊讀論文,一邊上網查詢其他事物。一般的手機一次只能顯示一個APP畫面,而多重視窗則可以活用平板的大螢幕,工作效率可以高很多。

可惜Note系列預設允許放入的APP不多,除了Google的Chrome地圖之外,剩下就是Note內建的APP。Android的使用者當然都有自己喜歡的APP。以我來說,瀏覽器我喜歡用Firefox、檔案管理我用ES文檔瀏覽器。但是這些都不被多重視窗所支援,只能像一般的手機一樣,用整個畫面開啟一個APP。

但是後來發現,其實有很多Note系列的使用者在修改多重視窗的設定,讓Note系列的多重視窗可以使用更多APP。

多重視窗管理器 / Multi Window Manager

image

Multi Window Manager (phone) 簡稱MW Manager,可以用來簡單地重新修改多重視窗可以使用的APP清單。MW Manager是使用Xposed框架的一個模組,而要使用Xposed框架則必須先經過root。因此在此我也順便整理一下Samsung Galaxy Note 8的安裝方式。

安裝設備:Samsung Galaxy Note 8 / Device: Samsung Galaxy Note 8

Screenshots_2014-07-23-20-34-55

我這臺Samsung Galaxy Note 8是有3G模組的GT-N5100,Android版本是4.1.2。

1. 取得Root權限 / Root Device

其實這臺我買來不久就Root了,可是我已經忘記當初是怎麽做的,大概是因為做法簡單到讓我沒有留下深刻的印象吧。所以這個Root的部分就拿DavidGuo在Mobile01分享的「(10/23) Note 8.0 root 心得分享」來做參考,重點摘錄如下:

  1. 先確定您的版本,3G版型號為N5100,Wifi版型號為N5110,LTE版型號為N5120。
  2. 下載CF-root檔案:到CF-Auto-Root官網找到自己的型號下載。若懶的找的話,鏈接在此:
    1. 3G版Wifi版 
    2. 布丁備份:3G版Wifi版
  3. 下載完後解開它,會有三個檔案。
  4. 關機後。按著「Power+Home+Vol Down」進「Download Mode警告畫面」,再按一下「Vol Up」真的進入Download Mode(此畫面也可以看你刷過幾次機。)
  5. 接下來執行Odin(在剛剛解開的檔案中), 點「PDA」,讀入剛剛的tar.md5檔,接下來按下Start就OK了。

Note 8的root不需要鏈接電腦,操作挺簡單的,也感謝CF-Auto-Root製作的強大工具啊。

2. 下載Xposed框架APK檔案 / Download Xposed Framework APK

挨踢路人甲日前介紹了Xposed框架,他的教學非常完整。附帶一提,挨踢路人甲這篇也同時介紹了Xposed框架中強大的GravityBox,我的Sony Xperia TX用它開啟了很多很棒的功能,未來有機會我再介紹GravityBox。

回到正題,Xposed框架並沒有在Google Play上架,必須到XDA下載Xposed installer:

3. 安裝Xposed框架 / Install Xposed Framework

下載並安裝之後,接著開啟Xposed Installer。

20140723 [BLOG] Multi Window Manager - 4 annotated

然後到 框架 中,點下「安裝/更新」按鈕。Xposed框架會跳出警告,確認安裝並等待一陣子之後,Xposed框架會顯示安裝完成,並要你重新啟動。但我們現在先不重新啟動,之後MW Manager模組設定完之後也需要重新啟動,倒時候再一併重新啟動就好,現在先退出Xposed吧。

4. 安裝Multi Window Manager / 4. Install Multi Window Manager

2014-07-23_210559

Xposed框架本身並沒有在Google Play上架,但是他很多模組都可以在Google Play下載,MW Manger也是其中一個。

請下載並安裝吧。

5. 啟用MW Manager模組 / Enable MW Manager Module

剛安裝完的MW Manager並無法立即生效,還必須先在Xposed框架中啟動才行。

image

請開啟Xposed Installer,到「模組」中,按下「MW Manager」(如上圖所示)右邊的核取框,啟用MW Manager。

然後我們再按下MW Manager的圖示,進入MW Manager設定。

6. 設定MW Manager / MW Manager Setup

20140723 [BLOG] Multi Window Manager - 2- Annotated

進入MW Manager之後,你會看到一長串你安裝的APP清單。接著,請你把想要在多重視窗中使用的APP右邊的核取方塊打勾。例如超級任天堂模擬器Snes9x EX+

勾選完成之後,再按下右上角的儲存圖示 image儲存。

image

跳出這個對話框時,表示儲存完成,然後請按下「Reboot」重新啟動即可。

註:預設MW Manager安裝後使用的是白色主題,拍攝這張圖片的時候,我已經啟用了暗色主題,所以看起來跟剛安裝好之後有點不一樣。

7. 完成 / Completed

Screenshots_2014-07-23-19-04-17 - a

這時候打開多重視窗的編輯功能時(可參考3C布政司中axiang1980的介紹「讓GALAXY Note II更強的「多重視窗」功能來了!LJA版韌體更新與使用心得分享!」),就可加入剛剛設定的APP囉。

20140723 [BLOG] Multi Window Manager - 7

於是像這樣子用下視窗玩遊戲、用上視窗查詢遊戲攻略,也變得相當容易了!


結語:Note 8助我良多 / Conclusion: Thank You, Note 8

DSC_0518

這臺Note 8我是在臺灣剛上市不久的時候買下來的,直到現在,我依然覺得這是一臺很好用的平板電腦。

20140311 婷芸的標註地圖草稿_02

Note 8並非只有平板的大螢幕,它8吋的大小也很適合拿在手上與放入包包中,更重要的是它具備了一下兩個功能:

  • S Pen觸控筆:我已經非常習慣使用S Pen規劃筆記,還有上面的截圖也都是用S Pen操作,非常方便。
  • 多重視窗:就是上面介紹的東西。

今天總算開啟了多重視窗原本的限制,讓我能夠更加活用多重視窗的功能,真是感動。

不過我今年年初推薦了朋友購買了這臺,結果到後來讓朋友都在上網看漫畫跟影片,這好像是另一個令人擔心的缺點啊……

(more...)

修復Android手機無聲的問題 / Android Phone No Sound Problem Repair

布丁布丁吃布丁

修復Android手機無聲的問題 / Android Phone No Sound Problem Repair

20140721_174009

當Android手機的電話無法從聽筒聽到聲音,卻可以用擴音聽到聲音時,很有可能是因為耳機偵測錯誤造成的問題。此時只要重新插入、拔出耳機,就能夠修復這個問題。

When you can not hear sound from your Android phone and you can use amplifier to play sound, it may be caused by  the headphones incorrectly detected problem. To repair this problem, you can use a headphone to plug in and unplug.


聽筒無聲的問題 / No Sound Problem

今天我接到電話時,我完全聽不到對方的聲音。幾經測試之後,發現我的Android 4.1 (Sony Xperia TX)手機不論是撥號還是接聽,對方的聲音完全是聽不見。我的聲音可以傳遞給對方,表示麥克風正常。若是按擴音,也可以聽到對方的聲音。我試著開機,但是問題仍舊相同。因此這可能也不是軟體的問題,而是內建聽筒的問題。

Android這種智慧型手機有個特色,就是能夠偵測耳機是否插入,決定聲音的輸出是要從內建聽筒、擴音器還是耳機輸出孔。雖然當時我並沒有插著耳機,但是我平時很常使用耳機聽音樂,這可能導致Android耳機偵測誤判了。

修復耳機偵測錯誤的問題 / Repair Headphones Incorrectly Detected Problem

我使用以下的方法修復,做法很簡單。

  1. 找一個耳機,插到手機上。若耳機正確偵測,通知欄會出現手機的圖示。
    20140721_174437
  2. 拔出耳機,確認通知欄的耳機圖示消失,表示解除耳機模式。
    20140721_174514

這樣子再打電話就有聲音了。

我看網路上大家都是打到客服去問,結果受到的答案不是重開機就是回覆原廠設定,事實上只要找個耳機重新插入就能解決問題,請不要這麼大費周章喔。

(more...)

適合程式碼的等寬字型 M+ 1m / The Monospaced Font for Programming: M+ 1m

布丁布丁吃布丁

適合程式碼的等寬字型 M+ 1m / The Monospaced Font for Programming: M+ 1m

image_thumb

日前在Linuxeden上看到了關於「最佳编程字体:M+」的介紹,不過原本M+ FONTS網站中並沒有提供Windows的安裝方法,後來我是在FONT SQUIRREL找到可安裝的「M+ 1m」字形檔案。其中我覺得「M+ 1m medium」看起來最順眼,在此跟大家分享。

Based on Tom MacWright's recommend , I try to use M+ font for programming. The monospaced fonts in M+ fonts is “M+ 1m”. You can download M+ 1m from Font Squirrel.


等寬字型與程式寫作 / Monospaced Font and Programming

寫程式的時候大多是在跟英文奮戰,而其中字型扮演著非常重要的角色。英文字型不僅要清晰、容易辨識,更重要的是要讓每一個字都維持在相同的寬度。

舉例來說,傳統文件上常用的Times New Roman是一種比例字型(Proportional Font),套用到XML檔案的結果:

image_thumb2

這篇要介紹的M+ 1m則是等寬字型(Monospaced Font),套用到XML會長得像這樣子:

image_thumb3

你可以發現到這兩種字型有很大的差別。Times New Roman看起來必要美觀、自然,但是因為字卻像是纏在一起一樣,不太容易閱讀;M+ 1m看起來則是清楚許多,因為每個字跟每個字之間都保持寬度,所以也很容易對照上下不同行之間的程式碼。

跟比例字型常用與一般正規單字不同,程式碼的英文字通常會以特殊定義的字句與符號組成,因此閱讀程式碼的時候並不是像一般文章是以單字在閱讀,而是要一個一個字的閱讀。這也就是為什麼程式碼的字型不應該採用Times New Roman這種比例字型,而應該採用像是M+ 1m這種等寬字型。

而原本推薦網頁選用M+的理由在於M+每一個字都壓縮到很小的寬度。同樣寬度的螢幕中,使用M+可以顯示更多的文字。

以下是另一種等寬字體「Simplified Arabic Fixed」的顯示結果,這種字體的寬度比較大,讀起來比較可以喘口氣,但是可顯示的文字也就比較少了。

image_thumb6


M+ 1m字型下載與安裝 / Download and Install M+ 1m Fonts

介紹M+字型的網頁中提供了所有M+系列字型檔案(ttf, True Type)的ZIP壓縮檔,下載網址是:

不過其中僅有M+ 1m系列才是我們要的等寬字型,你也可以在Font Squirrel找到並下載M+ 1m:

下載並解壓縮ZIP檔案(可以使用7z解壓縮)之後,可以看到許多.ttf的字型檔案。Windows安裝ttf字型檔案的方法請看微軟的說明

M+ 1m中還有許多不同寬度的字型可供選擇,依照瘦到胖共有5種字型,個別是「M+ 1m thin」、「M+ 1m light」、「M+ 1m regular」、「M+ 1m medium」、「M+ 1m bold」,差別請看下圖:

image_thumb5

其中我個人覺得「mplus-1m-medium.ttf」看起來比較順眼、辨識度充足,目前我先用這個字型來寫程式看看。

M+ 1m中文支援不佳 / M+ 1m Doesn’t Support All Chinese

但是M+ 1m主要適用於英文、日文跟部分漢字上,套用在中文字上面會有很多缺漏的地方,如下圖中的「檔」、「缺點」、「沒」。

image_thumb7

因此M+ 1m到底好用與否,我還要用一段時間再來評估看看。

(more...)