2016年11月10日 星期四

ApacheDS (apacheds-2.0.0-M23)

雖然 studio 看起來很方便,不過實際應用上,是不太會那樣子用啦一.一a...
不過把他當做一個 UI/Manager/Client 之類的,應該是還不錯....

其實重點是要試單純的這個 ApacheDS ~囧/
http://directory.apache.org/apacheds/
要非常注意在使用的版本,因為麻...現在是一個非常不穩定的版本樣子,拿官網上的範例貼全都會有問題(連package 都搬家了,class name/method 改名(還好勉強可以看出一點端倪,關鍵字還有),看文件簡直是猜猜樂~你說呢|||Orz...)...想起以前去拿 hadoop 1.0 剛出來時,也是超級白老鼠,連default跑起來都有問題T_T...

這包的下來,基本上就是一個完整的 osgi server...
因為用途的關係,我直接用 zip...
http://directory.apache.org/apacheds/downloads.html

Download Archive zip/tar.gz
Download Download Sources

(source code 解開後,是很大包的 maven project set,唉,雖然現在的project都弄成這麼複雜,不過說真的 import 起來是相當的方便就是~不過因為他這版本功能不穩定,所以 source code 是非常需要的,除非剛好裡面的你都能用,完全不客制...)

把 zip 解開就是一個 osgi server...
執行
apacheds-2.0.0-M23\bin\apacheds.bat
就很快樂的跑起來(都不打參數,就是 default instance start)...
有興趣的就去看看他的 shell 檔在寫什麼就知道
console 上會一直提醒,要去改安全性...不過因為是 init,所以先試著做完設定後再關起來吧~

然後可以去看他資料夾底下,開始有生資料出來了,不然一開始超空的!只有資料夾結構~
apacheds-2.0.0-M23\instances\default\**
看資料夾就也蠻好認的就是, 通常就是去看 log..log是用log4j,設定檔是放在  conf 下~
partition 裡就是重要的實體資料檔。聽說可以用 copy的,原本想去把 studio 裡 server的資料 copy過來用,懶得再建,但發現 studio 裡的 檔名路徑長度超過了 win 的長度...GG...只好乖乖的再重打...

他 instance 是可以指定的,如果 instance 不存在的話,

就會建一組 default 設定起來,然後在檔案結構下多一個資料夾,蠻好區分的,只是就是之後打啟動指令,要指定 instance 的名稱,ex:
 apacheds-2.0.0-M23\bin\apacheds.bat test1
另外就是,資料夾生出來後,要自己手動去 copy 一下 log4j.properties,可以直接從 default 的 conf 那邊 copy過來就好了...反正他會吐訊息出來,所以倒也還好找~是說他就也會忽略這問題,然後就不寫log了....


然後當然是用 studio 來連一下
LDAP -> New Connection
建一個自己設定的 Connection...然後因為再那邊東按西按,已經建好了就是這樣一x一|||
(一開始打錯,也可以在去 connection 的 properties 改一改重連就可以)

沒透過修改的話,原ApacheDS的設定就是
port 開 10893
 還有因為好像這版沒有 default 的 admin 密碼,所以就是先用不認證的方式進來改 admin...

連接成功後,就可以看到內容了~
基本上除了建 partition 很有問題外~建人跟底下的項目,測試起來是還ok啦。
(這項應該就是 studio 的 問題,他常在寫 conf 時會出錯,但是要修正也是以後的事了@@,反正只是 client 的關係,這邊是 server,所以就先當client的問題不是問題)

另外 studio 配的 ApacheDS 的版本也是有配套限制的~
當下因為看 studio M10 有些問題,想說studio 退版,拿到M8的(不知道為啥沒看到 M9),connection 馬上 GG...所以還是就先目前的配套將就使用...
(是說,連安裝包的樣式看起來好像也不太一樣,應該是有大改)

是說 studio M10 是,也有點OX,他目前裡面的 servers 只能內建,不能指定外server,bug也一大堆(虧他上面還標啥最好的應用之類的),只能說還不成熟,只是在開發時,加減用應該也是可以...(工程師的一堆莫名成就感就來自這種有的沒的問題,就當增加信心吧Orz...)

正常的 shutdown ,應該是可以透過 cmd 來下的~
 apacheds-2.0.0-M23\bin\apacheds.bat test1 stop
或是 在原本的 console 上 ctrl+c 也可以~

總之,只要原本的 console 停下後就是有正常 shutdown了~

其指令,預設就是,第一個參數 是 instance name(folder name),第二個是行為
有 start/stop/repair...(是說怎麼知道的,就是看到 source code 才知道的阿Orz..)

至於指令明明是下 stop...但看到echo start 嗯,就不要研究這麼多了,工程師在趕時間的時後,都會出現很多奇妙的東西!



沒有留言: