幾天開始測試OOo是否支援轉換NFS服務端的檔案。
NFS端:168.168.9.11
OOo端:168.168.5.139
因為要讓OOo訪問檔案時猶如訪問本機檔案一樣,包括路徑都一樣,那麼就要要保證NFS用戶端和服務端配置的路徑是一樣的。
我的NFS服務端的exports檔案是:
/home/syniapp 168.168.5.139(no_root_squash,rw,sync) *(ro)
用戶端掛載的命令是:
sudo mount -t nfs 168.168.9.11:/home/syniapp /home/syniapp,這樣就保證了/home/syniapp目錄下的檔案路徑在兩台機子之間是一樣,當然,用戶端必須先建立好syniapp檔案夾。
接下來進行測試,NFS端跑了WEB應用程式,調OOo端(另一台linux機子)的Openoffice服務。
其中NFS端串連Openoffice服務採用的IP和連接埠是OOo端的IP和連接埠(8100),OOO端的啟動命令如下:
(進入OOo安裝目錄下的program檔案夾) ./soffice -headless -nofirststartwizard -accept="socket,host=0,port=8100;urp;StarOffice.Service"
測試1:
報異常:
conversion failed: could not save output document; OOo errorCode: 283
懷疑是許可權的問題,在OOo端訪問掛載進來的NFS端的目錄:/home/syniapp,進入要寫資料的那個檔案夾,然後試著存一個檔案:vi aa.txt 發現無法儲存!
明顯,使用權限設定有問題。
解決:
在NFS端把home/syniapp 的許可權改為777,測試後包同樣的異常,想想OOo的使用者的uid和gid和NFS端的都不一樣,如果改成與NFS端相同的可不可以呢?
(以下命令憑記憶寫,可能不太準確)
1、建立一個使用者:
sudo useradd syniapp
passwd syniapp
查看uid和gid:
id -u syniapp
1002
id -g syniapp
1002
不同NFS端的500,於是改:
sudo usermod -u 500 syniapp
sudo groupmod -g 500 syniapp
最後發現可以寫入了,oh yeah!
可成功調用另一台機子的OOo轉換檔了,出現了亂碼,後續解決~~
小睡10分鐘吧....