---
# System prepended metadata

title: 搭建 apache felix web console
tags: [Felix, OSGI, Webconsole]

---

# 搭建 apache felix web console
###### tags: `OSGI` `Felix` `Webconsole`
## 安裝felix

http://felix.apache.org/downloads.cgi
下載 felix framework 

本此使用 felix-framework-6.0.2
下載完成後解壓縮到指定目錄
透過cli到路徑下 執行felix (必須要到指定路徑下，不然會無法執行)

```
$ java -jar bin/felix.jar
```

成功啟動後會看到
```
$ java -jar bin/felix.jar 
____________________________
Welcome to Apache Felix Gogo
```

## 安裝web console(all in one)

接下來在felix中安裝 web console
https://felix.apache.org/downloads.cgi
複製url路徑並且install

```
g! install http://apache.stu.edu.tw//felix/org.apache.felix.webconsole-4.3.12-all.jar
```

然後啟動bundle，start時會報錯正常

```
org.osgi.framework.BundleException: Unable to resolve org.apache.felix.webconsole [10](R 10.0): missing requirement [org.apache.felix.webconsole [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.servlet)(version>=2.4.0)(!(version>=4.0.0))) Unresolved requirements: [[org.apache.felix.webconsole [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.servlet)(version>=2.4.0)(!(version>=4.0.0)))]
```

因為缺少一些http server的環境
所以再安裝web console需要的額外三個bundle

1. HTTP Servlet 2.6 + 3.0 API v1.1.2 (felix已經幫我們打包好了)
2. HTTP Service Base  v4.0.6
3. HTTP Service Jetty  v4.0.8

```
g! install http://apache.stu.edu.tw//felix/org.apache.felix.http.servlet-api-1.1.2.jar
g! install http://apache.stu.edu.tw//felix/org.apache.felix.http.base-4.0.6.jar
g! install http://apache.stu.edu.tw//felix/org.apache.felix.http.jetty-4.0.8.jar
```

啟動後可在預設 http://localhost:8080/system/console/bundles 下
登入webconsole 登入帳密 admin / admin

## 設定webconsole

預設值port在8080 登入密碼：admin / admin
到 felix > conf > config.properties 修改

```
org.osgi.service.http.port=8888  //http port
felix.webconsole.password=25153738 //密碼設定
```

設定完後要重新啟動felix

